diff options
author | Michael Kruse <llvm@meinersbur.de> | 2015-06-22 18:07:42 +0000 |
---|---|---|
committer | Michael Kruse <llvm@meinersbur.de> | 2015-06-22 18:07:42 +0000 |
commit | 0c1c55345d73185e62ee23a37537ea9a3daac7b2 (patch) | |
tree | 69cd7c59b3b2a94797652a60c571067c307c901c | |
parent | 1c863ca3ea380b51a1c47e1f23589753a1a287c4 (diff) | |
download | bcm5719-llvm-0c1c55345d73185e62ee23a37537ea9a3daac7b2.tar.gz bcm5719-llvm-0c1c55345d73185e62ee23a37537ea9a3daac7b2.zip |
Replace repository version of ISL by 'make dist' output
The 'make dist' archive is not dependent on ./configure output and
contains a GIT_HEAD_ID file that identifies the version of ISL used.
None of the files added or removed are used part of Polly's build
process (except of GIT_HEAD_ID since the previous revision r240301). No
functional change intended.
llvm-svn: 240306
106 files changed, 49023 insertions, 26716 deletions
diff --git a/polly/lib/External/isl/.gitignore b/polly/lib/External/isl/.gitignore deleted file mode 100644 index 99a7db388e7..00000000000 --- a/polly/lib/External/isl/.gitignore +++ /dev/null @@ -1,55 +0,0 @@ -# ignore objects and archives -*.[oa] -*.lo -*.la - -.deps/ -.libs/ -Makefile -Makefile.in -aclocal.m4 -autom4te.cache/ -config.guess -isl_config.h -isl_config.h.in -isl_config.h.in~ -compile -config.log -config.status -config.sub -configure -depcomp -doc/Makefile -doc/Makefile.in -gitversion.h -include/isl/config.h -include/isl/stdint.h -include/stamp-h2 -include/isl/stamp-h2 -install-sh -isl-uninstalled.pc -isl-uninstalled.sh -isl.pc -isl.pc.in -isl_bound -isl_cat -isl_closure -isl_pip -isl_polyhedron_detect_equalities -isl_polyhedron_minimize -isl_polyhedron_sample -isl_polytope_scan -isl_test -libtool -ltmain.sh -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -missing -stamp-h1 -test-driver - -bound_test.sh -pip_test.sh diff --git a/polly/lib/External/isl/.gitmodules b/polly/lib/External/isl/.gitmodules deleted file mode 100644 index 90aadaf7301..00000000000 --- a/polly/lib/External/isl/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "imath"] - path = imath - url = https://github.com/creachadair/imath.git diff --git a/polly/lib/External/isl/GIT_HEAD_ID b/polly/lib/External/isl/GIT_HEAD_ID new file mode 100644 index 00000000000..a15c1578eea --- /dev/null +++ b/polly/lib/External/isl/GIT_HEAD_ID @@ -0,0 +1 @@ +isl-0.15-3-g532568a diff --git a/polly/lib/External/isl/Makefile.in b/polly/lib/External/isl/Makefile.in new file mode 100644 index 00000000000..2a4f7be065e --- /dev/null +++ b/polly/lib/External/isl/Makefile.in @@ -0,0 +1,2141 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + + + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +noinst_PROGRAMS = isl_test$(EXEEXT) isl_polyhedron_sample$(EXEEXT) \ + isl_pip$(EXEEXT) isl_polyhedron_minimize$(EXEEXT) \ + isl_polytope_scan$(EXEEXT) \ + isl_polyhedron_detect_equalities$(EXEEXT) isl_cat$(EXEEXT) \ + isl_closure$(EXEEXT) isl_bound$(EXEEXT) isl_codegen$(EXEEXT) \ + isl_test_int$(EXEEXT) $(am__EXEEXT_1) +TESTS = isl_test$(EXEEXT) codegen_test.sh pip_test.sh bound_test.sh \ + isl_test_int$(EXEEXT) $(am__EXEEXT_1) +@IMATH_FOR_MP_TRUE@am__append_1 = isl_test_imath +@IMATH_FOR_MP_TRUE@am__append_2 = isl_test_imath +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@am__append_3 = isl_int_sioimath.h \ +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@ isl_int_sioimath.c \ +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@ isl_val_sioimath.c + +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_FALSE@am__append_4 = isl_val_imath.c +subdir = . +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/isl_config.h.in $(srcdir)/bound_test.sh.in \ + $(srcdir)/codegen_test.sh.in $(srcdir)/pip_test.sh.in depcomp \ + $(deprecated_HEADERS) $(am__pkginclude_HEADERS_DIST) \ + test-driver AUTHORS ChangeLog README compile config.guess \ + config.sub install-sh missing ltmain.sh +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_c___attribute__.m4 \ + $(top_srcdir)/m4/ax_cc_maxopt.m4 \ + $(top_srcdir)/m4/ax_check_compiler_flags.m4 \ + $(top_srcdir)/m4/ax_compiler_vendor.m4 \ + $(top_srcdir)/m4/ax_create_pkgconfig_info.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_detect_git_head.m4 \ + $(top_srcdir)/m4/ax_detect_gmp.m4 \ + $(top_srcdir)/m4/ax_detect_imath.m4 \ + $(top_srcdir)/m4/ax_gcc_archflag.m4 \ + $(top_srcdir)/m4/ax_gcc_warn_unused_result.m4 \ + $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ + $(top_srcdir)/m4/ax_set_warning_flags.m4 \ + $(top_srcdir)/m4/ax_submodule.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = isl_config.h +CONFIG_CLEAN_FILES = bound_test.sh codegen_test.sh pip_test.sh +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ + "$(DESTDIR)$(deprecateddir)" "$(DESTDIR)$(pkgincludedir)" \ + "$(DESTDIR)$(pkgincludedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libisl_la_DEPENDENCIES = +am__libisl_la_SOURCES_DIST = mp_get_memory_functions.c isl_int_gmp.h \ + isl_gmp.c isl_val_gmp.c isl_hide_deprecated.h isl_imath.c \ + isl_imath.h isl_int_imath.h imath_wrap/gmp_compat.h \ + imath_wrap/imath.h imath_wrap/imrat.h imath_wrap/wrap.h \ + imath_wrap/gmp_compat.c imath_wrap/imath.c imath_wrap/imrat.c \ + isl_int_sioimath.h isl_int_sioimath.c isl_val_sioimath.c \ + isl_val_imath.c isl_ast_int.c isl_aff.c isl_aff_private.h \ + isl_affine_hull.c isl_arg.c isl_ast.c isl_ast_private.h \ + isl_ast_build.c isl_ast_build_private.h isl_ast_build_expr.c \ + isl_ast_build_expr.h isl_ast_codegen.c isl_ast_graft.c \ + isl_ast_graft_private.h isl_band.c isl_band_private.h \ + isl_basis_reduction.h basis_reduction_tab.c isl_bernstein.c \ + isl_bernstein.h isl_blk.c isl_blk.h isl_bound.c isl_bound.h \ + isl_coalesce.c isl_constraint.c isl_constraint_private.h \ + isl_convex_hull.c isl_ctx.c isl_ctx_private.h isl_deprecated.c \ + isl_dim_map.h isl_dim_map.c isl_equalities.c isl_equalities.h \ + isl_factorization.c isl_factorization.h isl_farkas.c \ + isl_flow.c isl_fold.c isl_hash.c isl_id_to_ast_expr.c \ + isl_id_to_pw_aff.c isl_ilp.c isl_ilp_private.h isl_input.c \ + isl_int.h isl_local_space_private.h isl_local_space.c isl_lp.c \ + isl_lp_private.h isl_map.c isl_map_list.c isl_map_simplify.c \ + isl_map_subtract.c isl_map_private.h isl_map_to_basic_set.c \ + isl_mat.c isl_mat_private.h isl_morph.c isl_morph.h isl_id.c \ + isl_id_private.h isl_obj.c isl_options.c isl_options_private.h \ + isl_output.c isl_point_private.h isl_point.c \ + isl_polynomial_private.h isl_polynomial.c \ + isl_printer_private.h isl_printer.c print.c isl_range.c \ + isl_range.h isl_reordering.c isl_reordering.h isl_sample.h \ + isl_sample.c isl_scan.c isl_scan.h isl_schedule.c \ + isl_schedule_band.c isl_schedule_band.h isl_schedule_node.c \ + isl_schedule_node_private.h isl_schedule_read.c \ + isl_schedule_tree.c isl_schedule_tree.h isl_schedule_private.h \ + isl_scheduler.c isl_set_list.c isl_sort.c isl_sort.h \ + isl_space.c isl_space_private.h isl_stream.c \ + isl_stream_private.h isl_seq.c isl_seq.h isl_tab.c isl_tab.h \ + isl_tab_pip.c isl_tarjan.c isl_tarjan.h \ + isl_transitive_closure.c isl_union_map.c \ + isl_union_map_private.h isl_val.c isl_val_private.h \ + isl_vec_private.h isl_vec.c isl_version.c \ + isl_vertices_private.h isl_vertices.c isl_yaml.h +@GMP_FOR_MP_TRUE@@NEED_GET_MEMORY_FUNCTIONS_TRUE@am__objects_1 = mp_get_memory_functions.lo +am__dirstamp = $(am__leading_dot)dirstamp +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@am__objects_2 = \ +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@ isl_int_sioimath.lo \ +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE@ isl_val_sioimath.lo +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_FALSE@am__objects_3 = \ +@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_FALSE@ isl_val_imath.lo +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@am__objects_4 = isl_imath.lo \ +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@ imath_wrap/gmp_compat.lo \ +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@ imath_wrap/imath.lo \ +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@ imath_wrap/imrat.lo \ +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@ $(am__objects_2) \ +@GMP_FOR_MP_FALSE@@IMATH_FOR_MP_TRUE@ $(am__objects_3) +@GMP_FOR_MP_TRUE@am__objects_4 = $(am__objects_1) isl_gmp.lo \ +@GMP_FOR_MP_TRUE@ isl_val_gmp.lo +@GMP_FOR_MP_TRUE@am__objects_5 = isl_ast_int.lo +am_libisl_la_OBJECTS = $(am__objects_4) $(am__objects_5) isl_aff.lo \ + isl_affine_hull.lo isl_arg.lo isl_ast.lo isl_ast_build.lo \ + isl_ast_build_expr.lo isl_ast_codegen.lo isl_ast_graft.lo \ + isl_band.lo basis_reduction_tab.lo isl_bernstein.lo isl_blk.lo \ + isl_bound.lo isl_coalesce.lo isl_constraint.lo \ + isl_convex_hull.lo isl_ctx.lo isl_deprecated.lo isl_dim_map.lo \ + isl_equalities.lo isl_factorization.lo isl_farkas.lo \ + isl_flow.lo isl_fold.lo isl_hash.lo isl_id_to_ast_expr.lo \ + isl_id_to_pw_aff.lo isl_ilp.lo isl_input.lo isl_local_space.lo \ + isl_lp.lo isl_map.lo isl_map_list.lo isl_map_simplify.lo \ + isl_map_subtract.lo isl_map_to_basic_set.lo isl_mat.lo \ + isl_morph.lo isl_id.lo isl_obj.lo isl_options.lo isl_output.lo \ + isl_point.lo isl_polynomial.lo isl_printer.lo print.lo \ + isl_range.lo isl_reordering.lo isl_sample.lo isl_scan.lo \ + isl_schedule.lo isl_schedule_band.lo isl_schedule_node.lo \ + isl_schedule_read.lo isl_schedule_tree.lo isl_scheduler.lo \ + isl_set_list.lo isl_sort.lo isl_space.lo isl_stream.lo \ + isl_seq.lo isl_tab.lo isl_tab_pip.lo isl_tarjan.lo \ + isl_transitive_closure.lo isl_union_map.lo isl_val.lo \ + isl_vec.lo isl_version.lo isl_vertices.lo +libisl_la_OBJECTS = $(am_libisl_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libisl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libisl_la_LDFLAGS) $(LDFLAGS) -o $@ +@IMATH_FOR_MP_TRUE@am__EXEEXT_1 = isl_test_imath$(EXEEXT) +PROGRAMS = $(noinst_PROGRAMS) +am_isl_bound_OBJECTS = bound.$(OBJEXT) +isl_bound_OBJECTS = $(am_isl_bound_OBJECTS) +isl_bound_DEPENDENCIES = libisl.la +isl_bound_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(isl_bound_LDFLAGS) $(LDFLAGS) -o $@ +am_isl_cat_OBJECTS = cat.$(OBJEXT) +isl_cat_OBJECTS = $(am_isl_cat_OBJECTS) +isl_cat_DEPENDENCIES = libisl.la +am_isl_closure_OBJECTS = closure.$(OBJEXT) +isl_closure_OBJECTS = $(am_isl_closure_OBJECTS) +isl_closure_DEPENDENCIES = libisl.la +am_isl_codegen_OBJECTS = codegen.$(OBJEXT) +isl_codegen_OBJECTS = $(am_isl_codegen_OBJECTS) +isl_codegen_DEPENDENCIES = libisl.la +isl_codegen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(isl_codegen_LDFLAGS) $(LDFLAGS) -o $@ +am_isl_pip_OBJECTS = pip.$(OBJEXT) +isl_pip_OBJECTS = $(am_isl_pip_OBJECTS) +isl_pip_DEPENDENCIES = libisl.la +isl_pip_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(isl_pip_LDFLAGS) $(LDFLAGS) -o $@ +am_isl_polyhedron_detect_equalities_OBJECTS = \ + polyhedron_detect_equalities.$(OBJEXT) +isl_polyhedron_detect_equalities_OBJECTS = \ + $(am_isl_polyhedron_detect_equalities_OBJECTS) +isl_polyhedron_detect_equalities_DEPENDENCIES = libisl.la +am_isl_polyhedron_minimize_OBJECTS = polyhedron_minimize.$(OBJEXT) +isl_polyhedron_minimize_OBJECTS = \ + $(am_isl_polyhedron_minimize_OBJECTS) +isl_polyhedron_minimize_DEPENDENCIES = libisl.la +isl_polyhedron_minimize_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(isl_polyhedron_minimize_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_isl_polyhedron_sample_OBJECTS = polyhedron_sample.$(OBJEXT) +isl_polyhedron_sample_OBJECTS = $(am_isl_polyhedron_sample_OBJECTS) +isl_polyhedron_sample_DEPENDENCIES = libisl.la +am_isl_polytope_scan_OBJECTS = polytope_scan.$(OBJEXT) +isl_polytope_scan_OBJECTS = $(am_isl_polytope_scan_OBJECTS) +isl_polytope_scan_DEPENDENCIES = libisl.la +isl_test_SOURCES = isl_test.c +isl_test_OBJECTS = isl_test.$(OBJEXT) +isl_test_DEPENDENCIES = libisl.la +isl_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(isl_test_LDFLAGS) $(LDFLAGS) -o $@ +isl_test_imath_SOURCES = isl_test_imath.c +isl_test_imath_OBJECTS = isl_test_imath.$(OBJEXT) +@IMATH_FOR_MP_TRUE@isl_test_imath_DEPENDENCIES = libisl.la +isl_test_imath_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(isl_test_imath_LDFLAGS) $(LDFLAGS) -o \ + $@ +isl_test_int_SOURCES = isl_test_int.c +isl_test_int_OBJECTS = isl_test_int.$(OBJEXT) +isl_test_int_DEPENDENCIES = libisl.la +isl_test_int_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(isl_test_int_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libisl_la_SOURCES) $(isl_bound_SOURCES) $(isl_cat_SOURCES) \ + $(isl_closure_SOURCES) $(isl_codegen_SOURCES) \ + $(isl_pip_SOURCES) $(isl_polyhedron_detect_equalities_SOURCES) \ + $(isl_polyhedron_minimize_SOURCES) \ + $(isl_polyhedron_sample_SOURCES) $(isl_polytope_scan_SOURCES) \ + isl_test.c isl_test_imath.c isl_test_int.c +DIST_SOURCES = $(am__libisl_la_SOURCES_DIST) $(isl_bound_SOURCES) \ + $(isl_cat_SOURCES) $(isl_closure_SOURCES) \ + $(isl_codegen_SOURCES) $(isl_pip_SOURCES) \ + $(isl_polyhedron_detect_equalities_SOURCES) \ + $(isl_polyhedron_minimize_SOURCES) \ + $(isl_polyhedron_sample_SOURCES) $(isl_polytope_scan_SOURCES) \ + isl_test.c isl_test_imath.c isl_test_int.c +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(pkgconfig_DATA) +am__pkginclude_HEADERS_DIST = include/isl/val_gmp.h include/isl/aff.h \ + include/isl/aff_type.h include/isl/arg.h include/isl/ast.h \ + include/isl/ast_type.h include/isl/ast_build.h \ + include/isl/band.h include/isl/constraint.h include/isl/ctx.h \ + include/isl/flow.h include/isl/id.h \ + include/isl/id_to_ast_expr.h include/isl/id_to_pw_aff.h \ + include/isl/ilp.h include/isl/hash.h include/isl/hmap.h \ + include/isl/list.h include/isl/local_space.h include/isl/lp.h \ + include/isl/mat.h include/isl/map.h \ + include/isl/map_to_basic_set.h include/isl/map_type.h \ + include/isl/multi.h include/isl/obj.h include/isl/options.h \ + include/isl/point.h include/isl/polynomial.h \ + include/isl/polynomial_type.h include/isl/printer.h \ + include/isl/schedule.h include/isl/schedule_node.h \ + include/isl/schedule_type.h include/isl/set.h \ + include/isl/set_type.h include/isl/space.h \ + include/isl/stream.h include/isl/union_map.h \ + include/isl/union_map_type.h include/isl/union_set.h \ + include/isl/union_set_type.h include/isl/val.h \ + include/isl/vec.h include/isl/version.h include/isl/vertices.h +HEADERS = $(deprecated_HEADERS) $(nodist_pkginclude_HEADERS) \ + $(pkginclude_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope check recheck distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)isl_config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red='[0;31m'; \ + grn='[0;32m'; \ + lgn='[1;32m'; \ + blu='[1;34m'; \ + mgn='[0;35m'; \ + brg='[1m'; \ + std='[m'; \ + fi; \ +} +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLANG_CXXFLAGS = @CLANG_CXXFLAGS@ +CLANG_LDFLAGS = @CLANG_LDFLAGS@ +CLANG_LIBS = @CLANG_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GIT_HEAD = @GIT_HEAD@ +GIT_HEAD_ID = @GIT_HEAD_ID@ +GIT_HEAD_VERSION = @GIT_HEAD_VERSION@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_CLANG_EDIT = @LIB_CLANG_EDIT@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MP_CPPFLAGS = @MP_CPPFLAGS@ +MP_LDFLAGS = @MP_LDFLAGS@ +MP_LIBS = @MP_LIBS@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PERL = @PERL@ +POD2HTML = @POD2HTML@ +PRTDIAG = @PRTDIAG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WARNING_FLAGS = @WARNING_FLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +llvm_config_found = @llvm_config_found@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfig_libdir = @pkgconfig_libdir@ +pkgconfig_libfile = @pkgconfig_libfile@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +versioninfo = @versioninfo@ +@HAVE_CLANG_TRUE@MAYBE_INTERFACE = interface +SUBDIRS = . $(MAYBE_INTERFACE) doc +DIST_SUBDIRS = $(MAYBE_INTERFACE) doc +ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = nostdinc subdir-objects +lib_LTLIBRARIES = libisl.la +@GMP_FOR_MP_TRUE@MP_SRC = \ +@GMP_FOR_MP_TRUE@ $(GET_MEMORY_FUNCTIONS) \ +@GMP_FOR_MP_TRUE@ isl_int_gmp.h \ +@GMP_FOR_MP_TRUE@ isl_gmp.c \ +@GMP_FOR_MP_TRUE@ isl_val_gmp.c + +@IMATH_FOR_MP_TRUE@MP_SRC = isl_hide_deprecated.h isl_imath.c \ +@IMATH_FOR_MP_TRUE@ isl_imath.h isl_int_imath.h \ +@IMATH_FOR_MP_TRUE@ imath_wrap/gmp_compat.h imath_wrap/imath.h \ +@IMATH_FOR_MP_TRUE@ imath_wrap/imrat.h imath_wrap/wrap.h \ +@IMATH_FOR_MP_TRUE@ imath_wrap/gmp_compat.c imath_wrap/imath.c \ +@IMATH_FOR_MP_TRUE@ imath_wrap/imrat.c $(am__append_3) \ +@IMATH_FOR_MP_TRUE@ $(am__append_4) +@GMP_FOR_MP_TRUE@DEPRECATED_SRC = isl_ast_int.c +@IMATH_FOR_MP_TRUE@DEPRECATED_SRC = +@GMP_FOR_MP_TRUE@MP_INCLUDE_H = include/isl/val_gmp.h +@IMATH_FOR_MP_TRUE@MP_INCLUDE_H = +@GMP_FOR_MP_TRUE@@NEED_GET_MEMORY_FUNCTIONS_TRUE@GET_MEMORY_FUNCTIONS = mp_get_memory_functions.c +AM_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/include -Iinclude/ @MP_CPPFLAGS@ +AM_CFLAGS = @WARNING_FLAGS@ +libisl_la_SOURCES = \ + $(MP_SRC) \ + $(DEPRECATED_SRC) \ + isl_aff.c \ + isl_aff_private.h \ + isl_affine_hull.c \ + isl_arg.c \ + isl_ast.c \ + isl_ast_private.h \ + isl_ast_build.c \ + isl_ast_build_private.h \ + isl_ast_build_expr.c \ + isl_ast_build_expr.h \ + isl_ast_codegen.c \ + isl_ast_graft.c \ + isl_ast_graft_private.h \ + isl_band.c \ + isl_band_private.h \ + isl_basis_reduction.h \ + basis_reduction_tab.c \ + isl_bernstein.c \ + isl_bernstein.h \ + isl_blk.c \ + isl_blk.h \ + isl_bound.c \ + isl_bound.h \ + isl_coalesce.c \ + isl_constraint.c \ + isl_constraint_private.h \ + isl_convex_hull.c \ + isl_ctx.c \ + isl_ctx_private.h \ + isl_deprecated.c \ + isl_dim_map.h \ + isl_dim_map.c \ + isl_equalities.c \ + isl_equalities.h \ + isl_factorization.c \ + isl_factorization.h \ + isl_farkas.c \ + isl_flow.c \ + isl_fold.c \ + isl_hash.c \ + isl_id_to_ast_expr.c \ + isl_id_to_pw_aff.c \ + isl_ilp.c \ + isl_ilp_private.h \ + isl_input.c \ + isl_int.h \ + isl_local_space_private.h \ + isl_local_space.c \ + isl_lp.c \ + isl_lp_private.h \ + isl_map.c \ + isl_map_list.c \ + isl_map_simplify.c \ + isl_map_subtract.c \ + isl_map_private.h \ + isl_map_to_basic_set.c \ + isl_mat.c \ + isl_mat_private.h \ + isl_morph.c \ + isl_morph.h \ + isl_id.c \ + isl_id_private.h \ + isl_obj.c \ + isl_options.c \ + isl_options_private.h \ + isl_output.c \ + isl_point_private.h \ + isl_point.c \ + isl_polynomial_private.h \ + isl_polynomial.c \ + isl_printer_private.h \ + isl_printer.c \ + print.c \ + isl_range.c \ + isl_range.h \ + isl_reordering.c \ + isl_reordering.h \ + isl_sample.h \ + isl_sample.c \ + isl_scan.c \ + isl_scan.h \ + isl_schedule.c \ + isl_schedule_band.c \ + isl_schedule_band.h \ + isl_schedule_node.c \ + isl_schedule_node_private.h \ + isl_schedule_read.c \ + isl_schedule_tree.c \ + isl_schedule_tree.h \ + isl_schedule_private.h \ + isl_scheduler.c \ + isl_set_list.c \ + isl_sort.c \ + isl_sort.h \ + isl_space.c \ + isl_space_private.h \ + isl_stream.c \ + isl_stream_private.h \ + isl_seq.c \ + isl_seq.h \ + isl_tab.c \ + isl_tab.h \ + isl_tab_pip.c \ + isl_tarjan.c \ + isl_tarjan.h \ + isl_transitive_closure.c \ + isl_union_map.c \ + isl_union_map_private.h \ + isl_val.c \ + isl_val_private.h \ + isl_vec_private.h \ + isl_vec.c \ + isl_version.c \ + isl_vertices_private.h \ + isl_vertices.c \ + isl_yaml.h + +libisl_la_LIBADD = @MP_LIBS@ +libisl_la_LDFLAGS = -version-info @versioninfo@ \ + @MP_LDFLAGS@ + +isl_test_LDFLAGS = @MP_LDFLAGS@ +isl_test_LDADD = libisl.la @MP_LIBS@ +isl_test_int_LDFLAGS = @MP_LDFLAGS@ +isl_test_int_LDADD = libisl.la @MP_LIBS@ +@IMATH_FOR_MP_TRUE@isl_test_imath_LDFLAGS = @MP_LDFLAGS@ +@IMATH_FOR_MP_TRUE@isl_test_imath_LDADD = libisl.la @MP_LIBS@ +isl_polyhedron_sample_LDADD = libisl.la +isl_polyhedron_sample_SOURCES = \ + polyhedron_sample.c + +isl_pip_LDFLAGS = @MP_LDFLAGS@ +isl_pip_LDADD = libisl.la @MP_LIBS@ +isl_pip_SOURCES = \ + pip.c + +isl_codegen_LDFLAGS = @MP_LDFLAGS@ +isl_codegen_LDADD = libisl.la @MP_LIBS@ +isl_codegen_SOURCES = \ + codegen.c + +isl_bound_LDFLAGS = @MP_LDFLAGS@ +isl_bound_LDADD = libisl.la @MP_LIBS@ +isl_bound_SOURCES = \ + bound.c + +isl_polyhedron_minimize_LDFLAGS = @MP_LDFLAGS@ +isl_polyhedron_minimize_LDADD = libisl.la @MP_LIBS@ +isl_polyhedron_minimize_SOURCES = \ + polyhedron_minimize.c + +isl_polytope_scan_LDADD = libisl.la +isl_polytope_scan_SOURCES = \ + polytope_scan.c + +isl_polyhedron_detect_equalities_LDADD = libisl.la +isl_polyhedron_detect_equalities_SOURCES = \ + polyhedron_detect_equalities.c + +isl_cat_LDADD = libisl.la +isl_cat_SOURCES = \ + cat.c + +isl_closure_LDADD = libisl.la +isl_closure_SOURCES = \ + closure.c + +nodist_pkginclude_HEADERS = \ + include/isl/stdint.h + +pkginclude_HEADERS = \ + $(MP_INCLUDE_H) \ + include/isl/aff.h \ + include/isl/aff_type.h \ + include/isl/arg.h \ + include/isl/ast.h \ + include/isl/ast_type.h \ + include/isl/ast_build.h \ + include/isl/band.h \ + include/isl/constraint.h \ + include/isl/ctx.h \ + include/isl/flow.h \ + include/isl/id.h \ + include/isl/id_to_ast_expr.h \ + include/isl/id_to_pw_aff.h \ + include/isl/ilp.h \ + include/isl/hash.h \ + include/isl/hmap.h \ + include/isl/list.h \ + include/isl/local_space.h \ + include/isl/lp.h \ + include/isl/mat.h \ + include/isl/map.h \ + include/isl/map_to_basic_set.h \ + include/isl/map_type.h \ + include/isl/multi.h \ + include/isl/obj.h \ + include/isl/options.h \ + include/isl/point.h \ + include/isl/polynomial.h \ + include/isl/polynomial_type.h \ + include/isl/printer.h \ + include/isl/schedule.h \ + include/isl/schedule_node.h \ + include/isl/schedule_type.h \ + include/isl/set.h \ + include/isl/set_type.h \ + include/isl/space.h \ + include/isl/stream.h \ + include/isl/union_map.h \ + include/isl/union_map_type.h \ + include/isl/union_set.h \ + include/isl/union_set_type.h \ + include/isl/val.h \ + include/isl/vec.h \ + include/isl/version.h \ + include/isl/vertices.h + +deprecateddir = $(pkgincludedir)/deprecated +deprecated_HEADERS = \ + include/isl/deprecated/int.h \ + include/isl/deprecated/aff_int.h \ + include/isl/deprecated/ast_int.h \ + include/isl/deprecated/constraint_int.h \ + include/isl/deprecated/ilp_int.h \ + include/isl/deprecated/map_int.h \ + include/isl/deprecated/mat_int.h \ + include/isl/deprecated/point_int.h \ + include/isl/deprecated/polynomial_int.h \ + include/isl/deprecated/set_int.h \ + include/isl/deprecated/union_map_int.h \ + include/isl/deprecated/val_int.h \ + include/isl/deprecated/vec_int.h + +EXTRA_DIST = \ + LICENSE \ + isl_config_post.h \ + basis_reduction_templ.c \ + isl_hmap_templ.c \ + isl_list_templ.c \ + isl_list_templ.h \ + isl_map_lexopt_templ.c \ + isl_multi_macro.h \ + isl_multi_templ.c \ + isl_multi_templ.h \ + isl_multi_apply_templ.c \ + isl_multi_apply_set.c \ + isl_multi_apply_union_set.c \ + isl_multi_floor.c \ + isl_multi_gist.c \ + isl_multi_intersect.c \ + print_templ.c \ + isl_power_templ.c \ + isl_pw_templ.c \ + isl_union_templ.c \ + isl.py \ + doc/CodingStyle \ + doc/SubmittingPatches \ + doc/chicago.bst \ + doc/chicago.sty \ + doc/implementation.tex \ + doc/isl.bib \ + doc/mypod2latex \ + doc/manual.tex \ + doc/user.pod \ + imath/gmp_compat.c \ + imath/gmp_compat.h \ + imath/imath.c \ + imath/imath.h \ + imath/imrat.c \ + imath/imrat.h \ + interface/all.h \ + interface/isl.py.top \ + test_inputs + +pkgconfigdir = $(pkgconfig_libdir) +pkgconfig_DATA = $(pkgconfig_libfile) +all: isl_config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +isl_config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/isl_config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status isl_config.h +$(srcdir)/isl_config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f isl_config.h stamp-h1 +bound_test.sh: $(top_builddir)/config.status $(srcdir)/bound_test.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +codegen_test.sh: $(top_builddir)/config.status $(srcdir)/codegen_test.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +pip_test.sh: $(top_builddir)/config.status $(srcdir)/pip_test.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +imath_wrap/$(am__dirstamp): + @$(MKDIR_P) imath_wrap + @: > imath_wrap/$(am__dirstamp) +imath_wrap/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) imath_wrap/$(DEPDIR) + @: > imath_wrap/$(DEPDIR)/$(am__dirstamp) +imath_wrap/gmp_compat.lo: imath_wrap/$(am__dirstamp) \ + imath_wrap/$(DEPDIR)/$(am__dirstamp) +imath_wrap/imath.lo: imath_wrap/$(am__dirstamp) \ + imath_wrap/$(DEPDIR)/$(am__dirstamp) +imath_wrap/imrat.lo: imath_wrap/$(am__dirstamp) \ + imath_wrap/$(DEPDIR)/$(am__dirstamp) + +libisl.la: $(libisl_la_OBJECTS) $(libisl_la_DEPENDENCIES) $(EXTRA_libisl_la_DEPENDENCIES) + $(AM_V_CCLD)$(libisl_la_LINK) -rpath $(libdir) $(libisl_la_OBJECTS) $(libisl_la_LIBADD) $(LIBS) + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +isl_bound$(EXEEXT): $(isl_bound_OBJECTS) $(isl_bound_DEPENDENCIES) $(EXTRA_isl_bound_DEPENDENCIES) + @rm -f isl_bound$(EXEEXT) + $(AM_V_CCLD)$(isl_bound_LINK) $(isl_bound_OBJECTS) $(isl_bound_LDADD) $(LIBS) + +isl_cat$(EXEEXT): $(isl_cat_OBJECTS) $(isl_cat_DEPENDENCIES) $(EXTRA_isl_cat_DEPENDENCIES) + @rm -f isl_cat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isl_cat_OBJECTS) $(isl_cat_LDADD) $(LIBS) + +isl_closure$(EXEEXT): $(isl_closure_OBJECTS) $(isl_closure_DEPENDENCIES) $(EXTRA_isl_closure_DEPENDENCIES) + @rm -f isl_closure$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isl_closure_OBJECTS) $(isl_closure_LDADD) $(LIBS) + +isl_codegen$(EXEEXT): $(isl_codegen_OBJECTS) $(isl_codegen_DEPENDENCIES) $(EXTRA_isl_codegen_DEPENDENCIES) + @rm -f isl_codegen$(EXEEXT) + $(AM_V_CCLD)$(isl_codegen_LINK) $(isl_codegen_OBJECTS) $(isl_codegen_LDADD) $(LIBS) + +isl_pip$(EXEEXT): $(isl_pip_OBJECTS) $(isl_pip_DEPENDENCIES) $(EXTRA_isl_pip_DEPENDENCIES) + @rm -f isl_pip$(EXEEXT) + $(AM_V_CCLD)$(isl_pip_LINK) $(isl_pip_OBJECTS) $(isl_pip_LDADD) $(LIBS) + +isl_polyhedron_detect_equalities$(EXEEXT): $(isl_polyhedron_detect_equalities_OBJECTS) $(isl_polyhedron_detect_equalities_DEPENDENCIES) $(EXTRA_isl_polyhedron_detect_equalities_DEPENDENCIES) + @rm -f isl_polyhedron_detect_equalities$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isl_polyhedron_detect_equalities_OBJECTS) $(isl_polyhedron_detect_equalities_LDADD) $(LIBS) + +isl_polyhedron_minimize$(EXEEXT): $(isl_polyhedron_minimize_OBJECTS) $(isl_polyhedron_minimize_DEPENDENCIES) $(EXTRA_isl_polyhedron_minimize_DEPENDENCIES) + @rm -f isl_polyhedron_minimize$(EXEEXT) + $(AM_V_CCLD)$(isl_polyhedron_minimize_LINK) $(isl_polyhedron_minimize_OBJECTS) $(isl_polyhedron_minimize_LDADD) $(LIBS) + +isl_polyhedron_sample$(EXEEXT): $(isl_polyhedron_sample_OBJECTS) $(isl_polyhedron_sample_DEPENDENCIES) $(EXTRA_isl_polyhedron_sample_DEPENDENCIES) + @rm -f isl_polyhedron_sample$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isl_polyhedron_sample_OBJECTS) $(isl_polyhedron_sample_LDADD) $(LIBS) + +isl_polytope_scan$(EXEEXT): $(isl_polytope_scan_OBJECTS) $(isl_polytope_scan_DEPENDENCIES) $(EXTRA_isl_polytope_scan_DEPENDENCIES) + @rm -f isl_polytope_scan$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(isl_polytope_scan_OBJECTS) $(isl_polytope_scan_LDADD) $(LIBS) + +isl_test$(EXEEXT): $(isl_test_OBJECTS) $(isl_test_DEPENDENCIES) $(EXTRA_isl_test_DEPENDENCIES) + @rm -f isl_test$(EXEEXT) + $(AM_V_CCLD)$(isl_test_LINK) $(isl_test_OBJECTS) $(isl_test_LDADD) $(LIBS) + +isl_test_imath$(EXEEXT): $(isl_test_imath_OBJECTS) $(isl_test_imath_DEPENDENCIES) $(EXTRA_isl_test_imath_DEPENDENCIES) + @rm -f isl_test_imath$(EXEEXT) + $(AM_V_CCLD)$(isl_test_imath_LINK) $(isl_test_imath_OBJECTS) $(isl_test_imath_LDADD) $(LIBS) + +isl_test_int$(EXEEXT): $(isl_test_int_OBJECTS) $(isl_test_int_DEPENDENCIES) $(EXTRA_isl_test_int_DEPENDENCIES) + @rm -f isl_test_int$(EXEEXT) + $(AM_V_CCLD)$(isl_test_int_LINK) $(isl_test_int_OBJECTS) $(isl_test_int_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f imath_wrap/*.$(OBJEXT) + -rm -f imath_wrap/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basis_reduction_tab.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bound.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closure.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codegen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_aff.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_affine_hull.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_arg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast_build.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast_build_expr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast_codegen.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast_graft.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ast_int.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_band.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_bernstein.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_blk.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_bound.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_coalesce.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_constraint.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_convex_hull.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ctx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_deprecated.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_dim_map.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_equalities.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_factorization.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_farkas.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_flow.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_fold.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_gmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_hash.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_id.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_id_to_ast_expr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_id_to_pw_aff.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_ilp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_imath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_input.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_int_sioimath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_local_space.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_lp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_map.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_map_list.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_map_simplify.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_map_subtract.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_map_to_basic_set.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_mat.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_morph.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_obj.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_options.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_output.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_point.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_polynomial.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_printer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_range.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_reordering.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_sample.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_scan.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_schedule.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_schedule_band.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_schedule_node.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_schedule_read.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_schedule_tree.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_scheduler.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_seq.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_set_list.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_sort.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_space.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_stream.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_tab.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_tab_pip.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_tarjan.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_test_imath.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_test_int.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_transitive_closure.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_union_map.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_val.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_val_gmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_val_imath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_val_sioimath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_vec.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_version.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isl_vertices.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mp_get_memory_functions.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pip.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polyhedron_detect_equalities.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polyhedron_minimize.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polyhedron_sample.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polytope_scan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@imath_wrap/$(DEPDIR)/gmp_compat.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@imath_wrap/$(DEPDIR)/imath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@imath_wrap/$(DEPDIR)/imrat.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf imath_wrap/.libs imath_wrap/_libs + +distclean-libtool: + -rm -f libtool config.lt +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) +install-deprecatedHEADERS: $(deprecated_HEADERS) + @$(NORMAL_INSTALL) + @list='$(deprecated_HEADERS)'; test -n "$(deprecateddir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(deprecateddir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(deprecateddir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(deprecateddir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(deprecateddir)" || exit $$?; \ + done + +uninstall-deprecatedHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(deprecated_HEADERS)'; test -n "$(deprecateddir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(deprecateddir)'; $(am__uninstall_files_from_dir) +install-nodist_pkgincludeHEADERS: $(nodist_pkginclude_HEADERS) + @$(NORMAL_INSTALL) + @list='$(nodist_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \ + done + +uninstall-nodist_pkgincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir) +install-pkgincludeHEADERS: $(pkginclude_HEADERS) + @$(NORMAL_INSTALL) + @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \ + done + +uninstall-pkgincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + else \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +isl_test.log: isl_test$(EXEEXT) + @p='isl_test$(EXEEXT)'; \ + b='isl_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +codegen_test.sh.log: codegen_test.sh + @p='codegen_test.sh'; \ + b='codegen_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +pip_test.sh.log: pip_test.sh + @p='pip_test.sh'; \ + b='pip_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +bound_test.sh.log: bound_test.sh + @p='bound_test.sh'; \ + b='bound_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +isl_test_int.log: isl_test_int$(EXEEXT) + @p='isl_test_int$(EXEEXT)'; \ + b='isl_test_int'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +isl_test_imath.log: isl_test_imath$(EXEEXT) + @p='isl_test_imath$(EXEEXT)'; \ + b='isl_test_imath'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-recursive +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \ + isl_config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(deprecateddir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f imath_wrap/$(DEPDIR)/$(am__dirstamp) + -rm -f imath_wrap/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) imath_wrap/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-data-local install-deprecatedHEADERS \ + install-nodist_pkgincludeHEADERS install-pkgconfigDATA \ + install-pkgincludeHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) imath_wrap/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-deprecatedHEADERS uninstall-libLTLIBRARIES \ + uninstall-nodist_pkgincludeHEADERS uninstall-pkgconfigDATA \ + uninstall-pkgincludeHEADERS + +.MAKE: $(am__recursive_targets) all check-am install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-TESTS check-am clean clean-cscope \ + clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ + dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-deprecatedHEADERS install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man \ + install-nodist_pkgincludeHEADERS install-pdf install-pdf-am \ + install-pkgconfigDATA install-pkgincludeHEADERS install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + recheck tags tags-am uninstall uninstall-am \ + uninstall-deprecatedHEADERS uninstall-libLTLIBRARIES \ + uninstall-nodist_pkgincludeHEADERS uninstall-pkgconfigDATA \ + uninstall-pkgincludeHEADERS + + +dist-hook: + echo @GIT_HEAD_VERSION@ > $(distdir)/GIT_HEAD_ID + (cd doc; make manual.pdf) + cp doc/manual.pdf $(distdir)/doc/ + +gitversion.h: @GIT_HEAD@ + $(AM_V_GEN)echo '#define GIT_HEAD_ID "'@GIT_HEAD_VERSION@'"' > $@ + +install-data-local: $(srcdir)/isl.py + @libisl=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ + $(builddir)/libisl.la`; \ + case $$libisl in \ + '') echo Cannot find isl library name. GDB bindings not installed.;; \ + *) echo $(INSTALL_DATA) $(srcdir)/isl.py \ + $(DESTDIR)$(libdir)/$$libisl-gdb.py; \ + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \ + $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/polly/lib/External/isl/aclocal.m4 b/polly/lib/External/isl/aclocal.m4 new file mode 100644 index 00000000000..95dbd75115a --- /dev/null +++ b/polly/lib/External/isl/aclocal.m4 @@ -0,0 +1,1169 @@ +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.14' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.14.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.14.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar <conftest.tar]) + AM_RUN_LOG([cat conftest.dir/file]) + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/ax_c___attribute__.m4]) +m4_include([m4/ax_cc_maxopt.m4]) +m4_include([m4/ax_check_compiler_flags.m4]) +m4_include([m4/ax_compiler_vendor.m4]) +m4_include([m4/ax_create_pkgconfig_info.m4]) +m4_include([m4/ax_create_stdint_h.m4]) +m4_include([m4/ax_detect_git_head.m4]) +m4_include([m4/ax_detect_gmp.m4]) +m4_include([m4/ax_detect_imath.m4]) +m4_include([m4/ax_gcc_archflag.m4]) +m4_include([m4/ax_gcc_warn_unused_result.m4]) +m4_include([m4/ax_gcc_x86_cpuid.m4]) +m4_include([m4/ax_set_warning_flags.m4]) +m4_include([m4/ax_submodule.m4]) +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) diff --git a/polly/lib/External/isl/autogen.sh b/polly/lib/External/isl/autogen.sh deleted file mode 100755 index 68f4a174b46..00000000000 --- a/polly/lib/External/isl/autogen.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -autoreconf -i diff --git a/polly/lib/External/isl/codegen_test.sh b/polly/lib/External/isl/codegen_test.sh deleted file mode 100644 index fbb55d2c573..00000000000 --- a/polly/lib/External/isl/codegen_test.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -EXEEXT= -srcdir=. - -failed=0 - -for i in $srcdir/test_inputs/codegen/*.st \ - $srcdir/test_inputs/codegen/cloog/*.st; do - echo $i; - base=`basename $i .st` - test=test-$base.c - dir=`dirname $i` - ref=$dir/$base.c - (./isl_codegen$EXEEXT < $i > $test && - diff -uw $ref $test && rm $test) || failed=1 -done -for i in $srcdir/test_inputs/codegen/*.in \ - $srcdir/test_inputs/codegen/omega/*.in \ - $srcdir/test_inputs/codegen/pldi2012/*.in; do - echo $i; - base=`basename $i .in` - test=test-$base.c - dir=`dirname $i` - ref=$dir/$base.c - (./isl_codegen$EXEEXT < $i > $test && - diff -uw $ref $test && rm $test) || failed=1 -done - -test $failed -eq 0 || exit diff --git a/polly/lib/External/isl/compile b/polly/lib/External/isl/compile new file mode 100644 index 00000000000..531136b068e --- /dev/null +++ b/polly/lib/External/isl/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Written by Tom Tromey <tromey@cygnus.com>. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/polly/lib/External/isl/config.guess b/polly/lib/External/isl/config.guess new file mode 100644 index 00000000000..1f5c50c0d15 --- /dev/null +++ b/polly/lib/External/isl/config.guess @@ -0,0 +1,1420 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2014 Free Software Foundation, Inc. + +timestamp='2014-03-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <http://www.gnu.org/licenses/>. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2014 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include <features.h> + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include <stdio.h> /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <sys/systemcfg.h> + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include <stdlib.h> + #include <unistd.h> + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <unistd.h> + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL + elif /bin/uname -X 2>/dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says <Richard.M.Bartel@ccMail.Census.GOV> + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes <hewes@openmarket.com>. + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +cat >&2 <<EOF +$0: unable to guess system type + +This script, last modified $timestamp, has failed to recognize +the operating system you are using. It is advised that you +download the most up to date version of the config scripts from + + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +and + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +If the version you run ($0) is already up to date, please +send the following data and any information you think might be +pertinent to <config-patches@gnu.org> in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/polly/lib/External/isl/config.sub b/polly/lib/External/isl/config.sub new file mode 100644 index 00000000000..bba4efb8057 --- /dev/null +++ b/polly/lib/External/isl/config.sub @@ -0,0 +1,1799 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2014 Free Software Foundation, Inc. + +timestamp='2014-09-11' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <http://www.gnu.org/licenses/>. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2014 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/polly/lib/External/isl/configure b/polly/lib/External/isl/configure new file mode 100644 index 00000000000..8d053430558 --- /dev/null +++ b/polly/lib/External/isl/configure @@ -0,0 +1,21714 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for isl 0.15. +# +# Report bugs to <isl-development@googlegroups.com>. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: isl-development@googlegroups.com about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='isl' +PACKAGE_TARNAME='isl' +PACKAGE_VERSION='0.15' +PACKAGE_STRING='isl 0.15' +PACKAGE_BUGREPORT='isl-development@googlegroups.com' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +GIT_HEAD_VERSION +GIT_HEAD +GIT_HEAD_ID +pkgconfig_libfile +pkgconfig_libdir +WARNING_FLAGS +HAVE_CLANG_FALSE +HAVE_CLANG_TRUE +LIB_CLANG_EDIT +llvm_config_found +CLANG_LIBS +CLANG_LDFLAGS +CLANG_CXXFLAGS +SMALL_INT_OPT_FALSE +SMALL_INT_OPT_TRUE +GMP_FOR_MP_FALSE +GMP_FOR_MP_TRUE +IMATH_FOR_MP_FALSE +IMATH_FOR_MP_TRUE +NEED_GET_MEMORY_FUNCTIONS_FALSE +NEED_GET_MEMORY_FUNCTIONS_TRUE +MP_LIBS +MP_LDFLAGS +MP_CPPFLAGS +GENERATE_DOC_FALSE +GENERATE_DOC_TRUE +POD2HTML +PDFLATEX +PERL +CXXCPP +CPP +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +LIBTOOL +PRTDIAG +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +versioninfo +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_portable_binary +with_gcc_arch +enable_shared +enable_static +with_pic +enable_fast_install +with_gnu_ld +with_sysroot +enable_libtool_lock +with_int +with_gmp +with_gmp_prefix +with_gmp_exec_prefix +with_gmp_builddir +with_clang +with_clang_prefix +with_clang_exec_prefix +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CPP +CXXCPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures isl 0.15 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/isl] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of isl 0.15:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-portable-binary + disable compiler optimizations that would produce + unportable binaries + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune, + instead of guessing + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot=DIR Search for dependent libraries within DIR + (or the compiler's sysroot if not specified). + --with-int=gmp|imath|imath-32 + Which package to use to represent multi-precision + integers [default=gmp] + --with-gmp=system|build Which gmp to use [default=system] + --with-gmp-prefix=DIR Prefix of gmp installation + --with-gmp-exec-prefix=DIR + Exec prefix of gmp installation + --with-gmp-builddir=DIR Location of gmp builddir + --with-clang=system|no Which clang to use [default=no] + --with-clang-prefix=DIR Prefix of clang installation + --with-clang-exec-prefix=DIR + Exec prefix of clang installation + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CPP C preprocessor + CXXCPP C++ preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to <isl-development@googlegroups.com>. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +isl configure 0.15 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 <conftest.val; ac_retval=0 +else + ac_retval=1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f conftest.val + + fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_compute_int + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------------------- ## +## Report this to isl-development@googlegroups.com ## +## ----------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl + +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_cxx_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------------------- ## +## Report this to isl-development@googlegroups.com ## +## ----------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_header_mongrel +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by isl $as_me 0.15, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_aux_dir= +for ac_dir in . "$srcdir"/.; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in . \"$srcdir\"/." "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version='1.14' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='isl' + VERSION='0.15' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + +versioninfo=15:0:0 + +if test "x$prefix" != "xNONE"; then + prefix_wd=`cd $prefix && pwd` + srcdir_wd=`cd $srcdir && pwd` + wd=`pwd` + if test "x$prefix_wd" = "x$srcdir_wd"; then + as_fn_error $? "Installation in source directory not supported" "$LINENO" 5 + fi + if test "x$prefix_wd" = "x$wd"; then + as_fn_error $? "Installation in build directory not supported" "$LINENO" 5 + fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5 +$as_echo_n "checking for C compiler vendor... " >&6; } +if ${ax_cv_c_compiler_vendor+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_c_compiler_vendor=unknown + # note: don't check for gcc first since some other compilers define __GNUC__ + for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ pathscale:__PATHCC__,__PATHSCALE__ clang:__clang__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do + vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#if !($vencpp) + thisisanerror; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_c_compiler_vendor=`echo $ventest | cut -d: -f1`; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5 +$as_echo "$ax_cv_c_compiler_vendor" >&6; } + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + +# Check whether --enable-portable-binary was given. +if test "${enable_portable_binary+set}" = set; then : + enableval=$enable_portable_binary; acx_maxopt_portable=$withval +else + acx_maxopt_portable=no +fi + + +# Try to determine "good" native compiler flags if none specified via CFLAGS +if test "$ac_test_CFLAGS" != "set"; then + CFLAGS="" + case $ax_cv_c_compiler_vendor in + dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" + if test "x$acx_maxopt_portable" = xno; then + CFLAGS="$CFLAGS -arch host" + fi;; + + sun) CFLAGS="-native -fast -xO5 -dalign" + if test "x$acx_maxopt_portable" = xyes; then + CFLAGS="$CFLAGS -xarch=generic" + fi;; + + hp) CFLAGS="+Oall +Optrs_ansi +DSnative" + if test "x$acx_maxopt_portable" = xyes; then + CFLAGS="$CFLAGS +DAportable" + fi;; + + ibm) if test "x$acx_maxopt_portable" = xno; then + xlc_opt="-qarch=auto -qtune=auto" + else + xlc_opt="-qtune=auto" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5 +$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; } +ax_save_FLAGS=$CFLAGS + CFLAGS="$xlc_opt" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval `$as_echo "ax_cv_c_flags_$xlc_opt" | $as_tr_sh`=yes +else + eval `$as_echo "ax_cv_c_flags_$xlc_opt" | $as_tr_sh`=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +eval ax_check_compiler_flags=$`$as_echo "ax_cv_c_flags_$xlc_opt" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + CFLAGS="-O3 -qansialias -w $xlc_opt" +else + CFLAGS="-O3 -qansialias -w" + echo "******************************************************" + echo "* You seem to have the IBM C compiler. It is *" + echo "* recommended for best performance that you use: *" + echo "* *" + echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *" + echo "* ^^^ ^^^ *" + echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *" + echo "* CPU you have. (Set the CFLAGS environment var. *" + echo "* and re-run configure.) For more info, man cc. *" + echo "******************************************************" +fi + + ;; + + intel) CFLAGS="-O3 -ansi_alias" + if test "x$acx_maxopt_portable" = xno; then + icc_archflag=unknown + icc_flags="" + case $host_cpu in + i686*|x86_64*) + # icc accepts gcc assembly syntax, so these should work: + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5 +$as_echo_n "checking for x86 cpuid 0 output... " >&6; } +if ${ax_cv_gcc_x86_cpuid_0+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ax_cv_gcc_x86_cpuid_0=unknown +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ + + int op = 0, eax, ebx, ecx, edx; + FILE *f; + __asm__("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op)); + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid +else + ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5 +$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; } +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5 +$as_echo_n "checking for x86 cpuid 1 output... " >&6; } +if ${ax_cv_gcc_x86_cpuid_1+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ax_cv_gcc_x86_cpuid_1=unknown +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ + + int op = 1, eax, ebx, ecx, edx; + FILE *f; + __asm__("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op)); + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid +else + ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5 +$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; } +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG + *:756e6547:*:*) # Intel + case $ax_cv_gcc_x86_cpuid_1 in + *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";; + *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";; + *f??:*:*:*) icc_flags="-xN -xW -xK";; + esac ;; + esac ;; + esac + if test "x$icc_flags" != x; then + for flag in $icc_flags; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 +$as_echo_n "checking whether C compiler accepts $flag... " >&6; } +ax_save_FLAGS=$CFLAGS + CFLAGS="$flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval `$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh`=yes +else + eval `$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh`=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +eval ax_check_compiler_flags=$`$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + icc_archflag=$flag; break +else + : +fi + + done + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5 +$as_echo_n "checking for icc architecture flag... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5 +$as_echo "$icc_archflag" >&6; } + if test "x$icc_archflag" != xunknown; then + CFLAGS="$CFLAGS $icc_archflag" + fi + fi + ;; + + gnu) + # default optimization flags for gcc on all systems + CFLAGS="-O3 -fomit-frame-pointer" + + # -malign-double for x86 systems + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5 +$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; } +if ${ax_cv_c_flags__malign_double+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_save_FLAGS=$CFLAGS + CFLAGS="-malign-double" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_c_flags__malign_double=yes +else + ax_cv_c_flags__malign_double=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +fi + +eval ax_check_compiler_flags=$ax_cv_c_flags__malign_double +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + CFLAGS="$CFLAGS -malign-double" +else + : +fi + + + # -fstrict-aliasing for gcc-2.95+ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5 +$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; } +if ${ax_cv_c_flags__fstrict_aliasing+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_save_FLAGS=$CFLAGS + CFLAGS="-fstrict-aliasing" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_c_flags__fstrict_aliasing=yes +else + ax_cv_c_flags__fstrict_aliasing=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +fi + +eval ax_check_compiler_flags=$ax_cv_c_flags__fstrict_aliasing +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + CFLAGS="$CFLAGS -fstrict-aliasing" +else + : +fi + + + # note that we enable "unsafe" fp optimization with other compilers, too + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5 +$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; } +if ${ax_cv_c_flags__ffast_math+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_save_FLAGS=$CFLAGS + CFLAGS="-ffast-math" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_c_flags__ffast_math=yes +else + ax_cv_c_flags__ffast_math=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +fi + +eval ax_check_compiler_flags=$ax_cv_c_flags__ffast_math +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + CFLAGS="$CFLAGS -ffast-math" +else + : +fi + + + + + + +# Check whether --with-gcc-arch was given. +if test "${with_gcc_arch+set}" = set; then : + withval=$with_gcc_arch; ax_gcc_arch=$withval +else + ax_gcc_arch=yes +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5 +$as_echo_n "checking for gcc architecture flag... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } +if ${ax_cv_gcc_archflag+:} false; then : + $as_echo_n "(cached) " >&6 +else + +ax_cv_gcc_archflag="unknown" + +if test "$GCC" = yes; then + +if test "x$ax_gcc_arch" = xyes; then +ax_gcc_arch="" +if test "$cross_compiling" = no; then +case $host_cpu in + i[3456]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5 +$as_echo_n "checking for x86 cpuid 0 output... " >&6; } +if ${ax_cv_gcc_x86_cpuid_0+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ax_cv_gcc_x86_cpuid_0=unknown +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ + + int op = 0, eax, ebx, ecx, edx; + FILE *f; + __asm__("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op)); + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid +else + ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5 +$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; } +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5 +$as_echo_n "checking for x86 cpuid 1 output... " >&6; } +if ${ax_cv_gcc_x86_cpuid_1+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ax_cv_gcc_x86_cpuid_1=unknown +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ + + int op = 1, eax, ebx, ecx, edx; + FILE *f; + __asm__("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op)); + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid +else + ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5 +$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; } +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + case $ax_cv_gcc_x86_cpuid_0 in + *:756e6547:*:*) # Intel + case $ax_cv_gcc_x86_cpuid_1 in + *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;; + *5??:*:*:*) ax_gcc_arch=pentium ;; + *6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;; + *6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;; + *6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;; + *6[9d]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;; + *6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;; + *6??:*:*:*) ax_gcc_arch=pentiumpro ;; + *f3[347]:*:*:*|*f41347:*:*:*) + case $host_cpu in + x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;; + *) ax_gcc_arch="prescott pentium4 pentiumpro" ;; + esac ;; + *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";; + esac ;; + *:68747541:*:*) # AMD + case $ax_cv_gcc_x86_cpuid_1 in + *5[67]?:*:*:*) ax_gcc_arch=k6 ;; + *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;; + *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;; + *60?:*:*:*) ax_gcc_arch=k7 ;; + *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;; + *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;; + *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;; + *6[68a]?:*:*:*) + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5 +$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; } +if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ax_cv_gcc_x86_cpuid_0x80000006=unknown +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ + + int op = 0x80000006, eax, ebx, ecx, edx; + FILE *f; + __asm__("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "a" (op)); + f = fopen("conftest_cpuid", "w"); if (!f) return 1; + fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); + fclose(f); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid +else + ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5 +$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; } +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + # L2 cache size + case $ax_cv_gcc_x86_cpuid_0x80000006 in + *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256 + ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;; + *) ax_gcc_arch="athlon-4 athlon k7" ;; + esac ;; + *f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;; + *f5?:*:*:*) ax_gcc_arch="opteron k8" ;; + *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;; + *f??:*:*:*) ax_gcc_arch="k8" ;; + esac ;; + *:746e6543:*:*) # IDT + case $ax_cv_gcc_x86_cpuid_1 in + *54?:*:*:*) ax_gcc_arch=winchip-c6 ;; + *58?:*:*:*) ax_gcc_arch=winchip2 ;; + *6[78]?:*:*:*) ax_gcc_arch=c3 ;; + *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;; + esac ;; + esac + if test x"$ax_gcc_arch" = x; then # fallback + case $host_cpu in + i586*) ax_gcc_arch=pentium ;; + i686*) ax_gcc_arch=pentiumpro ;; + esac + fi + ;; + + sparc*) + # Extract the first word of "prtdiag", so it can be a program name with args. +set dummy prtdiag; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PRTDIAG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PRTDIAG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag" + ;; +esac +fi +PRTDIAG=$ac_cv_path_PRTDIAG +if test -n "$PRTDIAG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5 +$as_echo "$PRTDIAG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null` + cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters` + case $cputype in + *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;; + *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;; + *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;; + *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;; + *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;; + *cypress*) ax_gcc_arch=cypress ;; + esac ;; + + alphaev5) ax_gcc_arch=ev5 ;; + alphaev56) ax_gcc_arch=ev56 ;; + alphapca56) ax_gcc_arch="pca56 ev56" ;; + alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;; + alphaev6) ax_gcc_arch=ev6 ;; + alphaev67) ax_gcc_arch=ev67 ;; + alphaev68) ax_gcc_arch="ev68 ev67" ;; + alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;; + alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;; + alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;; + + powerpc*) + cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null` + cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'` + case $cputype in + *750*) ax_gcc_arch="750 G3" ;; + *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;; + *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;; + *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;; + *970*) ax_gcc_arch="970 G5 power4";; + *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";; + *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";; + 603ev|8240) ax_gcc_arch="$cputype 603e 603";; + *) ax_gcc_arch=$cputype ;; + esac + ax_gcc_arch="$ax_gcc_arch powerpc" + ;; +esac +fi # not cross-compiling +fi # guess arch + +if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then +for arch in $ax_gcc_arch; do + if test "x$acx_maxopt_portable" = xyes; then # if we require portable code + flags="-mtune=$arch" + # -mcpu=$arch and m$arch generate nonportable code on every arch except + # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr. + case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac + else + flags="-march=$arch -mcpu=$arch -m$arch" + fi + for flag in $flags; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 +$as_echo_n "checking whether C compiler accepts $flag... " >&6; } +ax_save_FLAGS=$CFLAGS + CFLAGS="$flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval `$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh`=yes +else + eval `$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh`=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +eval ax_check_compiler_flags=$`$as_echo "ax_cv_c_flags_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + ax_cv_gcc_archflag=$flag; break +else + : +fi + + done + test "x$ax_cv_gcc_archflag" = xunknown || break +done +fi + +fi # $GCC=yes + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5 +$as_echo_n "checking for gcc architecture flag... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5 +$as_echo "$ax_cv_gcc_archflag" >&6; } +if test "x$ax_cv_gcc_archflag" = xunknown; then + : +else + CFLAGS="$CFLAGS $ax_cv_gcc_archflag" +fi + + + # drop to -O1 for gcc 4.2 + $CC --version | + sed -e 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1 \2/' | + (read major minor + if test $major -eq 4 -a $minor -eq 2; then + exit 0 + fi + exit 1 + ) && CFLAGS="-O1" + ;; + esac + + if test -z "$CFLAGS"; then + echo "" + echo "********************************************************" + echo "* WARNING: Don't know the best CFLAGS for this system *" + echo "* Use ./configure CFLAGS=... to specify your own flags *" + echo "* (otherwise, a default of CFLAGS=-O3 will be used) *" + echo "********************************************************" + echo "" + CFLAGS="-O3" + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5 +$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; } +ax_save_FLAGS=$CFLAGS + CFLAGS="$CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval `$as_echo "ax_cv_c_flags_$CFLAGS" | $as_tr_sh`=yes +else + eval `$as_echo "ax_cv_c_flags_$CFLAGS" | $as_tr_sh`=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_save_FLAGS +eval ax_check_compiler_flags=$`$as_echo "ax_cv_c_flags_$CFLAGS" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 +$as_echo "$ax_check_compiler_flags" >&6; } +if test "x$ax_check_compiler_flags" = xyes; then + : +else + + echo "" + echo "********************************************************" + echo "* WARNING: The guessed CFLAGS don't seem to work with *" + echo "* your compiler. *" + echo "* Use ./configure CFLAGS=... to specify your own flags *" + echo "********************************************************" + echo "" + CFLAGS="" + +fi + + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports function __attribute__((__warn_unused_result__))" >&5 +$as_echo_n "checking whether the compiler supports function __attribute__((__warn_unused_result__))... " >&6; } +if ${ax_cv_gcc_warn_unused_result+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +__attribute__((__warn_unused_result__)) + int f(int i) { return i; } +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_gcc_warn_unused_result=yes +else + ax_cv_gcc_warn_unused_result=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_warn_unused_result" >&5 +$as_echo "$ax_cv_gcc_warn_unused_result" >&6; } + if test "$ax_cv_gcc_warn_unused_result" = yes; then + +$as_echo "#define GCC_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5 +$as_echo_n "checking for __attribute__... " >&6; } +if ${ax_cv___attribute__+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + static void foo(void) __attribute__ ((unused)); + static void + foo(void) { + exit(1); + } + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv___attribute__=yes +else + ax_cv___attribute__=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv___attribute__" >&5 +$as_echo "$ax_cv___attribute__" >&6; } + if test "$ax_cv___attribute__" = "yes"; then + +$as_echo "#define HAVE___ATTRIBUTE__ 1" >>confdefs.h + + fi + + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.2' +macro_revision='1.3337' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case "$ECHO" in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 +$as_echo "${with_sysroot}" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='${wl}--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test x"$lt_cv_prog_compiler__b" = xyes; then + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test "$lt_cv_irix_exported_symbol" = yes; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec_CXX='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PERL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PERL"; then + ac_cv_prog_PERL="$PERL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PERL="perl" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PERL=$ac_cv_prog_PERL +if test -n "$PERL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +$as_echo "$PERL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "pdflatex", so it can be a program name with args. +set dummy pdflatex; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PDFLATEX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PDFLATEX"; then + ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PDFLATEX="pdflatex" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PDFLATEX=$ac_cv_prog_PDFLATEX +if test -n "$PDFLATEX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 +$as_echo "$PDFLATEX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "pod2html", so it can be a program name with args. +set dummy pod2html; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_POD2HTML+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$POD2HTML"; then + ac_cv_prog_POD2HTML="$POD2HTML" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_POD2HTML="pod2html" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +POD2HTML=$ac_cv_prog_POD2HTML +if test -n "$POD2HTML"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POD2HTML" >&5 +$as_echo "$POD2HTML" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + if test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML"; then + GENERATE_DOC_TRUE= + GENERATE_DOC_FALSE='#' +else + GENERATE_DOC_TRUE='#' + GENERATE_DOC_FALSE= +fi + + +# ------ AX CREATE STDINT H ------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5 +$as_echo_n "checking for stdint types... " >&6; } +ac_stdint_h=`echo include/isl/stdint.h` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +if ${ac_cv_header_stdint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdint.h> +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; +else + ac_cv_header_stdint_t="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then +CFLAGS="-std=c99" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdint.h> +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5 +$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" +fi + + +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5 +$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } +elif test "$ac_stdint_h" = "inttypes.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5 +$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } +elif test "_$ac_cv_header_stdint_t" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5 +$as_echo "(putting them into $ac_stdint_h)$v" >&6; } +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5 +$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } +fi + +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. + + +inttype_headers=`echo | sed -e 's/,/ /g'` + +ac_cv_stdint_result="(no helpful system typedefs seen)" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } +if ${ac_cv_header_stdint_x+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers + do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i> +" +if test "x$ac_cv_type_uintptr_t" = xyes; then : + ac_cv_header_stdint_x=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi + + ac_cv_stdint_result="(seen uintptr_t$and64 in $i)" + break + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5 +$as_echo "$ac_cv_header_stdint_x" >&6; } + + +if test "_$ac_cv_header_stdint_x" = "_" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } +if ${ac_cv_header_stdint_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers + do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i> +" +if test "x$ac_cv_type_uint32_t" = xyes; then : + ac_cv_header_stdint_o=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi + + ac_cv_stdint_result="(seen uint32_t$and64 in $i)" + break + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5 +$as_echo "$ac_cv_header_stdint_o" >&6; } + +fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } +if ${ac_cv_header_stdint_u+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i> +" +if test "x$ac_cv_type_u_int32_t" = xyes; then : + ac_cv_header_stdint_u=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i> +" +if test "x$ac_cv_type_u_int64_t" = xyes; then : + and64="/u_int64_t" +else + and64="" +fi + + ac_cv_stdint_result="(seen u_int32_t$and64 in $i)" + break + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5 +$as_echo "$ac_cv_header_stdint_u" >&6; } + +fi fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5 +$as_echo_n "checking for stdint datatype model... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 +$as_echo_n "checking size of char... " >&6; } +if ${ac_cv_sizeof_char+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_char" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (char) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_char=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 +$as_echo "$ac_cv_sizeof_char" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_CHAR $ac_cv_sizeof_char +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if ${ac_cv_sizeof_voidp+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (void*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_voidp=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF + + + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5 +$as_echo_n "checking data model... " >&6; } + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 +$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } + +fi + +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5 +$as_echo_n "checking for extra inttypes in chosen header... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5 +$as_echo "($ac_cv_header_stdint)" >&6; } +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_least32_t" = xyes; then : + +fi + +ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_fast32_t" = xyes; then : + +fi + +ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_intmax_t" = xyes; then : + +fi + + +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 +$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } + +# ----------------- DONE inttypes.h checks START header ------------- +ac_config_commands="$ac_config_commands $ac_stdint_h" + + + + +# Check whether --with-int was given. +if test "${with_int+set}" = set; then : + withval=$with_int; +else + with_int=gmp +fi + +case "$with_int" in +gmp|imath|imath-32) + ;; +*) + as_fn_error $? "bad value ${withval} for --with-int (use gmp, imath or imath-32)" "$LINENO" 5 +esac + + + + +case "$with_int" in +gmp) + + +$as_echo "#define USE_GMP_FOR_MP /**/" >>confdefs.h + + + + +# Check whether --with-gmp was given. +if test "${with_gmp+set}" = set; then : + withval=$with_gmp; +fi + +case "system" in +system|build) + +# Check whether --with-gmp_prefix was given. +if test "${with_gmp_prefix+set}" = set; then : + withval=$with_gmp_prefix; +fi + + +# Check whether --with-gmp_exec_prefix was given. +if test "${with_gmp_exec_prefix+set}" = set; then : + withval=$with_gmp_exec_prefix; +fi + +esac + +# Check whether --with-gmp_builddir was given. +if test "${with_gmp_builddir+set}" = set; then : + withval=$with_gmp_builddir; +fi + +if test "x$with_gmp_prefix" != "x" -a "x$with_gmp_exec_prefix" = "x"; then + with_gmp_exec_prefix=$with_gmp_prefix +fi +if test "x$with_gmp_prefix" != "x" -o "x$with_gmp_exec_prefix" != "x"; then + if test "x$with_gmp" != "x" -a "x$with_gmp" != "xyes" -a "x$with_gmp" != "xsystem"; then + as_fn_error $? "Setting $with_gmp_prefix implies use of system gmp" "$LINENO" 5 + fi + with_gmp="system" +fi +if test "x$with_gmp_builddir" != "x"; then + if test "x$with_gmp" != "x" -a "x$with_gmp" != "xyes" -a "x$with_gmp" != "xbuild"; then + as_fn_error $? "Setting $with_gmp_builddir implies use of build gmp" "$LINENO" 5 + fi + with_gmp="build" + gmp_srcdir=`echo @abs_srcdir@ | $with_gmp_builddir/config.status --file=-` + { $as_echo "$as_me:${as_lineno-$LINENO}: gmp sources in $gmp_srcdir" >&5 +$as_echo "$as_me: gmp sources in $gmp_srcdir" >&6;} +fi +if test "x$with_gmp_exec_prefix" != "x"; then + export PKG_CONFIG_PATH="$with_gmp_exec_prefix/lib/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH}" +fi +case "$with_gmp" in +system|build) + ;; +*) + case "system" in + bundled) + if test -d $srcdir/.git -a \ + -d $srcdir/gmp -a \ + ! -d $srcdir/gmp/.git; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git repo detected, but submodule gmp not initialized" >&5 +$as_echo "$as_me: WARNING: git repo detected, but submodule gmp not initialized" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You may want to run" >&5 +$as_echo "$as_me: WARNING: You may want to run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git submodule init" >&5 +$as_echo "$as_me: WARNING: git submodule init" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git submodule update" >&5 +$as_echo "$as_me: WARNING: git submodule update" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sh autogen.sh" >&5 +$as_echo "$as_me: WARNING: sh autogen.sh" >&2;} + fi + if test -f $srcdir/gmp/configure; then + with_gmp="bundled" + else + with_gmp="no" + fi + ;; + *) + with_gmp="system" + ;; + esac + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which gmp to use" >&5 +$as_echo_n "checking which gmp to use... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_gmp" >&5 +$as_echo "$with_gmp" >&6; } + + +case "$with_gmp" in +system) + if test "x$with_gmp_prefix" != "x"; then + isl_configure_args="$isl_configure_args --with-gmp=$with_gmp_prefix" + MP_CPPFLAGS="-I$with_gmp_prefix/include" + MP_LDFLAGS="-L$with_gmp_prefix/lib" + fi + MP_LIBS=-lgmp + SAVE_CPPFLAGS="$CPPFLAGS" + SAVE_LDFLAGS="$LDFLAGS" + SAVE_LIBS="$LIBS" + CPPFLAGS="$MP_CPPFLAGS $CPPFLAGS" + LDFLAGS="$MP_LDFLAGS $LDFLAGS" + LIBS="$MP_LIBS $LIBS" + ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_h" = xyes; then : + +else + as_fn_error $? "gmp.h header not found" "$LINENO" 5 +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmp" >&5 +$as_echo_n "checking for main in -lgmp... " >&6; } +if ${ac_cv_lib_gmp_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gmp_main=yes +else + ac_cv_lib_gmp_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp_main" >&5 +$as_echo "$ac_cv_lib_gmp_main" >&6; } +if test "x$ac_cv_lib_gmp_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGMP 1 +_ACEOF + + LIBS="-lgmp $LIBS" + +else + as_fn_error $? "gmp library not found" "$LINENO" 5 +fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <gmp.h> +int +main () +{ + + mpz_t n, d; + if (mpz_divisible_p(n, d)) + mpz_divexact_ui(n, n, 4); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + as_fn_error $? "gmp library too old" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CPPFLAGS="$SAVE_CPPFLAGS" + LDFLAGS="$SAVE_LDFLAGS" + LIBS="$SAVE_LIBS" + ;; +build) + MP_CPPFLAGS="-I$gmp_srcdir -I$with_gmp_builddir" + MP_LIBS="$with_gmp_builddir/libgmp.la" + ;; +esac +SAVE_CPPFLAGS="$CPPFLAGS" +SAVE_LDFLAGS="$LDFLAGS" +SAVE_LIBS="$LIBS" +CPPFLAGS="$MP_CPPFLAGS $CPPFLAGS" +LDFLAGS="$MP_LDFLAGS $LDFLAGS" +LIBS="$MP_LIBS $LIBS" +need_get_memory_functions=false +ac_fn_c_check_decl "$LINENO" "mp_get_memory_functions" "ac_cv_have_decl_mp_get_memory_functions" "#include <gmp.h> +" +if test "x$ac_cv_have_decl_mp_get_memory_functions" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MP_GET_MEMORY_FUNCTIONS $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + +else + + need_get_memory_functions=true + +fi + +CPPFLAGS="$SAVE_CPPFLAGS" +LDFLAGS="$SAVE_LDFLAGS" +LIBS="$SAVE_LIBS" + if test x$need_get_memory_functions = xtrue; then + NEED_GET_MEMORY_FUNCTIONS_TRUE= + NEED_GET_MEMORY_FUNCTIONS_FALSE='#' +else + NEED_GET_MEMORY_FUNCTIONS_TRUE='#' + NEED_GET_MEMORY_FUNCTIONS_FALSE= +fi + + + ;; +imath|imath-32) + + +$as_echo "#define USE_IMATH_FOR_MP /**/" >>confdefs.h + + +MP_CPPFLAGS="-I$srcdir/imath_wrap" +MP_LDFLAGS="" +MP_LIBS="" + +SAVE_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$MP_CPPFLAGS $CPPFLAGS" +ac_fn_c_check_header_mongrel "$LINENO" "imath.h" "ac_cv_header_imath_h" "$ac_includes_default" +if test "x$ac_cv_header_imath_h" = xyes; then : + +else + as_fn_error $? "imath.h header not found" "$LINENO" 5 +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "gmp_compat.h" "ac_cv_header_gmp_compat_h" "$ac_includes_default" +if test "x$ac_cv_header_gmp_compat_h" = xyes; then : + +else + as_fn_error $? "gmp_compat.h header not found" "$LINENO" 5 +fi + + +CPPFLAGS="$SAVE_CPPFLAGS" + + if test x = xfalse; then + NEED_GET_MEMORY_FUNCTIONS_TRUE= + NEED_GET_MEMORY_FUNCTIONS_FALSE='#' +else + NEED_GET_MEMORY_FUNCTIONS_TRUE='#' + NEED_GET_MEMORY_FUNCTIONS_FALSE= +fi + + + ;; +esac + + if test x$with_int = ximath -o x$with_int = ximath-32; then + IMATH_FOR_MP_TRUE= + IMATH_FOR_MP_FALSE='#' +else + IMATH_FOR_MP_TRUE='#' + IMATH_FOR_MP_FALSE= +fi + + if test x$with_int = xgmp; then + GMP_FOR_MP_TRUE= + GMP_FOR_MP_FALSE='#' +else + GMP_FOR_MP_TRUE='#' + GMP_FOR_MP_FALSE= +fi + + + if test "x$with_int" == "ximath-32"; then + SMALL_INT_OPT_TRUE= + SMALL_INT_OPT_FALSE='#' +else + SMALL_INT_OPT_TRUE='#' + SMALL_INT_OPT_FALSE= +fi + +if test "x$with_int" == "ximath-32"; then : + + +$as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h + + +fi + +ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "#include <strings.h> +" +if test "x$ac_cv_have_decl_ffs" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFS $ac_have_decl +_ACEOF + +ac_fn_c_check_decl "$LINENO" "__builtin_ffs" "ac_cv_have_decl___builtin_ffs" "$ac_includes_default" +if test "x$ac_cv_have_decl___builtin_ffs" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___BUILTIN_FFS $ac_have_decl +_ACEOF + + + + + + + + +# Check whether --with-clang was given. +if test "${with_clang+set}" = set; then : + withval=$with_clang; +fi + +case "system" in +system|no) + +# Check whether --with-clang_prefix was given. +if test "${with_clang_prefix+set}" = set; then : + withval=$with_clang_prefix; +fi + + +# Check whether --with-clang_exec_prefix was given. +if test "${with_clang_exec_prefix+set}" = set; then : + withval=$with_clang_exec_prefix; +fi + +esac + +if test "x$with_clang_prefix" != "x" -a "x$with_clang_exec_prefix" = "x"; then + with_clang_exec_prefix=$with_clang_prefix +fi +if test "x$with_clang_prefix" != "x" -o "x$with_clang_exec_prefix" != "x"; then + if test "x$with_clang" != "x" -a "x$with_clang" != "xyes" -a "x$with_clang" != "xsystem"; then + as_fn_error $? "Setting $with_clang_prefix implies use of system clang" "$LINENO" 5 + fi + with_clang="system" +fi +if test "x$with_clang_builddir" != "x"; then + if test "x$with_clang" != "x" -a "x$with_clang" != "xyes" -a "x$with_clang" != "xbuild"; then + as_fn_error $? "Setting $with_clang_builddir implies use of build clang" "$LINENO" 5 + fi + with_clang="build" + clang_srcdir=`echo @abs_srcdir@ | $with_clang_builddir/config.status --file=-` + { $as_echo "$as_me:${as_lineno-$LINENO}: clang sources in $clang_srcdir" >&5 +$as_echo "$as_me: clang sources in $clang_srcdir" >&6;} +fi +if test "x$with_clang_exec_prefix" != "x"; then + export PKG_CONFIG_PATH="$with_clang_exec_prefix/lib/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH}" +fi +case "$with_clang" in +system|no) + ;; +*) + case "no" in + bundled) + if test -d $srcdir/.git -a \ + -d $srcdir/clang -a \ + ! -d $srcdir/clang/.git; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git repo detected, but submodule clang not initialized" >&5 +$as_echo "$as_me: WARNING: git repo detected, but submodule clang not initialized" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You may want to run" >&5 +$as_echo "$as_me: WARNING: You may want to run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git submodule init" >&5 +$as_echo "$as_me: WARNING: git submodule init" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: git submodule update" >&5 +$as_echo "$as_me: WARNING: git submodule update" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sh autogen.sh" >&5 +$as_echo "$as_me: WARNING: sh autogen.sh" >&2;} + fi + if test -f $srcdir/clang/configure; then + with_clang="bundled" + else + with_clang="no" + fi + ;; + *) + with_clang="no" + ;; + esac + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which clang to use" >&5 +$as_echo_n "checking which clang to use... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_clang" >&5 +$as_echo "$with_clang" >&6; } + + +case "$with_clang" in +system) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + + llvm_config="llvm-config" + # Extract the first word of ""$llvm_config"", so it can be a program name with args. +set dummy "$llvm_config"; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_llvm_config_found+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$llvm_config_found"; then + ac_cv_prog_llvm_config_found="$llvm_config_found" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_llvm_config_found="yes" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +llvm_config_found=$ac_cv_prog_llvm_config_found +if test -n "$llvm_config_found"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llvm_config_found" >&5 +$as_echo "$llvm_config_found" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$with_clang_prefix" != "x"; then + llvm_config="$with_clang_prefix/bin/llvm-config" + if test -x "$llvm_config"; then + llvm_config_found=yes + fi + fi + if test "$llvm_config_found" != yes; then + as_fn_error $? "llvm-config not found" "$LINENO" 5 + fi + CLANG_CXXFLAGS=`$llvm_config --cxxflags` + CLANG_LDFLAGS=`$llvm_config --ldflags` + targets=`$llvm_config --targets-built` + components="$targets asmparser bitreader support mc" + $llvm_config --components | $GREP option > /dev/null 2> /dev/null + if test $? -eq 0; then + components="$components option" + fi + CLANG_LIBS=`$llvm_config --libs $components` + systemlibs=`$llvm_config --system-libs 2> /dev/null | tail -1` + if test $? -eq 0; then + CLANG_LIBS="$CLANG_LIBS $systemlibs" + fi + CLANG_PREFIX=`$llvm_config --prefix` + +cat >>confdefs.h <<_ACEOF +#define CLANG_PREFIX "$CLANG_PREFIX" +_ACEOF + + + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CLANG_CXXFLAGS $CPPFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +ac_fn_cxx_check_header_mongrel "$LINENO" "clang/Basic/SourceLocation.h" "ac_cv_header_clang_Basic_SourceLocation_h" "$ac_includes_default" +if test "x$ac_cv_header_clang_Basic_SourceLocation_h" = xyes; then : + +else + as_fn_error $? "clang header file not found" "$LINENO" 5 +fi + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <llvm/Support/Host.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getDefaultTargetTriple" >/dev/null 2>&1; then : + +else + +$as_echo "#define getDefaultTargetTriple getHostTriple" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Basic/SourceLocation.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getExpansionLineNumber" >/dev/null 2>&1; then : + +else + +$as_echo "#define getExpansionLineNumber getInstantiationLineNumber" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Basic/Diagnostic.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "DiagnosticsEngine" >/dev/null 2>&1; then : + +else + +$as_echo "#define DiagnosticsEngine Diagnostic" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Driver/Driver.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "ArrayRef" >/dev/null 2>&1; then : + +$as_echo "#define USE_ARRAYREF /**/" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Driver/Driver.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "CXXIsProduction" >/dev/null 2>&1; then : + +$as_echo "#define HAVE_CXXISPRODUCTION /**/" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Driver/Driver.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP " IsProduction" >/dev/null 2>&1; then : + +$as_echo "#define HAVE_ISPRODUCTION /**/" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Driver/Driver.h> +int +main () +{ + + using namespace clang; + DiagnosticsEngine *Diags; + new driver::Driver("", "", "", *Diags); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +$as_echo "#define DRIVER_CTOR_TAKES_DEFAULTIMAGENAME /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/AST/ASTConsumer.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "void HandleTopLevelDecl\(" >/dev/null 2>&1; then : + +$as_echo "#define HandleTopLevelDeclReturn void" >>confdefs.h + + +$as_echo "#define HandleTopLevelDeclContinue /**/" >>confdefs.h + +else + +$as_echo "#define HandleTopLevelDeclReturn bool" >>confdefs.h + + +$as_echo "#define HandleTopLevelDeclContinue true" >>confdefs.h + +fi +rm -f conftest* + + ac_fn_cxx_check_header_mongrel "$LINENO" "clang/Basic/DiagnosticOptions.h" "ac_cv_header_clang_Basic_DiagnosticOptions_h" "$ac_includes_default" +if test "x$ac_cv_header_clang_Basic_DiagnosticOptions_h" = xyes; then : + +$as_echo "#define HAVE_BASIC_DIAGNOSTICOPTIONS_H /**/" >>confdefs.h + +fi + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Basic/TargetInfo.h> +int +main () +{ + + using namespace clang; + std::shared_ptr<TargetOptions> TO; + DiagnosticsEngine *Diags; + TargetInfo::CreateTargetInfo(*Diags, TO); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +$as_echo "#define CREATETARGETINFO_TAKES_SHARED_PTR /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Basic/TargetInfo.h> +int +main () +{ + + using namespace clang; + TargetOptions *TO; + DiagnosticsEngine *Diags; + TargetInfo::CreateTargetInfo(*Diags, TO); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +$as_echo "#define CREATETARGETINFO_TAKES_POINTER /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Frontend/CompilerInstance.h> +int +main () +{ + + using namespace clang; + DiagnosticConsumer *client; + CompilerInstance *Clang; + Clang->createDiagnostics(client); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + +$as_echo "#define CREATEDIAGNOSTICS_TAKES_ARG /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Lex/HeaderSearchOptions.h> +int +main () +{ + + using namespace clang; + HeaderSearchOptions HSO; + HSO.AddPath("", frontend::Angled, false, false); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +$as_echo "#define ADDPATH_TAKES_4_ARGUMENTS /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/AST/CanonicalType.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getNumParams" >/dev/null 2>&1; then : + +$as_echo "#define getNumArgs getNumParams" >>confdefs.h + + +$as_echo "#define getArgType getParamType" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/AST/CanonicalType.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getReturnType" >/dev/null 2>&1; then : + +else + +$as_echo "#define getReturnType getResultType" >>confdefs.h + +fi +rm -f conftest* + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Frontend/CompilerInstance.h> +int +main () +{ + + using namespace clang; + CompilerInstance *Clang; + Clang->createPreprocessor(TU_Complete); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +$as_echo "#define CREATEPREPROCESSOR_TAKES_TUKIND /**/" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <clang/Basic/SourceManager.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "setMainFileID" >/dev/null 2>&1; then : + +$as_echo "#define HAVE_SETMAINFILEID /**/" >>confdefs.h + +fi +rm -f conftest* + + ac_fn_cxx_check_header_mongrel "$LINENO" "llvm/ADT/OwningPtr.h" "ac_cv_header_llvm_ADT_OwningPtr_h" "$ac_includes_default" +if test "x$ac_cv_header_llvm_ADT_OwningPtr_h" = xyes; then : + +$as_echo "#define HAVE_ADT_OWNINGPTR_H /**/" >>confdefs.h + +fi + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + CPPFLAGS="$SAVE_CPPFLAGS" + + SAVE_LDFLAGS="$LDFLAGS" + LDFLAGS="$CLANG_LDFLAGS $LDFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lclangEdit" >&5 +$as_echo_n "checking for main in -lclangEdit... " >&6; } +if ${ac_cv_lib_clangEdit_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lclangEdit $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_clangEdit_main=yes +else + ac_cv_lib_clangEdit_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_clangEdit_main" >&5 +$as_echo "$ac_cv_lib_clangEdit_main" >&6; } +if test "x$ac_cv_lib_clangEdit_main" = xyes; then : + LIB_CLANG_EDIT=-lclangEdit +fi + + LDFLAGS="$SAVE_LDFLAGS" + ;; +esac + if test $with_clang = system; then + HAVE_CLANG_TRUE= + HAVE_CLANG_FALSE='#' +else + HAVE_CLANG_TRUE='#' + HAVE_CLANG_FALSE= +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5 +$as_echo_n "checking for C compiler vendor... " >&6; } +if ${ax_cv_c_compiler_vendor+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_c_compiler_vendor=unknown + # note: don't check for gcc first since some other compilers define __GNUC__ + for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ pathscale:__PATHCC__,__PATHSCALE__ clang:__clang__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do + vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#if !($vencpp) + thisisanerror; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_c_compiler_vendor=`echo $ventest | cut -d: -f1`; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5 +$as_echo "$ax_cv_c_compiler_vendor" >&6; } + + + WARNING_FLAGS="" + + if test "${ax_cv_c_compiler_vendor}" = "clang"; then + WARNING_FLAGS="-Wall" + fi + + + + +PACKAGE_CFLAGS="$MP_CPPFLAGS" +PACKAGE_LDFLAGS="$MP_LDFLAGS" +PACKAGE_LIBS="-lisl $MP_LIBS" + +# we need the expanded forms... +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig libname" >&5 +$as_echo_n "checking our pkgconfig libname... " >&6; } +test ".$ax_create_pkgconfig_libname" != "." || \ +ax_create_pkgconfig_libname="${PACKAGE_NAME}" +test ".$ax_create_pkgconfig_libname" != "." || \ +ax_create_pkgconfig_libname="$PACKAGE" +ax_create_pkgconfig_libname=`eval echo "$ax_create_pkgconfig_libname"` +ax_create_pkgconfig_libname=`eval echo "$ax_create_pkgconfig_libname"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_libname" >&5 +$as_echo "$ax_create_pkgconfig_libname" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig version" >&5 +$as_echo_n "checking our pkgconfig version... " >&6; } +test ".$ax_create_pkgconfig_version" != "." || \ +ax_create_pkgconfig_version="${PACKAGE_VERSION}" +test ".$ax_create_pkgconfig_version" != "." || \ +ax_create_pkgconfig_version="$VERSION" +ax_create_pkgconfig_version=`eval echo "$ax_create_pkgconfig_version"` +ax_create_pkgconfig_version=`eval echo "$ax_create_pkgconfig_version"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_version" >&5 +$as_echo "$ax_create_pkgconfig_version" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig_libdir" >&5 +$as_echo_n "checking our pkgconfig_libdir... " >&6; } +test ".$pkgconfig_libdir" = "." && \ +pkgconfig_libdir='${libdir}/pkgconfig' +ax_create_pkgconfig_libdir=`eval echo "$pkgconfig_libdir"` +ax_create_pkgconfig_libdir=`eval echo "$ax_create_pkgconfig_libdir"` +ax_create_pkgconfig_libdir=`eval echo "$ax_create_pkgconfig_libdir"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkgconfig_libdir" >&5 +$as_echo "$pkgconfig_libdir" >&6; } +test "$pkgconfig_libdir" != "$ax_create_pkgconfig_libdir" && ( +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: expanded our pkgconfig_libdir... $ax_create_pkgconfig_libdir" >&5 +$as_echo "expanded our pkgconfig_libdir... $ax_create_pkgconfig_libdir" >&6; }) + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig_libfile" >&5 +$as_echo_n "checking our pkgconfig_libfile... " >&6; } +test ".$pkgconfig_libfile" != "." || \ +pkgconfig_libfile="$ax_create_pkgconfig_libname.pc" +ax_create_pkgconfig_libfile=`eval echo "$pkgconfig_libfile"` +ax_create_pkgconfig_libfile=`eval echo "$ax_create_pkgconfig_libfile"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkgconfig_libfile" >&5 +$as_echo "$pkgconfig_libfile" >&6; } +test "$pkgconfig_libfile" != "$ax_create_pkgconfig_libfile" && ( +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: expanded our pkgconfig_libfile... $ax_create_pkgconfig_libfile" >&5 +$as_echo "expanded our pkgconfig_libfile... $ax_create_pkgconfig_libfile" >&6; }) + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our package / suffix" >&5 +$as_echo_n "checking our package / suffix... " >&6; } +ax_create_pkgconfig_suffix="$program_suffix" +test ".$ax_create_pkgconfig_suffix" != .NONE || ax_create_pkgconfig_suffix="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${PACKAGE_NAME} / ${ax_create_pkgconfig_suffix}" >&5 +$as_echo "${PACKAGE_NAME} / ${ax_create_pkgconfig_suffix}" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig description" >&5 +$as_echo_n "checking our pkgconfig description... " >&6; } +ax_create_pkgconfig_description="$PACKAGE_SUMMARY" +test ".$ax_create_pkgconfig_description" != "." || \ +ax_create_pkgconfig_description="$ax_create_pkgconfig_libname Library" +ax_create_pkgconfig_description=`eval echo "$ax_create_pkgconfig_description"` +ax_create_pkgconfig_description=`eval echo "$ax_create_pkgconfig_description"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_description" >&5 +$as_echo "$ax_create_pkgconfig_description" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig requires" >&5 +$as_echo_n "checking our pkgconfig requires... " >&6; } +ax_create_pkgconfig_requires="$PACKAGE_REQUIRES" +ax_create_pkgconfig_requires=`eval echo "$ax_create_pkgconfig_requires"` +ax_create_pkgconfig_requires=`eval echo "$ax_create_pkgconfig_requires"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_requires" >&5 +$as_echo "$ax_create_pkgconfig_requires" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig ext libs" >&5 +$as_echo_n "checking our pkgconfig ext libs... " >&6; } +ax_create_pkgconfig_pkglibs="$PACKAGE_LIBS" +test ".$ax_create_pkgconfig_pkglibs" != "." || ax_create_pkgconfig_pkglibs="-l$ax_create_pkgconfig_libname" +ax_create_pkgconfig_libs="$ax_create_pkgconfig_pkglibs $LIBS" +ax_create_pkgconfig_libs=`eval echo "$ax_create_pkgconfig_libs"` +ax_create_pkgconfig_libs=`eval echo "$ax_create_pkgconfig_libs"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_libs" >&5 +$as_echo "$ax_create_pkgconfig_libs" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig cppflags" >&5 +$as_echo_n "checking our pkgconfig cppflags... " >&6; } +ax_create_pkgconfig_cppflags="$PACKAGE_CFLAGS" +ax_create_pkgconfig_cppflags=`eval echo "$ax_create_pkgconfig_cppflags"` +ax_create_pkgconfig_cppflags=`eval echo "$ax_create_pkgconfig_cppflags"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_cppflags" >&5 +$as_echo "$ax_create_pkgconfig_cppflags" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking our pkgconfig ldflags" >&5 +$as_echo_n "checking our pkgconfig ldflags... " >&6; } +ax_create_pkgconfig_ldflags="$PACKAGE_LDFLAGS" +ax_create_pkgconfig_ldflags=`eval echo "$ax_create_pkgconfig_ldflags"` +ax_create_pkgconfig_ldflags=`eval echo "$ax_create_pkgconfig_ldflags"` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_create_pkgconfig_ldflags" >&5 +$as_echo "$ax_create_pkgconfig_ldflags" >&6; } + +test ".$ax_create_pkgconfig_generate" != "." || \ +ax_create_pkgconfig_generate="$ax_create_pkgconfig_libname.pc" +ax_create_pkgconfig_generate=`eval echo "$ax_create_pkgconfig_generate"` +ax_create_pkgconfig_generate=`eval echo "$ax_create_pkgconfig_generate"` +test "$pkgconfig_libfile" != "$ax_create_pkgconfig_generate" && ( +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: generate the pkgconfig later... $ax_create_pkgconfig_generate" >&5 +$as_echo "generate the pkgconfig later... $ax_create_pkgconfig_generate" >&6; }) + +if test ".$ax_create_pkgconfig_src_libdir" = "." ; then +ax_create_pkgconfig_src_libdir=`pwd` +ax_create_pkgconfig_src_libdir=`$as_dirname -- "$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" || +$as_expr X"$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" : 'X\(//\)[^/]' \| \ + X"$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" : 'X\(//\)$' \| \ + X"$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ax_create_pkgconfig_src_libdir/$ax_create_pkgconfig_generate" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` +test ! -d $ax_create_pkgconfig_src_libdir/src || \ +ax_create_pkgconfig_src_libdir="$ax_create_pkgconfig_src_libdir/src" +case ".$objdir" in +*libs) ax_create_pkgconfig_src_libdir="$ax_create_pkgconfig_src_libdir/$objdir" ;; esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: noninstalled pkgconfig -L $ax_create_pkgconfig_src_libdir" >&5 +$as_echo "noninstalled pkgconfig -L $ax_create_pkgconfig_src_libdir" >&6; } +fi + +if test ".$ax_create_pkgconfig_src_headers" = "." ; then +ax_create_pkgconfig_src_headers=`pwd` +v="$ac_top_srcdir" ; +test ".$v" != "." || v="$ax_spec_dir" +test ".$v" != "." || v="$srcdir" +case "$v" in /*) ax_create_pkgconfig_src_headers="" ;; esac +ax_create_pkgconfig_src_headers=`$as_dirname -- "$ax_create_pkgconfig_src_headers/$v/x" || +$as_expr X"$ax_create_pkgconfig_src_headers/$v/x" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ax_create_pkgconfig_src_headers/$v/x" : 'X\(//\)[^/]' \| \ + X"$ax_create_pkgconfig_src_headers/$v/x" : 'X\(//\)$' \| \ + X"$ax_create_pkgconfig_src_headers/$v/x" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ax_create_pkgconfig_src_headers/$v/x" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` +test ! -d $ax_create_pkgconfig_src_headers/include || \ +ax_create_pkgconfig_src_headers="$ax_create_pkgconfig_src_headers/include" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: noninstalled pkgconfig -I $ax_create_pkgconfig_src_headers" >&5 +$as_echo "noninstalled pkgconfig -I $ax_create_pkgconfig_src_headers" >&6; } +fi + + +ac_config_commands="$ac_config_commands $ax_create_pkgconfig_generate" + + + + + + + if test -f $srcdir/.git; then + gitdir=`GIT_DIR=$srcdir/.git git rev-parse --git-dir` + GIT_HEAD="$gitdir/index" + GIT_REPO="$gitdir" + GIT_HEAD_ID=`GIT_DIR=$GIT_REPO git describe --always` + elif test -f $srcdir/.git/HEAD; then + GIT_HEAD="$srcdir/.git/index" + GIT_REPO="$srcdir/.git" + GIT_HEAD_ID=`GIT_DIR=$GIT_REPO git describe --always` + elif test -f $srcdir/GIT_HEAD_ID; then + GIT_HEAD_ID=`cat $srcdir/GIT_HEAD_ID` + else + mysrcdir=`(cd $srcdir; pwd)` + head=`basename $mysrcdir | sed -e 's/.*-//'` + head2=`echo $head | sed -e 's/^0-9a-f//'` + head3=`echo $head2 | sed -e 's/........................................//'` + if test "x$head3" = "x" -a "x$head" = "x$head2"; then + GIT_HEAD_ID="$head" + else + GIT_HEAD_ID="UNKNOWN" + fi + fi + if test -z "$GIT_REPO" ; then + GIT_HEAD_VERSION="$GIT_HEAD_ID" + else + GIT_HEAD_VERSION="\`GIT_DIR=$GIT_REPO git describe --always\`" + fi + +echo '#define GIT_HEAD_ID "'$GIT_HEAD_ID'"' > gitversion.h + + +ac_config_headers="$ac_config_headers isl_config.h" + +ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files doc/Makefile" + +if test $with_clang = system; then + ac_config_files="$ac_config_files interface/Makefile" + +fi +ac_config_files="$ac_config_files bound_test.sh" + +ac_config_files="$ac_config_files codegen_test.sh" + +ac_config_files="$ac_config_files pip_test.sh" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GENERATE_DOC_TRUE}" && test -z "${GENERATE_DOC_FALSE}"; then + as_fn_error $? "conditional \"GENERATE_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${NEED_GET_MEMORY_FUNCTIONS_TRUE}" && test -z "${NEED_GET_MEMORY_FUNCTIONS_FALSE}"; then + as_fn_error $? "conditional \"NEED_GET_MEMORY_FUNCTIONS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${NEED_GET_MEMORY_FUNCTIONS_TRUE}" && test -z "${NEED_GET_MEMORY_FUNCTIONS_FALSE}"; then + as_fn_error $? "conditional \"NEED_GET_MEMORY_FUNCTIONS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${IMATH_FOR_MP_TRUE}" && test -z "${IMATH_FOR_MP_FALSE}"; then + as_fn_error $? "conditional \"IMATH_FOR_MP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GMP_FOR_MP_TRUE}" && test -z "${GMP_FOR_MP_FALSE}"; then + as_fn_error $? "conditional \"GMP_FOR_MP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${SMALL_INT_OPT_TRUE}" && test -z "${SMALL_INT_OPT_FALSE}"; then + as_fn_error $? "conditional \"SMALL_INT_OPT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_CLANG_TRUE}" && test -z "${HAVE_CLANG_FALSE}"; then + as_fn_error $? "conditional \"HAVE_CLANG\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by isl $as_me 0.15, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <isl-development@googlegroups.com>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +isl config.status 0.15 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +nm_file_list_spec \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + +# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" + + +ax_create_pkgconfig_generate="$ax_create_pkgconfig_generate" +pkgconfig_prefix='$prefix' +pkgconfig_execprefix='$exec_prefix' +pkgconfig_bindir='$bindir' +pkgconfig_libdir='$libdir' +pkgconfig_includedir='$includedir' +pkgconfig_datarootdir='$datarootdir' +pkgconfig_datadir='$datadir' +pkgconfig_sysconfdir='$sysconfdir' +pkgconfig_suffix='$ax_create_pkgconfig_suffix' +pkgconfig_package='$PACKAGE_NAME' +pkgconfig_libname='$ax_create_pkgconfig_libname' +pkgconfig_description='$ax_create_pkgconfig_description' +pkgconfig_version='$ax_create_pkgconfig_version' +pkgconfig_requires='$ax_create_pkgconfig_requires' +pkgconfig_libs='$ax_create_pkgconfig_libs' +pkgconfig_ldflags='$ax_create_pkgconfig_ldflags' +pkgconfig_cppflags='$ax_create_pkgconfig_cppflags' +pkgconfig_src_libdir='$ax_create_pkgconfig_src_libdir' +pkgconfig_src_headers='$ax_create_pkgconfig_src_headers' + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; + "$ax_create_pkgconfig_generate") CONFIG_COMMANDS="$CONFIG_COMMANDS $ax_create_pkgconfig_generate" ;; + "isl_config.h") CONFIG_HEADERS="$CONFIG_HEADERS isl_config.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "interface/Makefile") CONFIG_FILES="$CONFIG_FILES interface/Makefile" ;; + "bound_test.sh") CONFIG_FILES="$CONFIG_FILES bound_test.sh" ;; + "codegen_test.sh") CONFIG_FILES="$CONFIG_FILES codegen_test.sh" ;; + "pip_test.sh") CONFIG_FILES="$CONFIG_FILES pip_test.sh" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and in which our libraries should be installed. +lt_sysroot=$lt_sysroot + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + if test x"$xsi_shell" = xyes; then + sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ +func_dirname ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_basename ()$/,/^} # func_basename /c\ +func_basename ()\ +{\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ +func_dirname_and_basename ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ +func_stripname ()\ +{\ +\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ +\ # positional parameters, so assign one to ordinary parameter first.\ +\ func_stripname_result=${3}\ +\ func_stripname_result=${func_stripname_result#"${1}"}\ +\ func_stripname_result=${func_stripname_result%"${2}"}\ +} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ +func_split_long_opt ()\ +{\ +\ func_split_long_opt_name=${1%%=*}\ +\ func_split_long_opt_arg=${1#*=}\ +} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ +func_split_short_opt ()\ +{\ +\ func_split_short_opt_arg=${1#??}\ +\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ +} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ +func_lo2o ()\ +{\ +\ case ${1} in\ +\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ +\ *) func_lo2o_result=${1} ;;\ +\ esac\ +} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_xform ()$/,/^} # func_xform /c\ +func_xform ()\ +{\ + func_xform_result=${1%.*}.lo\ +} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_arith ()$/,/^} # func_arith /c\ +func_arith ()\ +{\ + func_arith_result=$(( $* ))\ +} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_len ()$/,/^} # func_len /c\ +func_len ()\ +{\ + func_len_result=${#1}\ +} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + +fi + +if test x"$lt_shell_append" = xyes; then + sed -e '/^func_append ()$/,/^} # func_append /c\ +func_append ()\ +{\ + eval "${1}+=\\${2}"\ +} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ +func_append_quoted ()\ +{\ +\ func_quote_for_eval "${2}"\ +\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ +} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 +$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} +fi + + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "$ac_stdint_h":C) +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5 +$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include <stdint.h>" >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint <<STDINT_EOF + +/* ................... shortcircuit part ........................... */ + +#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H +#include <stdint.h> +#else +#include <stddef.h> + +/* .................... configured part ............................ */ + +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi + +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi + +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi + +echo "" >>$ac_stdint + +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi + +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + + cat >>$ac_stdint <<STDINT_EOF +/* .................... detections part ............................ */ + +/* whether we need to define bitspecific types from compiler base types */ +#ifndef _STDINT_HEADER_INTPTR +#ifndef _STDINT_HEADER_UINT32 +#ifndef _STDINT_HEADER_U_INT32 +#define _STDINT_NEED_INT_MODEL_T +#else +#define _STDINT_HAVE_U_INT_TYPES +#endif +#endif +#endif + +#ifdef _STDINT_HAVE_U_INT_TYPES +#undef _STDINT_NEED_INT_MODEL_T +#endif + +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif + +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif + +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif + +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif + + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +#ifndef INT64_MIN +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +#endif +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +#ifndef INT64_MAX +# define INT64_MAX (__INT64_C(9223372036854775807)) +#endif + +/* Maximum of unsigned integral types. */ +#ifndef UINT8_MAX +# define UINT8_MAX (255) +#endif +#ifndef UINT16_MAX +# define UINT16_MAX (65535) +#endif +# define UINT32_MAX (4294967295U) +#ifndef UINT64_MAX +# define UINT64_MAX (__UINT64_C(18446744073709551615)) +#endif + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5 +$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_stdint_h" || +$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ + X"$ac_stdint_h" : 'X\(//\)$' \| \ + X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_stdint_h" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi + ;; + "$ax_create_pkgconfig_generate":C) +pkgconfig_generate="$ax_create_pkgconfig_generate" +if test ! -f "$pkgconfig_generate.in" +then generate="true" +elif grep ' generated by configure ' $pkgconfig_generate.in >/dev/null +then generate="true" +else generate="false"; +fi +if $generate ; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $pkgconfig_generate.in" >&5 +$as_echo "$as_me: creating $pkgconfig_generate.in" >&6;} +cat > $pkgconfig_generate.in <<AXEOF +# generated by configure / remove this line to disable regeneration +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +libdir=@libdir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ +includedir=@includedir@ +package=@PACKAGE@ +suffix=@suffix@ + +Name: @PACKAGE_NAME@ +Description: @PACKAGE_DESCRIPTION@ +Version: @PACKAGE_VERSION@ +Requires: @PACKAGE_REQUIRES@ +Libs: -L\${libdir} @LDFLAGS@ @LIBS@ +Cflags: -I\${includedir} @CPPFLAGS@ +AXEOF +fi # DONE generate $pkgconfig_generate.in +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $pkgconfig_generate" >&5 +$as_echo "$as_me: creating $pkgconfig_generate" >&6;} +cat >conftest.sed <<AXEOF +s|@prefix@|${pkgconfig_prefix}| +s|@exec_prefix@|${pkgconfig_execprefix}| +s|@bindir@|${pkgconfig_bindir}| +s|@libdir@|${pkgconfig_libdir}| +s|@datarootdir@|${pkgconfig_datarootdir}| +s|@datadir@|${pkgconfig_datadir}| +s|@sysconfdir@|${pkgconfig_sysconfdir}| +s|@includedir@|${pkgconfig_includedir}| +s|@suffix@|${pkgconfig_suffix}| +s|@PACKAGE@|${pkgconfig_package}| +s|@PACKAGE_NAME@|${pkgconfig_libname}| +s|@PACKAGE_DESCRIPTION@|${pkgconfig_description}| +s|@PACKAGE_VERSION@|${pkgconfig_version}| +s|@PACKAGE_REQUIRES@|${pkgconfig_requires}| +s|@LIBS@|${pkgconfig_libs}| +s|@LDFLAGS@|${pkgconfig_ldflags}| +s|@CPPFLAGS@|${pkgconfig_cppflags}| +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_generate +if test ! -s $pkgconfig_generate ; then + as_fn_error $? "$pkgconfig_generate is empty" "$LINENO" 5 +fi ; rm conftest.sed # DONE generate $pkgconfig_generate +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.pc/'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $pkgconfig_uninstalled" >&5 +$as_echo "$as_me: creating $pkgconfig_uninstalled" >&6;} +cat >conftest.sed <<AXEOF +s|@prefix@|${pkgconfig_prefix}| +s|@exec_prefix@|${pkgconfig_execprefix}| +s|@bindir@|${pkgconfig_bindir}| +s|@libdir@|${pkgconfig_src_libdir}| +s|@datarootdir@|${pkgconfig_datarootdir}| +s|@datadir@|${pkgconfig_datadir}| +s|@sysconfdir@|${pkgconfig_sysconfdir}| +s|@includedir@|${pkgconfig_src_headers}| +s|@suffix@|${pkgconfig_suffix}| +s|@PACKAGE@|${pkgconfig_package}| +s|@PACKAGE_NAME@|${pkgconfig_libname}| +s|@PACKAGE_DESCRIPTION@|${pkgconfig_description}| +s|@PACKAGE_VERSION@|${pkgconfig_version}| +s|@PACKAGE_REQUIRES@|${pkgconfig_requires}| +s|@LIBS@|${pkgconfig_libs}| +s|@LDFLAGS@|${pkgconfig_ldflags}| +s|@CPPFLAGS@|${pkgconfig_cppflags}| +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + as_fn_error $? "$pkgconfig_uninstalled is empty" "$LINENO" 5 +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled + pkgconfig_requires_add=`echo ${pkgconfig_requires}` +if test ".$pkgconfig_requires_add" != "." ; then + pkgconfig_requires_add="pkg-config $pkgconfig_requires_add" + else pkgconfig_requires_add=":" ; fi +pkgconfig_uninstalled=`echo $pkgconfig_generate |sed 's/.pc$/-uninstalled.sh/'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $pkgconfig_uninstalled" >&5 +$as_echo "$as_me: creating $pkgconfig_uninstalled" >&6;} +cat >conftest.sed <<AXEOF +s|@prefix@|\"${pkgconfig_prefix}\"| +s|@exec_prefix@|\"${pkgconfig_execprefix}\"| +s|@bindir@|\"${pkgconfig_bindir}\"| +s|@libdir@|\"${pkgconfig_src_libdir}\"| +s|@datarootdir@|\"${pkgconfig_datarootdir}\"| +s|@datadir@|\"${pkgconfig_datadir}\"| +s|@sysconfdir@|\"${pkgconfig_sysconfdir}\"| +s|@includedir@|\"${pkgconfig_src_headers}\"| +s|@suffix@|\"${pkgconfig_suffix}\"| +s|@PACKAGE@|\"${pkgconfig_package}\"| +s|@PACKAGE_NAME@|\"${pkgconfig_libname}\"| +s|@PACKAGE_DESCRIPTION@|\"${pkgconfig_description}\"| +s|@PACKAGE_VERSION@|\"${pkgconfig_version}\"| +s|@PACKAGE_REQUIRES@|\"${pkgconfig_requires}\"| +s|@LIBS@|\"${pkgconfig_libs}\"| +s|@LDFLAGS@|\"${pkgconfig_ldflags}\"| +s|@CPPFLAGS@|\"${pkgconfig_cppflags}\"| +s>Name:>for option\\; do case \"\$option\" in --list-all|--name) echo > +s>Description: *>\\;\\; --help) pkg-config --help \\; echo Buildscript Of > +s>Version: *>\\;\\; --modversion|--version) echo > +s>Requires:>\\;\\; --requires) echo $pkgconfig_requires_add> +s>Libs: *>\\;\\; --libs) echo > +s>Cflags: *>\\;\\; --cflags) echo > +/--libs)/a\\ + $pkgconfig_requires_add +/--cflags)/a\\ + $pkgconfig_requires_add\\ +;; --variable=*) eval echo '\$'\`echo \$option | sed -e 's/.*=//'\`\\ +;; --uninstalled) exit 0 \\ +;; *) ;; esac done +AXEOF +sed -f conftest.sed $pkgconfig_generate.in > $pkgconfig_uninstalled +if test ! -s $pkgconfig_uninstalled ; then + as_fn_error $? "$pkgconfig_uninstalled is empty" "$LINENO" 5 +fi ; rm conftest.sed # DONE generate $pkgconfig_uninstalled + ;; + "bound_test.sh":F) chmod +x bound_test.sh ;; + "codegen_test.sh":F) chmod +x codegen_test.sh ;; + "pip_test.sh":F) chmod +x pip_test.sh ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + + ac_configure_args="$ac_configure_args $isl_configure_args" + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/polly/lib/External/isl/depcomp b/polly/lib/External/isl/depcomp new file mode 100644 index 00000000000..4ebd5b3a2f2 --- /dev/null +++ b/polly/lib/External/isl/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2013-05-30.07; # UTC + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/polly/lib/External/isl/doc/Makefile.in b/polly/lib/External/isl/doc/Makefile.in new file mode 100644 index 00000000000..b5f56eb92bc --- /dev/null +++ b/polly/lib/External/isl/doc/Makefile.in @@ -0,0 +1,473 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_c___attribute__.m4 \ + $(top_srcdir)/m4/ax_cc_maxopt.m4 \ + $(top_srcdir)/m4/ax_check_compiler_flags.m4 \ + $(top_srcdir)/m4/ax_compiler_vendor.m4 \ + $(top_srcdir)/m4/ax_create_pkgconfig_info.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_detect_git_head.m4 \ + $(top_srcdir)/m4/ax_detect_gmp.m4 \ + $(top_srcdir)/m4/ax_detect_imath.m4 \ + $(top_srcdir)/m4/ax_gcc_archflag.m4 \ + $(top_srcdir)/m4/ax_gcc_warn_unused_result.m4 \ + $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \ + $(top_srcdir)/m4/ax_set_warning_flags.m4 \ + $(top_srcdir)/m4/ax_submodule.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/isl_config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLANG_CXXFLAGS = @CLANG_CXXFLAGS@ +CLANG_LDFLAGS = @CLANG_LDFLAGS@ +CLANG_LIBS = @CLANG_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GIT_HEAD = @GIT_HEAD@ +GIT_HEAD_ID = @GIT_HEAD_ID@ +GIT_HEAD_VERSION = @GIT_HEAD_VERSION@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_CLANG_EDIT = @LIB_CLANG_EDIT@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MP_CPPFLAGS = @MP_CPPFLAGS@ +MP_LDFLAGS = @MP_LDFLAGS@ +MP_LIBS = @MP_LIBS@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PERL = @PERL@ +POD2HTML = @POD2HTML@ +PRTDIAG = @PRTDIAG@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +WARNING_FLAGS = @WARNING_FLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +llvm_config_found = @llvm_config_found@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfig_libdir = @pkgconfig_libdir@ +pkgconfig_libfile = @pkgconfig_libfile@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +versioninfo = @versioninfo@ +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am + +@GENERATE_DOC_TRUE@export TEXINPUTS := $(srcdir):$(TEXINPUTS) +@GENERATE_DOC_TRUE@export BIBINPUTS := $(srcdir):$(BIBINPUTS) +@GENERATE_DOC_TRUE@export BSTINPUTS := $(srcdir):$(BSTINPUTS) + +@GENERATE_DOC_TRUE@user.tex: user.pod +@GENERATE_DOC_TRUE@ $(PERL) $(srcdir)/mypod2latex $< $@ +@GENERATE_DOC_TRUE@manual.pdf: manual.tex user.tex $(srcdir)/implementation.tex +@GENERATE_DOC_TRUE@ (cd ..; echo "@GIT_HEAD_VERSION@") > version.tex +@GENERATE_DOC_TRUE@ $(PDFLATEX) $< +@GENERATE_DOC_TRUE@ bibtex manual +@GENERATE_DOC_TRUE@ $(PDFLATEX) $< +@GENERATE_DOC_TRUE@ $(PDFLATEX) $< +@GENERATE_DOC_TRUE@user.html: user.pod +@GENERATE_DOC_TRUE@ (cd ..; echo "@GIT_HEAD_VERSION@") > version +@GENERATE_DOC_TRUE@ $(POD2HTML) --infile=$< --outfile=$@ --title="Integer Set Library: Manual [version `cat version`]" + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/polly/lib/External/isl/doc/manual.pdf b/polly/lib/External/isl/doc/manual.pdf new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/polly/lib/External/isl/doc/manual.pdf diff --git a/polly/lib/External/isl/gitversion.h b/polly/lib/External/isl/gitversion.h deleted file mode 100644 index 43e9725aeb4..00000000000 --- a/polly/lib/External/isl/gitversion.h +++ /dev/null @@ -1 +0,0 @@ -#define GIT_HEAD_ID "isl-0.15-3-g532568a" diff --git a/polly/lib/External/isl/imath/ChangeLog b/polly/lib/External/isl/imath/ChangeLog deleted file mode 100644 index f26d415c381..00000000000 --- a/polly/lib/External/isl/imath/ChangeLog +++ /dev/null @@ -1,382 +0,0 @@ -1.0.1 - First released version. - -1.0.2 - Fixed a bug in mp_int_div() which would yield incorrect quotients - when the divisor was very close in value to a prefix of the - dividend. This is now fixed, and there are regression tests in - the tests directory. - - Added recursive multiplication and squaring (Karatsuba-Ofman) for - large input values. Integrated these with the existing code for - exponentiation, too. See the code for s_kmul() and s_ksqr() in - imath.c. Tests added and verified against GNU bc. - - Added documentation on mp_get_multiply_threshold() and the reason - why it exists. - -1.0.3 - Fixed a couple of bugs in pi.c that were causing incorrect values - to be computed for > 30 digits or so. Added a pi-computation test - to the default test suite (make test), checked against a static - file computed by bc (set scale=1024, compute 4 * atan(1)). Added - command line option to specify output radix for pi. - - Cleaned up a sign-related bug in mp_int_gcd(), which would cause - the sign of gcd(0, x) to be incorrect when x < 0. Test cases - added for future regression. - - Fixed a bug in s_reduce() which would give incorrect results for - powers of 2 in certain circumstances. Added tests to drive this - case for future regression. - - Added mp_int_exptmod_evalue() and mp_int_exptmod_bvalue() to make - it easier to work with small bases and small exponents. - - Set default recursive multiplication threshold to 50 digits, since - this seems to work best for the platforms I've tested so far. - - Added iprime.h and iprime.c to the distribution. - -1.0.4 - Added `findsizes.pl' to the distribution. - - Revised the type declarations in imath.h to use 32/64 bit - operations where the "long long" type is supported. - - Fixed a sign-related bug in mp_int_invmod(). - - Fixed several small bugs related to shifting which affect the use - of 32-bit digits. Many architectures cannot shift by 32 bits at a - time (e.g., MIPS), so I split each of these cases into two shifts - of half the size, which should scale properly for both the smaller - and larger cases. - - Fixed several arithmetic issues with 32-bit digits that arose due - to missing type-casts on the right-hand sides of assignments. - - Fixed s_print() and s_print_buf() to handle the sizes of digits - transparently. - -1.0.5 - Updated the Makefile to include the _GNU_SOURCE macro. For many - GCC systems, this is necessary to get the correct definition of - the ULLONG_MAX macro in <limits.h>. Also, you may now build with - the make option DEBUG=Y to enable debugging, e.g.: - - make DEBUG=Y imtest - - By default, the Makefile builds with the optimizer enabled. - - Cleaned up the definitions triggered by USE_LONG_LONG in imath.h, - and added an #error instruction in case the build is unable to - find a definition of ULLONG_MAX or ULONG_LONG_MAX in <limits.h>. - Also added the mp_int_to_unsigned(), mp_int_read_unsigned(), and - mp_int_unsigned_len() prototypes. - - Fixed a bug in s_qmul() [imath.c:2493] that would grow the value - being multiplied even if there was room in the existing digits to - hold the result. This was driving an (apparent) bug in the more - general mp_int_read_binary() routine. Added the routines - mentioned in the previous paragraph, and factored some common - code out into a static s_tobin(). - - Added reset_registers() to imdrover.{h,c}. Added new test - driver functions test_to_uns() and test_read_uns(). Renamed - test_read_bin to test_read_binary(). - - Silenced a sign-related warning in pi.c (related to printf). - - Added many new test vectors to tests/conv.t, including the - original bug proof-of-concept from Tom Wu, and a series of new - tests for the unsigned conversion routines. - - Updated `doc.txt' to reflect the changes described above. - -1.0.6 - Updated copyright notices, added LICENSE file explaining the - license I am using. This is basically the BSD license, so - you should have no trouble incorporating this code into other - open source projects. - - No new functionality in this release. - -1.0.7 - The mp_int_invmod(a, m, c) function would compute a negative value - for c when given a < 0. I added some code to insure that the value - returned is always the least non-negative member of the congruence - class, if the inverse exists. A test for this was added to invmod.t. - -1.0.8 - Fixed a small buffer-overrun in s_qmul(). Because it only - allocates an extra digit if it absolutely has to, the test for - whether it needs to carry a shift out into the "spare" digit had - to be written carefully; I missed a subtlety, which is now - fixed. Along the way, I fixed a minor performance-related bug in - the same routine. - - Added mp_int_error_string(), which converts mp_result values - into descriptive strings. These are statically allocated, so - you don't have to free them. - - This version also adds an "examples" subdirectory. Currently, - there is only one program there, but I will add more examples as - time permits me. You have to read the source to understand them - anyway, so I won't explain them here. - -1.1.0 - Added imrat.h and imrat.c, containing routines for rational number - arithmetic at arbitrary precision. Added support to the test driver, - in imath.c and included various tests in the tests/ subdirectory. - - Fixed a sign-of-zero bug in mp_int_mul(). Tests added to mul.t to - regress this fix. - -1.1.2 - Fixed a bug with leading zeroes after the decimal point in the - mp_rat_read_decimal() function (imrat.c). Along the way, I also - found a sign-related bug, in which -0.5 would be treated as if it - were positive, because the sign of zero is implicitly positive, - and the denominator is treated as unsigned always. - - Thanks to Eric Silva for pointing out the leading zeroes bug. - The solution isn't the most efficient possible. - -1.1.3 - Rewrote mp_int_to_decimal() to support new rounding modes. The - modes are documented in doc.txt. Some of the code sucked anyway, - so I rewrote pretty much the entire function. - - Added new rounding mode constants. - -1.1.4 - Added mixed rational/integer operations: - mp_rat_add_int, mp_rat_sub_int, mp_rat_mul_int, mp_rat_div_int - Added rational exponentiation (with integer exponents): - mp_rat_expt - - Tests for same were added to the tests/ subdirectory. - -1.1.5 - Added mp_rat_read_cdecimal() and mp_rat_read_ustring() - Updated the input.c example. - -1.1.6 - Fixed a bug in mp_int_read_cstring() which would read the string - "-0" with incorrect sign (MP_NEG instead of MP_ZPOS). This would - violate an invariant that zero is always signed with positives. - - Added some tests to tests/neg.t to catch this case. - -1.1.7 - Fixed a bug in s_udiv(), internal to imath.c, which caused - division to fail in some corner cases masked by the use of long - long as a word type. As a result, s_udiv() has now been wholly - rewritten. I also fixed a few lingering buffer-length errors in - s_kmul(), and added a "const" qualifier to the input buffers for - the mp_int_read_string() and mp_int_read_cstring() functions, - and their analogs in imrat.c. - -1.1.8 - Added mp_int_alloc() and mp_int_free(). - -1.1.9 - Added mp_rat_alloc() and mp_rat_free(). Fixed a couple of minor - bugs in the doc.txt file. Added mp_int_sqrt() to imath.{h,c} and - doc.txt. - -1.2 - Dropped bugfix component of revision number. Fixed rsakey.c - example program to be complete and work faster. - -1.3 - Replaced findsizes.pl with findsizes.py. Fixed two bugs in the - rsakey tool that were leading to incorrect output. - -1.4 - Fixed a bug in mp_int_alloc(), it was not returning NULL when out - of memory, but rather failing in assert() instead. Also, updated - the documentation to have better language about the return values - in various error conditions. - -1.5 - Changed the API for rational rounding. Removed the two functions - mp_rat_set_rounding() and mp_rat_get_rounding(), along with the - round_output global variable. Redefined the MP_ROUND_* constants - as an enumeration type (mp_round_mode). Added a new parameter to - the mp_rat_to_decimal() function to accept a rounding mode. Unit - tests and doc.txt updated suitably. - - This release also incorporates a small patch submitted by Jonathan - Shapiro to support compilation in C++. - -1.6 - Defined default_precision and multiply_threshold to be constant - and static. If IMATH_TEST is defined at compile time, these are - made global, and can be modified by the caller (the imtimer tool - makes use of this ability, for example). - - Implemented a single-digit optimization suggested by J. Shapiro. - Documentation updated. - -1.7 - Fixed a subtle casting problem in the use of the ctype macros that - would permit negative signed character values to produce illogical - behaviour in some configurations (e.g., NetBSD). Removed a dead - "return" statement. - - Added the -pedantic switch for gcc, to get more aggressive - warnings; to permit the nonstandard "long long" type to still be - used, I also added -Wno-long-long when building with long long - enabled (the standard configuration). - - Fixed a bug found by the Samba team running Valgrind on the - Heimdal project, and reported by Love Hörnquist Âstrand: One of - the intermediate values used during modular exponentiation could - be overflowed during recursive multiplication. Fixed by taking a - more conservative approach to buffer sizing. - - Added a "contrib" subdirectory, whose first entry is a Makefile - to build IMath with the MSVC++ "nmake" program, contributed by - Matus Horvath. - -1.8 - Fixed a bug in s_udiv() affecting the computation of quotient - digits. Thanks to Love Âstrand for isolating this bug. Also in - this release, defining USELLONG=Y or USELLONG=N on the command - line for make will switch support for the "long long" data type on - or off without having to edit the Makefile. The default is still - to permit use of "long long", even though the type is not standard - ANSI C90. - -1.9 - Increased the number of small primes used for primality testing to - 100 from 32. Removed an unwanted #define from imath.c, left over - from testing; added "static" to the declaration of the s_embar() - internal function since it is not used outside imath.c. Reduced - the quantity of feedback generated by rsakey.c during the prime - finding stage of key generation. - -1.10 - All primes less than 1000 are now used in iprime.c for preliminary - testing of prime candidates. Removed declaration of s_pad() from - rsakey.c example. Added imcalc.c example. - - Beginning with this release, defining the DEBUG preprocessor macro - when compiling imath.c causes all the normally-static helper - functions to be exported. This makes it easier to troubleshoot - bugs in the back end functions without manually editing the source - till you have found where the bug actually is. - - Fixed a memory leak in the test driver (imtest.c) where the input - buffers allocated for test specs were not released before being - released. No impact on the core routines, but nevertheless not a - good thing. - - Fixed several uninitialized memory reads and one subtle read past - the end of a buffer in s_kmul(), found during a run of Purify. - Thanks to Love Hörnquist Âstrand for finding this one, and - providing a good test case so I could isolate the problem. Also - fixed a buglet in s_kmul(), in which free() was being called - instead of s_free(), which would break if you provided a custom - version of s_alloc() and s_free() for your application. - -1.11 - Those functions which take int parameters to supply one or more of - the arithmetic values of the function have been converted to use a - typedef "mp_small". This is defined in imath.h, along with some - supporting macros. - - Added mp_int_to_uint() and mp_int_lcm() in imath.{h,c}, based on a - patch contributed by Hal Finkel. Added LCM tests as as well as - some more GCD tests in tests/lcm.t and tests/gcd.t - - Also at Hal Finkel's request, added mp_int_root() to compute the - integer nth root, i.e., \lfloor a^{1/b}\rfloor; replaced the old - mp_int_sqrt() function with a call to mp_int_root() via a macro. - The new implementation is probably slightly less efficient for - square roots, but more general. Added tests/root.t and moved the - sqrt tests there, also. - -1.12 - Added a new global constant MP_MINERR which is the value of the - smallest error code defined by IMath itself. This can be used by - clients who wish to define and use additional error codes, so that - those codes will not conflict with the existing set. - - Extended the imcalc example to include memory. - - Fixed a bug in mp_int_add() in which -1 + 1 = -0 (the sign of zero - was recorded incorrectly). Added tests to the regression suite - for this fix. - -1.13 - Cosmetic change -- updated all the files with my new web address. - - Fixed a buglet caught by Love Hörnquist Âstrand using the LLVM - static checker tools, in which a mp_int_copy() failure would be - silently ignored and cause an extra copy to be generated. - - Fixed a bug in the testing suite while building on MinGW. The pi - generation tests compare to static files and these tests fail if - CR/LF is output instead of just LF. The test script now strips - all CR and LF from the output and compares to files lacking them. - Reported by Chris Cole <cjcole@gmail.com>. - -1.14 - Instead of using the preprocessor to delete "static", the static - definitions in imath.c now use an explicit STATIC macro, that is - made null when DEBUG is defined. This avoids a subtle problem - with static variables defined inside functions (although no bugs - actually arose from it). - - Fixed a bug in s_udiv() while building on MinGW. When building - with short type digits, the routine was incorrectly discarding - overflow when computing the next quotient digit. - Reported by Paul DeMarco <pdemarco@ppg.com>. - -1.15 - Fixed a bug in the definition of MP_DIGIT_MAX that caused errors - when IMath is built under 64-bit Linux. Reported by - Klaus Stengel <klaus.stengel@informatik.stud.uni-erlangen.de>. - - Unpacked the macro definitions in imath.c a bit, to make them more - readable. - - Added mp_int_expt_full() by request of Andrea Barberio - <insomniac@slackware.it>. - -1.16 - Fixed a bug in mp_int_to_uint() which was causing incorrect MP_RANGE - errors during small integer conversion. - Reported by Andrea Barberio <insomniac@slackware.it> - - Added mp_int_compare_uvalue(). - Added some new testing hooks in imtest.c, new unit tests. - - Made some code style changes that do not affect functionality. - -1.17 - Fixed a bug in mp_int_swap() where mpz_t structures using their single - field as storage would not get swapped correctly. - Reported by Andres Navarro <canavarro82@gmail.com> - - Added regression test for this and some hooks for future - regressions in the tests/test.sh script. - -1.18 - Made mp_int_rat() use mp_int_init() to initialize numerator and - denominator instead of mp_int_init_size(). - Some minor code cleanup inside the testing code (imdrover.c). - - Fixed an off-by-one bug in s_udiv() which could cause the quotient - guessing loop to spin. Reported by Andres Navarro. Added - triggering example to div.t as a regression test. - -1.19 - Fix signedness error in compile. Reported by PaweÅ‚ Sikora. - -1.20 - Fix broken comments, apparently from a previous bad merge. - Remove emacs folding-mode comments throughout. - Some minor Makefile cleanup to make clang happier. diff --git a/polly/lib/External/isl/imath/LICENSE b/polly/lib/External/isl/imath/LICENSE deleted file mode 100644 index 087fb612583..00000000000 --- a/polly/lib/External/isl/imath/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -IMath is Copyright © 2002-2009 Michael J. Fromberger -You may use it subject to the following Licensing Terms: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/polly/lib/External/isl/imath/README.md b/polly/lib/External/isl/imath/README.md deleted file mode 100644 index 637467177d0..00000000000 --- a/polly/lib/External/isl/imath/README.md +++ /dev/null @@ -1,106 +0,0 @@ -IMath -===== - -Arbitrary precision integer and rational arithmetic library. - -IMath is an open-source ANSI C arbitrary precision integer and rational -arithmetic library. - -IMath is copyright © 2002-2009 Michael J. Fromberger. - -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. - - -About IMath ------------ - -IMath is a library written in portable ANSI C that allows you to perform -arithmetic on integers and rational numbers of arbitrary precision. While many -programming languages, including Java, Perl, and Python provide arbitrary -precision numbers as a standard library or language feature, C does not. - -IMath was designed to be small, self-contained, easy to understand and use, and -as portable as possible across various platforms. The API is simple, and the -code should be comparatively easy to modify or extend. Simplicity and -portability are useful goals for some applications—however, IMath does -not attempt to break performance records. If you need the fastest possible -implementation, you might consider some other libraries, such as GNU MP (GMP), -MIRACL, or the bignum library from OpenSSL. - -Programming with IMath ----------------------- - -Detailed descriptions of the IMath API can be found in `doc.txt`. However, the -following is a brief synopsis of how to get started with some simple tasks. - -To do basic integer arithmetic, you must declare variables of type `mpz_t` in -your program, and call the functions defined in `imath.h` to operate on them. -Here is a simple example that reads one base-10 integer from the command line, -multiplies it by another (fixed) value, and prints the result to the standard -output in base-10 notation: - - #include <stdio.h> - #include <stdlib.h> - #include "imath.h" - - int main(int argc, char *argv[]) - { - mpz_t a, b; - char *buf; - int len; - - if(argc < 2) { - fprintf(stderr, "Usage: testprogram <integer>\n"); - return 1; - } - - /* Initialize a new zero-valued mpz_t structure */ - mp_int_init(&a); - - /* Initialize a new mpz_t with a small integer value */ - mp_int_init_value(&b, 25101); - - /* Read a string value in the specified radix */ - mp_int_read_string(&a, 10, argv[1]); - - /* Multiply the two together... */ - mp_int_mul(&a, &b, &a); - - /* Print out the result */ - len = mp_int_string_len(&a, 10); - buf = calloc(len, sizeof(*buf)); - mp_int_to_string(&a, 10, buf, len); - printf("result = %s\n", buf); - free(buf); - - /* Release memory occupied by mpz_t structures when finished */ - mp_int_clear(&b); - mp_int_clear(&a); - - return 0; - } - -This simple example program does not do any error checking, but all the IMath -API functions return an `mp_result` value which can be used to detect various -problems like range errors, running out of memory, and undefined results. - -The IMath API also supports operations on arbitrary precision rational numbers. -The functions for creating and manipulating rational values (type `mpq_t`) are -defined in `imrat.h`, so that you need only include them in your project if you -wish to. diff --git a/polly/lib/External/isl/imath/bintest.c b/polly/lib/External/isl/imath/bintest.c deleted file mode 100644 index bec34945da2..00000000000 --- a/polly/lib/External/isl/imath/bintest.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - Name: bintest.c - Purpose: Test driver for binary input/output formats from IMath. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "imath.h" - -int main(int argc, char *argv[]) -{ - unsigned char buf[512]; - mpz_t v, w; - mp_result res; - int len; - - if(argc < 2 || argv[1][0] == '\0') { - fprintf(stderr, "Usage: bintest <value>\n"); - return 1; - } - - mp_int_init(&v); - mp_int_init(&w); - res = mp_int_read_string(&v, 10, argv[1]); - printf("Result code from mp_int_read_string() = %d (%s)\n", - res, mp_error_string(res)); - - len = mp_int_binary_len(&v); - printf("%d bytes needed to write this value in 2's complement.\n", len); - - res = mp_int_to_binary(&v, buf, sizeof(buf)); - printf("Result code from mp_int_to_binary() = %d (%s)\n", - res, mp_error_string(res)); - if(res == MP_OK) { - int ix; - - for(ix = 0; ix < (len - 1); ++ix) - printf("%d.", buf[ix]); - - printf("%d\n", buf[ix]); - } else { - return 1; - } - - /* Try converting back... */ - res = mp_int_read_binary(&w, buf, len); - printf("Result code from mp_int_read_binary() = %d (%s)\n", - res, mp_error_string(res)); - if(res == MP_OK) { - mp_int_to_string(&w, 10, (char *) buf, sizeof(buf)); - - printf("[%s]\n\n", buf); - } - - len = mp_int_unsigned_len(&v); - printf("%d bytes needed to write this value as unsigned.\n", len); - - res = mp_int_to_unsigned(&v, buf, sizeof(buf)); - printf("Result code from mp_int_to_unsigned() = %d\n", res); - if(res == MP_OK) { - int ix; - - for(ix = 0; ix < (len - 1); ++ix) - printf("%d.", buf[ix]); - - printf("%d\n", buf[ix]); - } else { - return 1; - } - - res = mp_int_read_unsigned(&w, buf, len); - printf("Result code from mp_int_read_unsigned() = %d (%s)\n", - res, mp_error_string(res)); - if(res == MP_OK) { - mp_int_to_string(&w, 10, (char *) buf, sizeof(buf)); - - printf("[%s]\n\n", buf); - } - - mp_int_clear(&v); - mp_int_clear(&w); - return 0; -} diff --git a/polly/lib/External/isl/imath/bug-swap.c b/polly/lib/External/isl/imath/bug-swap.c deleted file mode 100644 index c9adca9f928..00000000000 --- a/polly/lib/External/isl/imath/bug-swap.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Regression test for mp_int_swap() bug on self-stored values. */ -#include <stdio.h> -#include "imath.h" - -int main(int argc, char* argv[]) { - mpz_t a, b; - int result; - - mp_int_init_value(&a, 1); - mp_int_init_value(&b, 16); - - mp_int_swap(&a, &b); - result = (a.digits == &(a.single) && - b.digits == &(b.single) && - a.digits[0] == 16 && - b.digits[0] == 1); - - printf("REGRESSION: mp_int_swap() on self-stored values: %s\n", - result ? "OK" : "FAILED"); - - mp_int_clear(&b); - mp_int_clear(&a); - return !result; -} - diff --git a/polly/lib/External/isl/imath/contrib/Makefile.msvc b/polly/lib/External/isl/imath/contrib/Makefile.msvc deleted file mode 100644 index 0eb24fb352a..00000000000 --- a/polly/lib/External/isl/imath/contrib/Makefile.msvc +++ /dev/null @@ -1,84 +0,0 @@ -## -## Name: Makefile.msvc -## Purpose: Makefile for IMath library and associated tools -## for Microsoft Visual Studio 2005 -## Author: Matus Horvath <matus.horvath@nextra.sk> -## -## Copyright (C) 2006 Matus Horvath. Permission has been granted to use, -## modify, and redistribute this file according to the terms of the IMath -## license. -## -## Usage: nmake /f Makefile.msvc -## - -# --- begin configuration section --- - -## Settings for Microsoft Windows systems using nmake. -## To build with debugging, add DEBUG=Y on the "nmake" command line. -CC=cl.exe -LD=link.exe -CFLAGS=$(CFLAGS) -nologo -I. -D_CRT_SECURE_NO_DEPRECATE $(DCFLAGS) -LDFLAGS=$(LDFLAGS) -nologo $(DLDFLAGS) -LIBS=$(DLIBS) - -!if "$(DEBUG)" == "Y" -DCFLAGS=-ZI -Od -DDEBUG=1 -DTRACEABLE_FREE=1 -DLDFLAGS=-DEBUG -#DLIBS=-lefence -!else -DCFLAGS=-O2 -Ob2 -DLDFLAGS= -#DLIBS= -!endif - -## Visual Studio C/C++ 2005 compiler supports "long long" 64-bit type. -CFLAGS=$(CFLAGS) -DUSE_LONG_LONG - -# --- end of configuration section --- -TARGETS=imtest.exe pi.exe bintest.exe findprime.exe -HDRS=imath.h imrat.h iprime.h imdrover.h rsamath.h -SRCS=$(HDRS:.h=.c) $(TARGETS:.exe=.c) -OBJS=$(SRCS:.c=.obj) -EXAMPLES=input.exe basecvt.exe rounding.exe - -.c.obj: - $(CC) $(CFLAGS) -c $< - -all: objs examples test - -objs: $(OBJS) - -# Because Visual Studio does not permit Unix shell syntax, you will -# have to run the tests manually once the "test" target is built. -test: imtest.exe pi.exe -# @ echo "" -# @ echo "Running tests, you should not see any 'FAILED' lines here." -# @ echo "If you do, please see doc.txt for how to report a bug." -# @ echo "" -# (cd tests && ./test.sh) - -$(EXAMPLES): imath.obj imrat.obj iprime.obj examples/$*.obj - @move $*.obj examples/$*.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -examples: $(EXAMPLES) - -imtest.exe: imtest.obj imath.obj imrat.obj imdrover.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -pi.exe: pi.obj imath.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -findprime.exe: findprime.obj imath.obj iprime.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -rtest.exe: rtest.obj imath.obj rsamath.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -bintest.exe: imath.obj bintest.obj - $(LD) $(LDFLAGS) -out:$@ $** $(LIBS) - -clean: - del /q /f *.exe *.obj examples\*.obj - -# End of Makefile.msvc diff --git a/polly/lib/External/isl/imath/contrib/README b/polly/lib/External/isl/imath/contrib/README deleted file mode 100644 index b699944123b..00000000000 --- a/polly/lib/External/isl/imath/contrib/README +++ /dev/null @@ -1,3 +0,0 @@ -The files in this directory have been contributed to the IMath project -by other authors. - diff --git a/polly/lib/External/isl/imath/divide.txt b/polly/lib/External/isl/imath/divide.txt deleted file mode 100644 index 41092b3a606..00000000000 --- a/polly/lib/External/isl/imath/divide.txt +++ /dev/null @@ -1,43 +0,0 @@ -Algorithm for Arbitrary Precision Unsigned Division - -Inputs: - A = [a1 ... an] -- array representation - B = [b1 ... bm] - ai, bi \in {0,..radix} - -Preconditions: - n >= m - -Outputs: - Q, R satisfying A = QB + R with 0 <= R < B. - -let Q = [], j = n, i = 1, skip = 0 in - while j > 0 do - if B > A[j,..j + i + 1] then - decrement j - increment i - increment skip - if skip > 1 then - Q.append(0) - else - let pfx = A[j] in - if pfx < bm and j > 1 then - pfx := pfx * radix + A[j - 1] - - q := pfx div bm - if q >= radix then - if q > radix then - q = radix - else - q := 1 - - let t = B * q in - while t > A[j,..j + i + 1] do - t := t - B - decrement q - - Q.append(q) - skip := 0 - end - - result Q, A diff --git a/polly/lib/External/isl/imath/doc.txt b/polly/lib/External/isl/imath/doc.txt deleted file mode 100644 index 12f7ee62e55..00000000000 --- a/polly/lib/External/isl/imath/doc.txt +++ /dev/null @@ -1,820 +0,0 @@ -Name: doc.txt -Purpose: User documentation for IMath library -Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - ---- Installation: - -1. Edit Makefile to select compiler and options. The default uses gcc. If you - are building under MacOS 10.1.x, you will need to change CC to 'cc' instead - of 'gcc', but otherwise you can use the default GCC settings. - - By default, the Makefile assumes you can use the "long long" integer type, - even though it is not standard in ANSI C90. You can control this by setting - the USELLONG variable in your make command line. Setting USELLONG=Y enables - "long long"; USELLONG=N disables it. The default is Y. - - If the built-in types do not work for your particular platform, you can try - to find suitable integer type sizes by running the Python program - `findsizes.py'. This requires a Python interpreter, version 2.4.x or later. - -2. Type 'make' or 'make test' to build the test driver and run the unit tests. - None of these should fail. If they do, see below for how you can report - bugs. - - To build with debugging enabled (and optimization disabled), run make - DEBUG=Y. This sets the preprocessor macro DEBUG to 1, and several other - things (see Makefile for details). - -To use the library in your code, include "imath.h" wherever you intend to use -the library's routines. The integer library is just a single source file, so -you can compile it into your project in whatever way makes sense. If you wish -to use rational arithmetic, you will also need to include "imrat.h". - ---- Background: - -The basic types defined by the imath library are mpz_t, an arbitrary precision -signed integer, and mpq_t, an arbitrary precision signed rational number. The -type mp_int is a pointer to an mpz_t, and mp_rat is a pointer to an mpq_t. - -Most of the functions in the imath library return a value of type mp_result. -This is a signed integer type which can be used to convey status information -and also return small values. Any negative value is considered to be a status -message. The following constants are defined for processing these: - - MP_OK operation successful, all is well (= 0) - MP_FALSE boolean false (= MP_OK) - MP_TRUE boolean true - MP_MEMORY out of memory - MP_RANGE parameter out of range - MP_UNDEF result is undefined (e.g., division by zero) - MP_TRUNC output value was truncated - MP_BADARG an invalid parameter was passed - -If you obtain a zero or negative value of an mp_result, you can use the -mp_int_error_string() routine to obtain a pointer to a brief human readable -string describing the error. These strings are statically allocated, so they -need not be freed by the caller; the same strings are re-used from call to -call. - -Unless otherwise noted, it is legal to use the same parameter for both inputs -and output with most of the functions in this library. For example, you can -add a number to itself and replace the original by writing: - - mp_int_add(a, a, a); /* a = a + a */ - -Any cases in which this is not legal will be noted in the function summaries -below (if you discover that this is not so, please report it as a bug; I will -fix either the function or the documentation :) - ---- The IMath API - -Each of the API functions is documented here. The general format of the -entries is: - -return_type function_name(parameters ...) - English description. - -Unless otherwise noted, any API function that returns mp_result may be expected -to return MP_OK, MP_BADARG, or MP_MEMORY. Other return values should be -documented in the description. Please let me know if you discover this is not -the case. - -The following macros are defined in "imath.h", to define the sizes of the -various data types used in the library: - - MP_DIGIT_BIT : the number of bits in a single mpz_t digit. - MP_WORD_BIT : the number of bits in a mpz_t word. - MP_SMALL_MIN : the minimum value representable by an mp_small. - MP_SMALL_MAX : the maximum value representable by an mp_small. - MP_USMALL_MIN : the minimum value representable by an mp_usmall. - MP_USMALL_MAX : the maximum value representable by an mp_usmall. - MP_MIN_RADIX : the minimum radix accepted for base conversion. - MP_MAX_RADIX : the maximum radix accepted for base conversion. - -An mp_int must be initialized before use. This may be accomplished using the -following functions: - -mp_result mp_int_init(mp_int z); - Initializes z with a default precision, sets the value to zero. This - function cannot fail unless z is NULL. - -mp_int mp_int_alloc(); - Dynamically allocates an mpz_t, initializes it to the value zero, and - returns a pointer to it. Returns NULL in case of error (the only - error possible is MP_MEMORY in this case). - -mp_result mp_int_init_size(mp_int z, mp_size prec); - Initializes z with at least prec digits of storage, sets the value to - zero. If prec is zero, the default size is used, defined in imath.h - as MP_DEFAULT_PREC. The size is rounded up to the nearest word - boundary. - -mp_result mp_int_init_copy(mp_int z, mp_int old); - Initializes z to be a copy of an already-initialized mp_int in old. - They do not share storage. - -mp_result mp_int_init_value(mp_int z, mp_small value); - Initializes z with default precision and sets its value to the value - of the supplied integer. - -To copy one mp_int to another, use: - -mp_result mp_int_copy(mp_int a, mp_int c); - Copies the value of a into c. Does not allocate new memory unless a - has more significant digits than c has room for. - -When you are finished with an mp_int, you must free the memory it uses: - -void mp_int_clear(mp_int z); - Releases the storage used by z. - -void mp_int_free(mp_int z); - Releases the storage used by z, and frees the mpz_t structure z - points to. This should only be used for values allocated by - mp_int_alloc(). - -To set an mp_int, which has already been initialized, to a small integer value, -use the following: - -mp_result mp_int_set_value(mp_int z, mp_small value); - Sets the value of z to the value of the supplied integer. - -By default, an mp_int is initialized with a certain minimum amount of storage -for digits. This storage is expanded automatically as needed. - -- The arithmetic functions are: - -int mp_int_is_odd(mp_int z); - Returns true if z is an odd integer (z = 1 (mod 2)) - [currently implemented as a macro] - -int mp_int_is_even(mp_int z); - Returns true if z is an even integer (z = 0 (mod 2)) - [currently implemented as a macro] - -void mp_int_zero(mp_int z); - Sets z to zero. - -mp_result mp_int_abs(mp_int a, mp_int c); - Sets c to the absolute value of a. - If a < 0, c = -a, else c = a. - -mp_result mp_int_neg(mp_int a, mp_int c); - Sets c to be the additive inverse of a, c = -a. - -mp_result mp_int_add(mp_int a, mp_int b, mp_int c); - Computes c = a + b. - -mp_result mp_int_add_value(mp_int a, mp_small value, mp_int c); - Computes c = a + value, where value is a small integer. - -mp_result mp_int_sub(mp_int a, mp_int b, mp_int c); - Computes c = a - b. - -mp_result mp_int_sub_value(mp_int a, mp_small value, mp_int c); - Computes c = a - value, where value is a small integer. - -mp_result mp_int_mul(mp_int a, mp_int b, mp_int c); - Computes c = a * b - -mp_result mp_int_mul_value(mp_int a, mp_small value, mp_int c); - Computes c = a * value, where value is a small integer. - -mp_result mp_int_mul_pow2(mp_int a, mp_small p2, mp_int c); - Computes c = a * 2^p2, where p2 >= 0. - -mp_result mp_int_sqr(mp_int a, mp_int c); - Computes c = a * a. Faster than using mp_int_mul(a, a, c). - -mp_result mp_int_root(mp_int a, mp_small b, mp_int c); - Computes c = floor(a^{1/b}). Returns MP_UNDEF if the root is - undefined, i.e., if a < 0 and b is even. Uses Newton's method to - obtain the root. - -mp_result mp_int_sqrt(mp_int a, mp_int c); - Computes c = floor(sqrt(a)) if a >= 0. Returns MP_UNDEF if - a < 0. - [currently implemented as a macro] - -mp_result mp_int_div(mp_int a, mp_int b, mp_int q, mp_int r); - Computes q, r such that a = bq + r and 0 <= r < b. - - Pass NULL for q or r if you don't need its value. Detects and - handles division by powers of two in an efficient manner. Returns - MP_UNDEF if b = 0. If both q and r point to the same non-NULL - location, their values on output will be arbitrary (usually - incorrect). - -mp_result mp_int_div_value(mp_int a, mp_small v, mp_int q, mp_small *r); - Computes q, r such that a = qv + r and 0 <= r < v, where v is a small - integer. Pass NULL for q or r if you don't need its value. - -mp_result mp_int_div_pow2(mp_int a, mp_small p2, mp_int q, mp_int r); - Computes q, r such that a = q * 2^p2 + r. This is a special case for - division by powers of two that is much more efficient than using the - regular division algorithm. Note that mp_int_div() will - automatically handle this case if b = 2^k for some k >= 0; - mp_int_div_pow2() is for when you have only the exponent, not the - expanded value. - -mp_result mp_int_mod(mp_int a, mp_int m, mp_int c); - Computes the least non-negative residue of a (mod m), and assigns the - result to c. - -mp_result mp_int_mod_value(mp_int a, mp_int value, mp_small *r); - Computes the least non-negative residue of a (mod value), where value - is a small integer, and assigns the result to r. - -mp_result mp_int_expt(mp_int a, mp_small b, mp_int c); - Raises a to the b power, and assigns the result to c. It is an error - if b < 0. - -mp_result mp_int_expt_value(mp_small a, mp_small b, mp_int c); - Raises a to the b power, and assigns the result to c. It is an error - if b < 0. - -mp_result mp_int_expt_full(mp_int a, mp_int b, mp_int c); - Raises a to the b power, and assigns the result to c. It is an error - if b < 0. - -- Comparison functions: - -Unless otherwise specified, comparison between values x and y returns a value < -0 if x is less than y, = 0 if x is equal to y, and > 0 if x is greater than y. - -int mp_int_compare(mp_int a, mp_int b); - Signed comparison of a and b. - -int mp_int_compare_unsigned(mp_int a, mp_int b); - Unsigned (magnitude) comparison of a and b. The signs of a and b are - not modified. - -int mp_int_compare_zero(mp_int z); - Compare z to zero. - -int mp_int_compare_value(mp_int z, mp_small value); -int mp_int_compare_uvalue(mp_int z, mp_usmall value); - Compare z to small signed (value) or unsigned (uvalue) integer value. - -int mp_int_divisible_value(mp_int a, mp_small v); - Returns true (nonzero) if a is divisible by small integer v, - otherwise false (zero) - -int mp_int_is_pow2(mp_int z); - Returns k >= 0 such that z = 2^k, if such a k exists; otherwise a - value < 0 is returned. - -- Other useful functions: - -mp_result mp_int_exptmod(mp_int a, mp_int b, mp_int m, mp_int c); - Efficiently computes c = a^b (mod m). - Returns MP_UNDEF if m = 0; returns MP_RANGE if b < 0. - -mp_result mp_int_exptmod_evalue(mp_int a, mp_small v, mp_int m, mp_int c); - Efficiently computes c = a^v (mod m). -mp_result mp_int_exptmod_bvalue(mp_small v, mp_int b, mp_int m, mp_int c); - Efficiently computes c = v^b (mod m). - - Note: These routines use Barrett's algorithm for modular reduction. - It is widely held (probably correctly) that using Peter Montgomery's - multiplication algorithm would make this operation faster; but that - algorithm has the restriction that a and m must be coprime, so I have - not implemented it here. - -mp_result mp_int_exptmod_known(mp_int a, mp_int b, mp_int m, mp_int mu, - mp_int c); - Efficiently computes c = a^b (mod m), given a precomputed reduction - constant mu, as defined for Barrett's modular reduction algorithm. - Returns MP_UNDEF if m = 0; returns MP_RANGE if b < 0. - -mp_result mp_int_redux_const(mp_int m, mp_int c); - Computes reduction constant mu for Barrett reduction by modulus m, - stores the result in c. - -mp_result mp_int_invmod(mp_int a, mp_int m, mp_int c); - Computes the modular inverse of a (mod m), if it exists, and assigns - the result to c. Returns the least non-negative representative of - the congruence class (mod m) containing this inverse. Returns - MP_UNDEF if the inverse does not exist; returns MP_RANGE if a = 0 or - m <= 0. - -mp_result mp_int_gcd(mp_int a, mp_int b, mp_int c); - Compute the greatest common divisor if a and b, and assign the result - to c. Returns MP_UNDEF if the GCD is not defined (e.g., if a = 0 and - b = 0). - -mp_result mp_int_egcd(mp_int a, mp_int b, mp_int c, mp_int x, mp_int y); - Compute the greatest common divisor of a and b, and assign the result - to c. Also computes x and y satisfying Bezout's identity, namely (a, - b) = ax + by. Returns MP_UNDEF if the GCD is not defined (e.g., if a - = b = 0). - -mp_result mp_int_lcm(mp_int a, mp_int b, mp_int c) - Compute the least common multiple of a and b, and assign the result - to c. Returns MP_UNDEF if the LCM is not defined (e.g., if a = 0 and - b = 0). - -- Conversion of values: - -mp_result mp_int_to_int(mp_int z, mp_small *out); - Convert z to an int type, if it is representable as such. Returns - MP_RANGE if z cannot be represented as an value of type mp_small. If - out is NULL no value is stored, but the return value will still be - correct. - -mp_result mp_int_to_uint(mp_int z, mp_usmall *out); - Convert z to an unsigned int type, if it is representable as such. - Returns MP_RANGE if z cannot be represented as a value of type - mp_usmall. If out is NULL no value is stored, but the return value - will still be correct. - -mp_result mp_int_to_string(mp_int z, mp_size radix, char *str, int limit); - Convert z to a zero-terminated string of characters in the given - radix, writing at most 'limit' characters including the terminating - NUL value. A leading '-' is used to indicate a negative value. - - Returns MP_RANGE if radix < MP_MIN_RADIX or radix > MP_MAX_RADIX. - Returns MP_TRUNC if limit is too small to write out all of z. - -mp_result mp_int_string_len(mp_int z, mp_size radix); - Return the minimum number of characters required to represent z as a - zero-terminated string of characters in the given radix. May - over-estimate (but generally will not). - - Returns MP_RANGE if radix < MP_MIN_RADIX or radix > MP_MAX_RADIX. - -mp_result mp_int_read_string(mp_int z, mp_size radix, const char *str); -mp_result mp_int_read_cstring(mp_int z, mp_size radix, const char *str, - char **end); - Read a string of ASCII digits in the specified radix from the - zero-terminated string provided, and assign z to the corresponding - value. For radices greater than 10, the ASCII letters 'A' .. 'Z' or - 'a' .. 'z' are used. Letters are interpreted without respect to - case. - - Leading whitespace is ignored, and a leading '+' or '-' is - interpreted as a sign flag. Processing stops when ASCII NUL or any - character which is out of range for a digit in the given radix is - encountered. - - If the whole string was processed, MP_OK is returned; otherwise, - MP_TRUNC is returned. - - Returns MP_RANGE if radix < MP_MIN_RADIX or radix > MP_MAX_RADIX. - - With mp_int_read_cstring(), if end is not NULL, the target pointer is - set to point to the first unconsumed character of the input string - (the NUL byte, if the whole string was consumed). This emulates the - behavior of the standard C strtol() function. - -mp_result mp_int_count_bits(mp_int z); - Returns the number of significant bits in z. - -mp_result mp_int_to_binary(mp_int z, unsigned char *buf, int limit); - Convert z to 2's complement binary, writing at most 'limit' bytes - into the given buffer. Returns MP_TRUNC if the buffer limit was too - small to contain the whole value. If this occurs, the contents of - buf will be effectively garbage, as the function uses the buffer as - scratch space. - - The binary representation of z is in base-256 with digits ordered - from most significant to least significant (network byte ordering). - The high-order bit of the first byte is set for negative values, - clear for non-negative values. - - As a result, non-negative values will be padded with a leading zero - byte if the high-order byte of the base-256 magnitude is set. This - extra byte is accounted for by the mp_int_binary_len() function - described below. - -mp_result mp_int_read_binary(mp_int z, unsigned char *buf, int len); - Read a 2's complement binary value into z, where the length of the - buffer is given as 'len'. The contents of 'buf' may be overwritten - during processing, although they will be restored when the function - returns. - -mp_result mp_int_binary_len(mp_int z); - Return the number of bytes required to represent z in 2's complement - binary. - -mp_result mp_int_to_unsigned(mp_int z, unsigned char *buf, int limit); - Convert |z| to unsigned binary, writing at most 'limit' bytes into - the given buffer. The sign of z is ignored, but z is not modified. - Returns MP_TRUNC if the buffer limit was too small to contain the - whole value. If this occurs, the contents of buf will be effectively - garbage, as the function uses the buffer as scratch space during - conversion. - - The binary representation of z is in base-256 with digits ordered - from most significant to least significant (network byte ordering). - -mp_result mp_int_read_unsigned(mp_int z, unsigned char *buf, int len); - Read an unsigned binary value into z, where the length of the buffer - is given as 'len'. The contents of 'buf' will not be modified during - processing. - -mp_result mp_int_unsigned_len(mp_int z); - Return the number of bytes required to represent z as an unsigned - binary value using mp_int_to_unsigned(). - -- Other functions: - -Ordinarily, integer multiplication and squaring are done using the simple -quadratic "schoolbook" algorithm. However, for sufficiently large values, -there is a more efficient algorithm usually attributed to Karatsuba and Ofman -that is usually faster. See Knuth Vol. 2 for more details about how this -algorithm works. - -The breakpoint between the "normal" and the recursive algorithm is controlled -by a static constant "multiply_threshold" defined in imath.c, which contains -the number of significant digits below which the standard algorithm should be -used. This is initialized to the value of the compile-time constant -MP_MULT_THRESH from imath.h. If you wish to be able to modify this value at -runtime, compile imath.c with IMATH_TEST defined true in the preprocessor, and -declare - - extern mp_size multiply_threshold; - -When IMATH_TEST is defined, this variable is defined as a mutable global, and -can be changed. Otherwise, it is defined as an immutable static constant. The -`imtimer' program and the `findthreshold.py' script (Python) can help you find -a suitable value for MP_MULT_THRESH for your particular platform. - -const char *mp_int_error_string(mp_result res); - Return a pointer to a brief string describing 'res'. These strings - are defined as a constant array in `imath.c', if you wish to change - them for your application. - ---- Rational Arithmetic: - -mp_result mp_rat_init(mp_rat r); - Initialize a new zero-valued rational number in r. - -mp_result mp_rat_reduce(mp_rat r); - Reduce a rational to canonical form. - Removes common factors from the numerator and denomenator and makes - the denomenator positive. - -mp_result mp_rat_init_size(mp_rat r, mp_size n_prec, mp_size d_prec); - As mp_rat_init(), but specifies the number of long digits of - precision for numerator (n_prec) and denominator (d_prec). Use this - if you wish to preallocate storage for operations of known output - size. - -mp_result mp_rat_init_copy(mp_rat r, mp_rat old); - As mp_rat_init(), but initializes a copy of an existing rational - value. - -mp_result mp_rat_set_value(mp_rat r, mp_small numer, mp_small denom); - Set the value of the given rational to a ratio specified as ordinary - signed integers (denom != 0). Returns MP_UNDEF if denom = 0. - -void mp_rat_clear(mp_rat r); - Release the memory occupied by the given rational number. - -mp_result mp_rat_numer(mp_rat r, mp_int z); - Extract the numerator of r as an mp_int, and store it in z. - -mp_result mp_rat_denom(mp_rat r, mp_int z); - Extract the denominator of r as an mp_int, and store it in z. - -mp_sign mp_rat_sign(mp_rat r); - Return the sign of the rational number. Note that an mpq_t - is always stored so that the sign of the numerator is the - correct sign of the whole value. - -mp_result mp_rat_copy(mp_rat a, mp_rat c); - Copy a to c. Avoids unnecessary allocations. - -void mp_rat_zero(mp_rat r); - Set r to have the value zero (canonical with denominator 1). - -mp_result mp_rat_abs(mp_rat a, mp_rat c); - Set c to the absolute value of a. - -mp_result mp_rat_neg(mp_rat a, mp_rat c); - Set c to the negative (additive inverse) of a. - -mp_result mp_rat_recip(mp_rat a, mp_rat c); - Take the reciprocal of a and store it in c, if defined. - Returns MP_UNDEF if a/c = 0. - -mp_result mp_rat_add(mp_rat a, mp_rat b, mp_rat c); - Add a + b and store the result in c. - -mp_result mp_rat_sub(mp_rat a, mp_rat b, mp_rat c); - Subtract a - b and store the result in c. - -mp_result mp_rat_mul(mp_rat a, mp_rat b, mp_rat c); - Multiply a * b and store the result in c. - -mp_result mp_rat_div(mp_rat a, mp_rat b, mp_rat c); - Divide a / b, if possible, and store the result in c. - Returns MP_UNDEF if b = 0. - -mp_result mp_rat_add_int(mp_rat a, mp_int b, mp_rat c); - Add a + b and store the result in c. Note: b is an integer. - -mp_result mp_rat_sub_int(mp_rat a, mp_int b, mp_rat c); - Subtract a - b and store the result in c. Note: b is an integer. - -mp_result mp_rat_mul_int(mp_rat a, mp_int b, mp_rat c); - Multiply a * b and store the result in c. Note: b is an integer. - -mp_result mp_rat_div_int(mp_rat a, mp_int b, mp_rat c); - Divide a / b, if possible, and store the result in c. - Note: b is an integer. - Returns MP_UNDEF if b = 0. - -mp_result mp_rat_expt(mp_rat a, mp_small b, mp_rat c); - Raise a to the b power, where b >= 0, and store the result in c. - -int mp_rat_compare(mp_rat a, mp_rat b); - Full signed comparison of rational values. - -int mp_rat_compare_unsigned(mp_rat a, mp_rat b); - Compare the absolute values of a and b. - -int mp_rat_compare_zero(mp_rat r); - Compare r to zero. - -int mp_rat_compare_value(mp_rat r, mp_small n, mp_small d); - Compare r to the ratio n/d. - -int mp_rat_is_integer(mp_rat r); - Returns true if r can be represented by an integer (i.e., - its denominator is one). - -mp_result mp_rat_to_ints(mp_rat r, mp_small *num, mp_small *den); - If it is possible to do so, extract the numerator and the denominator - of r as regular (signed) integers. Returns MP_RANGE if either cannot - be so represented. - -mp_result mp_rat_to_string(mp_rat r, mp_size radix, char *str, int limit); - Convert the value of r to a string of the format "n/d" with n and d - in the specified radix, writing no more than "limit" bytes of data to - the given output buffer. Includes sign flag. - -mp_result mp_rat_to_decimal(mp_rat r, mp_size radix, mp_size prec, - mp_round_mode rmode, char *str, int limit); - Convert the value of r to a string in decimal-point notation with the - specified radix, writing no more than "limit" bytes of data to the - given output buffer. Generates "prec" digits of precision. - - Values numbers may be rounded when they are being converted for - output as a decimal value. There are four rounding modes currently - supported: - - MP_ROUND_DOWN - Truncates the value toward zero. - Example: 12.009 to 2dp becomes 12.00 - - MP_ROUND_UP - Rounds the value away from zero: - Example: 12.001 to 2dp becomes 12.01, but - 12.000 to 2dp remains 12.00 - - MP_ROUND_HALF_DOWN - Rounds the value to nearest digit, half goes toward zero. - Example: 12.005 to 2dp becomes 12.00, but - 12.006 to 2dp becomes 12.01 - - MP_ROUND_HALF_UP - Rounds the value to nearest digit, half rounds upward. - Example: 12.005 to 2dp becomes 12.01, but - 12.004 to 2dp becomes 12.00 - -mp_result mp_rat_string_len(mp_rat r, mp_size radix); - Return the length of buffer required to convert r using the - mp_rat_to_string() function. May over-estimate slightly. - -mp_result mp_rat_decimal_len(mp_rat r, mp_size radix, mp_size prec); - Return the length of buffer required to convert r using the - mp_rat_to_decimal() function. May over-estimate slightly. - -mp_result mp_rat_read_string(mp_rat r, mp_size radix, char *str); - Read a zero-terminated string in the format "n/d" (including sign - flag), and replace the value of r with it. - -mp_result mp_rat_read_cstring(mp_rat r, mp_size radix, char *str, char **end); - Like mp_rat_read_string(), but with a similar interface to the - strtoul() library function. Used as the back end for the - mp_rat_read_string() function. Returns MP_UNDEF if the denominator - read has value zero. - -mp_result mp_rat_read_ustring(mp_rat r, mp_size radix, char *str, char **end); - A "universal" reader. Capable of reading plain integers, rational - number written in a/b notation, and decimal values in z.f format. - The end parameter works as for mp_int_read_cstring(). - -mp_result mp_rat_read_decimal(mp_rat r, mp_size radix, char *str); - A wrapper around mp_rat_read_cdecimal(), which discards the resulting - end pointer. - -mp_result mp_rat_read_cdecimal(mp_rat r, mp_size radix, char *str, char **end); - Read a zero-terminated string in the format "z.f" (including sign - flag), and replace r with its value. If end is not NULL, a pointer - to the first unconsumed character of the string is returned. - ---- Representation Details - - NOTE: You do not need to read this section to use IMath. This is provided - for the benefit of developers wishing to extend or modify the - internals of the library. - -IMath uses a signed magnitude representation for arbitrary precision integers. -The magnitude is represented as an array of radix-R digits in increasing order -of significance; the value of R is chosen to be half the size of the largest -available unsigned integer type, so typically 16 or 32 bits. Digits are -represented as mp_digit, which must be an unsigned integral type. - -Digit arrays are allocated using malloc(3) and realloc(3). Because this can be -an expensive operation, the library takes pains to avoid allocation as much as -possible. For this reason, the mpz_t structure distinguishes between how many -digits are allocated and how many digits are actually consumed by the -representation. The fields of an mpz_t are: - - mp_digit single; /* single-digit value (see note) */ - mp_digit *digits; /* array of digits */ - mp_size alloc; /* how many digits are allocated */ - mp_size used; /* how many digits are in use */ - mp_sign sign; /* the sign of the value */ - -The elements of "digits" at indices less than "used" are the significant -figures of the value; the elements at indices greater than or equal to "used" -are undefined (and may contain garbage). At all times, "used" must be at least -1 and at most "alloc". - -To avoid interaction with the memory allocator, single-digit values are stored -directly in the mpz_t structure, in the .single field. The semantics of access -are the same as the more general case. - -The number of digits allocated for an mpz_t is referred to in the library -documentation as its "precision". Operations that affect an mpz_t cause -precision to increase as needed. In any case, all allocations are measured in -digits, and rounded up to the nearest mp_word boundary. There is a default -minimum precision stored as a static constant default_precision (imath.c); its -value is set to MP_DEFAULT_PREC (imath.h). If the preprocessor symbol -IMATH_TEST is defined, this value becomes global and modifiable. - -Note that the allocated size of an mpz_t can only grow; the library never -reallocates in order to decrease the size. A simple way to do so explicitly is -to use mp_int_init_copy(), as in: - - mpz_t big, new; - - /* ... */ - mp_int_init_copy(&new, &big); - mp_int_swap(&new, &big); - mp_int_clear(&new); - -The value of "sign" is 0 for positive values and zero, 1 for negative values. -Constants MP_ZPOS and MP_NEG are defined for these; no other sign values are -used. - -If you are adding to this library, you should be careful to preserve the -convention that inputs and outputs can overlap, as described above. So, for -example, mp_int_add(a, a, a) is legal. Often, this means you must maintain one -or more temporary mpz_t structures for intermediate values. The private macros -SETUP(E, C) and TEMP(K) can be used to enforce a conventional structure like -this: - - { - mpz_t temp[NUM_TEMPS]; /* declare how many you need here */ - int last = 0; /* number of in-use temps */ - mp_result res; /* used for checking results */ - ... - - /* Initialization phase */ - SETUP(mp_int_init(TEMP(0)), last); - SETUP(mp_int_init_copy(TEMP(1), x), last); - ... - SETUP(mp_int_init_value(TEMP(7), 3), last); - - /* Work phase */ - ... - - CLEANUP: - while(--last >= 0) - mp_int_clear(TEMP(last)); - - return res; - } - -The names "temp" and "res" are fixed -- the SETUP and TEMP macros assume they -exist. TEMP(k) returns a pointer to the kth entry of temp. This structure -insures that even if a failure occurs during the "initialization phase", no -memory is leaked. - -"Small" integer values are represented by the types mp_small and mp_usmall, -which are mapped to appropriately-sized types on the host system. The default -for mp_small is "long" and the default for mp_usmall is "unsigned long". You -may change these, provided you insure that mp_small is signed and mp_usmall is -unsigned. You will also need to adjust the size macros: - - MP_SMALL_MIN, MP_SMALL_MAX - MP_USMALL_MIN, MP_USMALL_MAX - -... which are defined in <imath.h>, if you change these. - -Rational numbers are represented using a pair of arbitrary precision integers, -with the convention that the sign of the numerator is the sign of the rational -value, and that the result of any rational operation is always represented in -lowest terms. The canonical representation for rational zero is 0/1. See -"imrat.h". - ---- Testing and Reporting of Bugs: - -Test vectors are included in the 'tests' subdirectory of the imath -distribution. When you run 'make test', it builds the imtest program and runs -all available test vectors. If any tests fail, you will get a line like this: - - x y FAILED v - -Here, x is the line number of the test which failed, y is index of the test -within the file, and v is the value(s) actually computed. The name of the file -is printed at the beginning of each test, so you can find out what test vector -failed by executing the following (with x, y, and v replaced by the above -values, and where "foo.t" is the name of the test file that was being processed -at the time): - - % tail +x tests/foo.t | head -1 - -None of the tests should fail [but see Note 2]; if any do, it probably -indicates a bug in the library (or at the very least, some assumption I made -which I shouldn't have). Please send a bug report to the address below, which -includes the FAILED test line above, as well as the output of the above 'tail' -command (so I know what inputs caused the failure). - -If you build with the preprocessor symbol DEBUG defined as a positive integer, -you will have access to several things: - - 1. The static functions defined in imath.c are made globally visible so that - you can call them from a test driver. - - 2. The s_print() and s_print_buf() routines are defined; these make it easier - to dump the contents of an mpz_t to text. - - 3. If DEBUG > 1, the digit allocators (s_alloc, s_realloc) fill all new - buffers with the value 0xDEADBEEF, or as much of it as will fit in a digit, - so that you can more easily catch uninitialized reads in the debugger. - ---- Notes: - -1. You can generally use the same variables for both input and output. One - exception is that you may not use the same variable for both the quotient - and the remainder of mp_int_div(). - -2. Many of the tests for this library were written under the assumption that - the mp_small type is 32 bits or more. If you compile with a smaller type, - you may see MP_RANGE errors in some of the tests that otherwise pass (due to - conversion failures). Also, the pi generator (pi.c) will not work correctly - if mp_small is too short, as its algorithm for arc tangent is fairly - simple-minded. - ---- Contacts: - -The IMath library was written by -Michael J. Fromberger <http://spinning-yarns.org/michael/> - -If you discover any bugs or testing failures, please send e-mail to -the following address: - - <michael.j.fromberger@gmail.com> - -Please be sure to include, with any bug report, a complete description of what -goes wrong, and if possible, a test vector for imtest or a minimal test program -that will demonstrate the bug on your system. Please also let me know what -hardware, operating system, and compiler you're using. - ---- Acknowledgements: - -The algorithms used in this library came from Vol. 2 of Donald Knuth's "The Art -of Computer Programming" (Seminumerical Algorithms). Thanks to Nelson Bolyard, -Bryan Olson, Tom St. Denis, Tushar Udeshi, and Eric Silva for excellent -feedback on earlier versions of this code. Special thanks to Jonathan Shapiro -for some very helpful design advice, as well as feedback and some clever ideas -for improving performance in some common use cases. - ---- License and Disclaimers: - -IMath is Copyright 2002-2009 Michael J. Fromberger -You may use it subject to the following Licensing Terms: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/polly/lib/External/isl/imath/examples/basecvt.c b/polly/lib/External/isl/imath/examples/basecvt.c deleted file mode 100644 index c067be904f1..00000000000 --- a/polly/lib/External/isl/imath/examples/basecvt.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - Name: basecvt.c - Purpose: Convert integers and rationals from one base to another. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - Info: $Id: basecvt.c 635 2008-01-08 18:19:40Z sting $ - - Copyright (C) 2004-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -#include "imath.h" -#include "imrat.h" - -int main(int argc, char *argv[]) -{ - mp_size in_rdx, out_rdx; - mpq_t value; - mp_result res; - int ix; - - if(argc < 4) { - fprintf(stderr, "Usage: basecvt <ibase> <obase> <values>+\n"); - return 1; - } - - in_rdx = atoi(argv[1]); - out_rdx = atoi(argv[2]); - - if(in_rdx < MP_MIN_RADIX || in_rdx > MP_MAX_RADIX) { - fprintf(stderr, - "basecvt: input radix %u not allowed (minimum %u, " - "maximum %u)\n", in_rdx, MP_MIN_RADIX, MP_MAX_RADIX); - return 3; - } - if(out_rdx < MP_MIN_RADIX || out_rdx > MP_MAX_RADIX) { - fprintf(stderr, - "basecvt: output radix %u not allowed (minimum %u, " - "maximum %u)\n", out_rdx, MP_MIN_RADIX, MP_MAX_RADIX); - return 3; - } - - if((res = mp_rat_init(&value)) != MP_OK) { - fprintf(stderr, "basecvt: out of memory\n"); - return 2; - } - - for(ix = 3; ix < argc; ++ix) { - char *buf, *endp = NULL; - mp_result len; - int is_int; - - if((res = mp_rat_read_ustring(&value, in_rdx, argv[ix], &endp)) != MP_OK && - res != MP_TRUNC) { - fprintf(stderr, "basecvt: error reading argument %d: %s\n", ix, - mp_error_string(res)); - break; - } - else if(*endp != '\0') { - fprintf(stderr, "basecvt: argument %d contains '%s' not in base %u\n", - ix, endp, in_rdx); - continue; - } - - if((is_int = mp_rat_is_integer(&value)) != 0) { - len = mp_int_string_len(MP_NUMER_P(&value), out_rdx); - } - else { - len = mp_rat_string_len(&value, out_rdx); - } - - if((buf = malloc(len)) == NULL) { - fprintf(stderr, "basecvt: out of memory\n"); - break; - } - - if(is_int) { - res = mp_int_to_string(MP_NUMER_P(&value), out_rdx, buf, len); - } - else { - res = mp_rat_to_string(&value, out_rdx, buf, len); - } - - if(res != MP_OK) { - fprintf(stderr, "basecvt: error converting argument %d: %s\n", ix, - mp_error_string(res)); - free(buf); - break; - } - - printf("%s\n", buf); - free(buf); - } - - mp_rat_clear(&value); - - return (res != MP_OK); -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/examples/findprime.c b/polly/lib/External/isl/imath/examples/findprime.c deleted file mode 100644 index 070f14194d9..00000000000 --- a/polly/lib/External/isl/imath/examples/findprime.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - Name: findprime.c - Purpose: Find probable primes. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - Info: $Id: findprime.c 635 2008-01-08 18:19:40Z sting $ - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Notes: - Find the first prime number in sequence starting from the given value. - Demonstrates the use of mp_int_find_prime(). - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> - -#include "iprime.h" - -int main(int argc, char *argv[]) -{ - char buf[4096]; - mpz_t seed; - mp_result res; - - if(argc < 2) { - fprintf(stderr, "Usage: %s <start-value>\n", argv[0]); - return 1; - } - - mp_int_init(&seed); - if((res = mp_int_read_string(&seed, 10, argv[1])) != MP_OK) { - fprintf(stderr, "%s: error reading `%s': %d\n", - argv[0], argv[1], res); - return 2; - } - - if(mp_int_compare_value(&seed, 131) <= 0) { - fprintf(stderr, "%s: please enter a start value > 131\n", - argv[0]); - return 1; - } - - if((res = mp_int_find_prime(&seed)) != MP_TRUE) { - fprintf(stderr, "%s: error finding prime: %d\n", - argv[0], res); - return 2; - } - - mp_int_to_string(&seed, 10, buf, sizeof(buf)); - printf("=> %s\n", buf); - - mp_int_clear(&seed); - - return 0; -} diff --git a/polly/lib/External/isl/imath/examples/imcalc.c b/polly/lib/External/isl/imath/examples/imcalc.c deleted file mode 100644 index bb4bdbce815..00000000000 --- a/polly/lib/External/isl/imath/examples/imcalc.c +++ /dev/null @@ -1,1231 +0,0 @@ -/* - Name: imcalc.c - Purpose: Simple RPN calculator based on IMath library. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - This is a very simplistic RPN calculator that will let you test the features - of the IMath built-in functions. - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include <ctype.h> -#include <errno.h> -#include <assert.h> - -#include <unistd.h> - -#include "imath.h" -#include "imrat.h" -#include "iprime.h" - -/* A cstate_t represents a stack of operands; numeric operands are pushed on - the stack, and commands cause them to be consumed in various ways. - */ -typedef struct { - /* Operand stack */ - mp_int *elts; - mp_size alloc; /* number of slots available */ - mp_size used; /* number of slots free */ - - /* Named variables */ - mp_int *mem; /* named memory slots */ - char **names; /* names of memory slots */ - mp_size mslots; /* number of memory slots */ - mp_size mused; /* number of used memories */ - - /* I/O components */ - FILE *ifp; /* input file handle */ - char *ibuf; /* input scratch buffer */ - int buflen; /* size of scratch buffer */ -} cstate_t; - -static mp_result state_init(cstate_t *sp, mp_size n_elts); -static void state_clear(cstate_t *sp); -static void stack_flush(cstate_t *sp); -static mp_result stack_push(cstate_t *sp, mp_int elt); -static mp_result stack_pop(cstate_t *sp); -static mp_result mem_insert(cstate_t *sp, const char *name, mp_int value); -static mp_result mem_recall(cstate_t *sp, const char *name, mp_int value); -static mp_result mem_clear(cstate_t *sp); - -typedef mp_result (*op_func)(cstate_t *); - -static mp_result cf_abs(cstate_t *sp); -static mp_result cf_neg(cstate_t *sp); -static mp_result cf_add(cstate_t *sp); -static mp_result cf_sub(cstate_t *sp); -static mp_result cf_mul(cstate_t *sp); -static mp_result cf_divmod(cstate_t *sp); -static mp_result cf_div(cstate_t *sp); -static mp_result cf_mod(cstate_t *sp); -static mp_result cf_expt(cstate_t *sp); -static mp_result cf_exptmod(cstate_t *sp); -static mp_result cf_square(cstate_t *sp); -static mp_result cf_invmod(cstate_t *sp); -static mp_result cf_gcd(cstate_t *sp); -static mp_result cf_xgcd(cstate_t *sp); -static mp_result cf_sqrt(cstate_t *sp); -static mp_result cf_root(cstate_t *sp); -static mp_result cf_cmplt(cstate_t *sp); -static mp_result cf_cmpgt(cstate_t *sp); -static mp_result cf_cmple(cstate_t *sp); -static mp_result cf_cmpge(cstate_t *sp); -static mp_result cf_cmpeq(cstate_t *sp); -static mp_result cf_cmpne(cstate_t *sp); -static mp_result cf_inc(cstate_t *sp); -static mp_result cf_dec(cstate_t *sp); -static mp_result cf_fact(cstate_t *sp); -static mp_result cf_pprint(cstate_t *sp); -static mp_result cf_print(cstate_t *sp); -static mp_result cf_pstack(cstate_t *sp); -static mp_result cf_clstk(cstate_t *sp); -static mp_result cf_pop(cstate_t *sp); -static mp_result cf_dup(cstate_t *sp); -static mp_result cf_copy(cstate_t *sp); -static mp_result cf_swap(cstate_t *sp); -static mp_result cf_rot(cstate_t *sp); -static mp_result cf_pick(cstate_t *sp); -static mp_result cf_setr(cstate_t *sp); -static mp_result cf_setbin(cstate_t *sp); -static mp_result cf_help(cstate_t *sp); -static mp_result cf_store(cstate_t *sp); -static mp_result cf_recall(cstate_t *sp); -static mp_result cf_cmem(cstate_t *sp); -static mp_result cf_pmem(cstate_t *sp); -static mp_result cf_qrecall(cstate_t *sp); - -typedef struct { - char *name; /* The name of the operator. */ - int stack_size; /* Number of stack arguments required. */ - op_func handler; /* Function implementing operation. */ - char *descript; /* Human-readable description. */ -} calcop_t; - -static calcop_t g_ops[] = { - { "abs", 1, cf_abs, "x -- |x|" }, - { "neg", 1, cf_neg, "x -- (-x)" }, - { "+", 2, cf_add, "x y -- (x+y)" }, - { "add", 2, cf_add, "x y -- (x+y)" }, - { "-", 2, cf_sub, "x y -- (x-y)" }, - { "sub", 2, cf_sub, "x y -- (x-y)" }, - { "*", 2, cf_mul, "x y -- (x*y)" }, - { "mul", 2, cf_mul, "x y -- (x*y)" }, - { "/", 2, cf_divmod, "x y -- q r ; x = yq + r, 0 <= r < y" }, - { "//", 2, cf_div, "x y -- (x div y)" }, - { "div", 2, cf_div, "x y -- (x div y)" }, - { "%", 2, cf_mod, "x y -- (x mod y)" }, - { "mod", 2, cf_mod, "x y -- (x mod y)" }, - { "^", 2, cf_expt, "x y -- (x^y)" }, - { "expt", 2, cf_expt, "x y -- (x^y)" }, - { "^^", 3, cf_exptmod, "x y m -- (x^y mod m)" }, - { "emod", 3, cf_exptmod, "x y m -- (x^y mod m)" }, - { "sqr", 1, cf_square, "x -- (x*x)" }, - { "inv", 2, cf_invmod, "x m -- (1/x mod m)" }, - { "gcd", 2, cf_gcd, "x y -- gcd(x, y)" }, - { "xgcd", 2, cf_xgcd, "x y -- g u v ; g = ux + vy" }, - { "sqrt", 1, cf_sqrt, "x -- floor(sqrt(x))" }, - { "root", 2, cf_root, "x y -- floor(x^{1/y}) ; y > 0" }, - { "<", 2, cf_cmplt, "x y -- (x<y)" }, - { ">", 2, cf_cmpgt, "x y -- (x>y)" }, - { "<=", 2, cf_cmple, "x y -- (x<=y)" }, - { ">=", 2, cf_cmpge, "x y -- (x>=y)" }, - { "=", 2, cf_cmpeq, "x y -- (x=y)" }, - { "<>", 2, cf_cmpne, "x y -- (x<>y)" }, - { "inc", 1, cf_inc, "x -- (x+1)" }, - { "dec", 1, cf_dec, "x -- (x-1)" }, - { "!", 1, cf_fact, "x -- x!" }, - { "fact", 1, cf_fact, "x -- x!" }, - - { ".", 1, cf_pprint, "x -- ; print x in current output mode" }, - { ";", 1, cf_print, "x -- x ; print x in current output mode" }, - { "?", 0, cf_pstack, "-- ; print stack" }, - { "cls", 0, cf_clstk, "... -- ; clear stack" }, - { "$", 1, cf_pop, "x --" }, - { "drop", 1, cf_pop, "x --" }, - { "dup", 1, cf_dup, "x -- x x" }, - { "copy", 2, cf_copy, "vn ... v1 v0 n -- vn ... v0 vn ... v0" }, - { "swap", 2, cf_swap, "x y -- y x" }, - { "rot", 3, cf_rot, "a b c -- b c a" }, - { "pick", 2, cf_pick, "... v2 v1 v0 n -- ... v2 v1 v0 vn" }, - - { ">>", 1, cf_store, "x -- ; save in named variable" }, - { "<<", 0, cf_recall, "-- x ; recall from named variable" }, - { "clm", 0, cf_cmem, "-- ; clear memory" }, - { "??", 0, cf_pmem, "-- ; print memory" }, - - { "out", 1, cf_setr, "r -- ; set output radix to r" }, - { "bin", 0, cf_setbin, "-- ; set output format to binary" }, - { "help", 0, cf_help, "-- ; print help message" }, - - /* This is the end-marker, but it is also used to catch implicit - variable lookups from memory. - */ - { NULL, 0, cf_qrecall, "-- x ; recall from named variable" }, -}; - -#define BUFFER_SIZE 16384 /* max. length of input values, in chars */ - -/* Token types from the primitive lexical analyzer */ -typedef enum { t_eof, t_symbol, t_number, t_error } token_t; - -static token_t next_token(FILE *ifp, char *buf, int size); -static mp_result read_number(char *buf, mp_int *out); -static int find_command(cstate_t *ops); -static void print_value(mp_int v); -static mp_result run_file(FILE *ifp, cstate_t *op_state); - -/* Error code used internally to signal input problems. */ -static mp_result MP_INPUT; - -static int g_output_radix = 10; /* output radix */ -static FILE *g_output_file = NULL; - -int main(int argc, char *argv[]) -{ - extern char *optarg; - extern int optind; - - int opt, errs = 0; - FILE *ifp; - - cstate_t op_state; - mp_result res; - - MP_INPUT = MP_MINERR - 1; - - g_output_file = stdout; - while((opt = getopt(argc, argv, "ho:")) != EOF) { - switch(opt) { - case 'h': - fprintf(stderr, - "Usage: imcalc [-h] [-o <output>] input*\n\n" - "Options:\n" - " -h : display this help message.\n" - " -o <output> : send output to file.\n\n" - - "If no input files are given, the standard input is read. The\n" - "special file name \"-\" is interpreted to mean the standard input.\n" - "Output goes to standard output unless \"-o\" is used.\n\n"); - return 0; - - case 'o': - if((g_output_file = fopen(optarg, "wt")) == NULL) { - fprintf(stderr, "Unable to open \"%s\" for writing: %s\n", - optarg, strerror(errno)); - return 1; - } - break; - - default: - fprintf(stderr, - "Usage: imcalc [-h] [-o <output>] input*\n" - " [use \"imcalc -h\" to get help]\n\n"); - return 1; - } - } - - if((res = state_init(&op_state, 1)) != MP_OK) { - fprintf(stderr, "Error: state_init: %s\n", - mp_error_string(res)); - return 1; - } - - if(optind < argc) { - int ix; - - for(ix = optind; ix < argc; ++ix) { - if(strcmp(argv[ix], "-") == 0) - ifp = stdin; - else if((ifp = fopen(argv[optind], "rt")) == NULL) { - fprintf(stderr, "Unable to open \"%s\" for reading: %s\n", - argv[optind], strerror(errno)); - return 1; - } - - if(run_file(ifp, &op_state) != MP_OK) - ++errs; - } - - state_clear(&op_state); - return errs > 0; - } - else { - int rv = 1 - (run_file(stdin, &op_state) == MP_OK); - state_clear(&op_state); - return rv; - } -} - -static token_t next_token(FILE *ifp, char *buf, int size) -{ - int ch, pos = 0; - token_t res; - - assert(buf != NULL && size > 0); - - while((ch = fgetc(ifp)) != EOF && isspace(ch)) - /* empty */; - - if(ch == EOF) { - buf[0] = '\0'; - return t_eof; - } - - if(ch == '-') { - int next = fgetc(ifp); - if(next == EOF || !isdigit(next)) - res = t_symbol; - else - res = t_number; - ungetc(next, ifp); - } - else if(isdigit(ch) || ch == '#') - res = t_number; - else - res = t_symbol; - - buf[pos++] = ch; - while((ch = fgetc(ifp)) != EOF) { - if((res == t_number && ispunct(ch) && ch != '-') || - (res == t_symbol && isdigit(ch)) || - isspace(ch)) { - ungetc(ch, ifp); - break; - } - else if(pos + 1 >= size) { - res = t_error; - break; - } - buf[pos++] = ch; - } - - buf[pos] = '\0'; - return res; -} - -static mp_result read_number(char *buf, mp_int *out) -{ - int radix = 10, pos = 0; - mp_result res; - mp_int value; - - assert(buf != NULL && out != NULL); - - if(buf[pos] == '#') { - switch(buf[1]) { - case 'b': case 'B': - radix = 2; - break; - case 'd': case 'D': - radix = 10; - break; - case 'o': case 'O': - radix = 8; - break; - case 'x': case 'X': - radix = 16; - break; - default: - return MP_BADARG; - } - - pos += 2; - } - - if((value = mp_int_alloc()) == NULL) { - *out = NULL; - return MP_MEMORY; - } - - if((res = mp_int_read_string(value, radix, buf + pos)) != MP_OK) { - mp_int_free(value); - *out = NULL; - return res; - } - - *out = value; - return res; -} - -static int find_command(cstate_t *op) -{ - int ix, jx; - char *buf = op->ibuf; - - /* First, try to find the command by name */ - for(ix = 0; g_ops[ix].name != NULL; ++ix) { - if(strcasecmp(buf, g_ops[ix].name) == 0) - return ix; - } - - /* If we don't find the command, try a variable lookup */ - for(jx = 0; jx < op->mused; ++jx) { - if(strcmp(buf, op->names[jx]) == 0) - return ix; /* sentinel */ - } - - /* If variable lookup fails, report command not found */ - return -1; -} - -static void print_value(mp_int v) -{ - if(g_output_radix == 0) { - mp_result len = mp_int_binary_len(v); - unsigned char *buf = malloc(len); - int ix; - - if(buf != NULL) { - mp_int_to_binary(v, buf, len); - for(ix = 0; ix < len - 1; ++ix) { - fprintf(g_output_file, "%02x.", buf[ix]); - } - fprintf(g_output_file, "%02x\n", buf[ix]); - free(buf); - } - else - fprintf(g_output_file, "<insufficient memory to print>\n"); - } - else { - mp_result len = mp_int_string_len(v, g_output_radix); - char *buf = malloc(len); - - if(buf != NULL) { - mp_int_to_string(v, g_output_radix, buf, len); - fputs(buf, g_output_file); - fputc('\n', g_output_file); - free(buf); - } - else - fprintf(g_output_file, "<insufficient memory to print>\n"); - } -} - -static mp_result run_file(FILE *ifp, cstate_t *op_state) -{ - mp_result res = MP_OK; - token_t next; - - op_state->ifp = ifp; - while((next = next_token(ifp, op_state->ibuf, op_state->buflen)) != t_eof) { - mp_int value = NULL; - int cpos; - - switch(next) { - case t_number: - if((res = read_number(op_state->ibuf, &value)) != MP_OK) - fprintf(stderr, "error: invalid number syntax: %s\n", op_state->ibuf); - else if((res = stack_push(op_state, value)) != MP_OK) - goto EXIT; - break; - case t_symbol: - if((cpos = find_command(op_state)) < 0) - fprintf(stderr, "error: command not understood: %s\n", op_state->ibuf); - else if(op_state->used < g_ops[cpos].stack_size) { - fprintf(stderr, "error: not enough arguments (have %d, want %d)\n", - op_state->used, g_ops[cpos].stack_size); - } - else if((res = (g_ops[cpos].handler)(op_state)) != MP_OK) { - if(res == MP_INPUT) - fprintf(stderr, "error: incorrect input format\n"); - else - fprintf(stderr, "error: %s\n", mp_error_string(res)); - } - break; - default: - fprintf(stderr, "error: invalid input token: %s\n", op_state->ibuf); - res = MP_BADARG; - goto EXIT; - } - } - - EXIT: - return res; -} - -static mp_result state_init(cstate_t *sp, mp_size n_elts) -{ - int ix; - - assert(sp != NULL && n_elts > 0); - - if((sp->elts = malloc(n_elts * sizeof(*(sp->elts)))) == NULL) - return MP_MEMORY; - if((sp->mem = malloc(n_elts * sizeof(*(sp->mem)))) == NULL) { - free(sp->elts); - return MP_MEMORY; - } - if((sp->names = malloc(n_elts * sizeof(*(sp->names)))) == NULL) { - free(sp->mem); - free(sp->elts); - return MP_MEMORY; - } - if((sp->ibuf = malloc(BUFFER_SIZE * sizeof(char))) == NULL) { - free(sp->names); - free(sp->mem); - free(sp->elts); - return MP_MEMORY; - } - - for(ix = 0; ix < n_elts; ++ix) { - sp->elts[ix] = NULL; - sp->mem[ix] = NULL; - sp->names[ix] = NULL; - } - - sp->alloc = n_elts; - sp->used = 0; - sp->mslots = n_elts; - sp->mused = 0; - sp->buflen = BUFFER_SIZE; - - return MP_OK; -} - -static void state_clear(cstate_t *sp) -{ - assert(sp != NULL); - - if(sp->elts != NULL) { - int ix; - - for(ix = 0; ix < sp->used; ++ix) { - mp_int_clear(sp->elts[ix]); - sp->elts[ix] = NULL; - } - - free(sp->elts); - sp->elts = NULL; - sp->alloc = 0; - sp->used = 0; - } - if(sp->mem != NULL) { - int ix; - - for(ix = 0; ix < sp->mused; ++ix) { - mp_int_free(sp->mem[ix]); - sp->mem[ix] = NULL; - free(sp->names[ix]); - sp->names[ix] = NULL; - } - - free(sp->mem); - sp->mem = NULL; - free(sp->names); - sp->names = NULL; - - sp->mslots = 0; - sp->mused = 0; - } - if(sp->ibuf != NULL) { - free(sp->ibuf); - sp->buflen = 0; - } - if(sp->ifp != NULL) { - fclose(sp->ifp); - sp->ifp = NULL; - } -} - -static void stack_flush(cstate_t *sp) -{ - int ix; - - assert(sp != NULL && sp->elts != NULL); - - for(ix = 0; ix < sp->used; ++ix) { - mp_int_clear(sp->elts[ix]); - sp->elts[ix] = NULL; - } - - sp->used = 0; -} - -static mp_result stack_push(cstate_t *sp, mp_int elt) -{ - if(sp->used >= sp->alloc) { - mp_size nsize = 2 * sp->alloc; - mp_int *tmp; - int ix; - - if((tmp = malloc(nsize * sizeof(*(sp->elts)))) == NULL) - return MP_MEMORY; - - for(ix = 0; ix < sp->used; ++ix) - tmp[ix] = sp->elts[ix]; - - free(sp->elts); - sp->elts = tmp; - sp->alloc = nsize; - } - - sp->elts[sp->used++] = elt; - return MP_OK; -} - -static mp_result stack_pop(cstate_t *sp) -{ - assert(sp != NULL && sp->elts != NULL); - - if(sp->used == 0) - return MP_UNDEF; - - sp->used -= 1; - mp_int_clear(sp->elts[sp->used]); - sp->elts[sp->used] = NULL; - - return MP_OK; -} - -static mp_result mem_insert(cstate_t *sp, const char *name, mp_int value) -{ - int ix; - - for(ix = 0; ix < sp->mused; ++ix) { - if(strcmp(name, sp->names[ix]) == 0) - break; - } - - /* Two cases: - ix < sp->mused ==> replacing existing entry. - otherwise ==> adding new entry, may need to grow dictionary. - */ - if(ix < sp->mused) { - mp_int_free(sp->mem[ix]); /* fall through to the end */ - } - else { - if(sp->mused >= sp->mslots) { - mp_size nsize = 2 * sp->mslots; - mp_int *tz; - char **tc; - int jx; - - if((tz = malloc(nsize * sizeof(*(sp->mem)))) == NULL) - return MP_MEMORY; - if((tc = malloc(nsize * sizeof(*(sp->names)))) == NULL) { - free(tz); - return MP_MEMORY; - } - - for(jx = 0; jx < sp->mused; ++jx) { - tz[jx] = sp->mem[jx]; - tc[jx] = sp->names[jx]; - } - - free(sp->mem); - sp->mem = tz; - free(sp->names); - sp->names = tc; - - sp->mslots = nsize; - } - - sp->mused += 1; - sp->names[ix] = malloc(1 + strlen(name)); - strcpy(sp->names[ix], name); - } - - sp->mem[ix] = mp_int_alloc(); - return mp_int_copy(value, sp->mem[ix]); -} - -static mp_result mem_recall(cstate_t *sp, const char *name, mp_int value) -{ - int ix; - - for(ix = 0; ix < sp->mused; ++ix) { - if(strcmp(name, sp->names[ix]) == 0) { - return mp_int_copy(sp->mem[ix], value); - } - } - - return MP_UNDEF; /* not found */ -} - -static mp_result mem_clear(cstate_t *sp) -{ - int ix; - - for(ix = 0; ix < sp->mused; ++ix) { - mp_int_free(sp->mem[ix]); - free(sp->names[ix]); - } - sp->mused = 0; - - return MP_OK; -} - -static mp_result cf_abs(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_abs(a, a); -} - -static mp_result cf_neg(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_neg(a, a); -} - -static mp_result cf_add(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_add(a, b, a); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_sub(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_sub(a, b, a); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_mul(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_mul(a, b, a); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_divmod(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - - return mp_int_div(a, b, a, b); -} - -static mp_result cf_div(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_div(a, b, a, NULL); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_mod(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_mod(a, b, a); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_expt(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - mp_small bval; - - if((res = mp_int_to_int(b, &bval)) != MP_OK) - return res; - - stack_pop(sp); - return mp_int_expt(a, bval, a); -} - -static mp_result cf_exptmod(cstate_t *sp) -{ - mp_int m = sp->elts[sp->used - 1]; - mp_int b = sp->elts[sp->used - 2]; - mp_int a = sp->elts[sp->used - 3]; - mp_result res = mp_int_exptmod(a, b, m, a); - - if(res == MP_OK) { - stack_pop(sp); - stack_pop(sp); - } - - return res; -} - -static mp_result cf_square(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_sqr(a, a); -} - -static mp_result cf_invmod(cstate_t *sp) -{ - mp_int m = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_invmod(a, m, a); - - stack_pop(sp); - - return res; -} - -static mp_result cf_gcd(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res = mp_int_gcd(a, b, a); - - if(res == MP_OK) - stack_pop(sp); - - return res; -} - -static mp_result cf_xgcd(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_int t; - mp_result res; - - if((t = mp_int_alloc()) == NULL) - return MP_MEMORY; - if((res = mp_int_egcd(a, b, a, b, t)) != MP_OK) { - mp_int_free(t); - return res; - } - - if((res = stack_push(sp, t)) != MP_OK) - mp_int_free(t); - - return res; -} - -static mp_result cf_sqrt(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_sqrt(a, a); -} - -static mp_result cf_root(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 2]; - mp_int bp = sp->elts[sp->used - 1]; - mp_small b; - mp_result res; - - if((res = mp_int_to_int(bp, &b)) != MP_OK) - return res; - - stack_pop(sp); - return mp_int_root(a, b, a); -} - -static mp_result cf_cmplt(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) < 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_cmpgt(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) > 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_cmple(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) <= 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_cmpge(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) >= 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_cmpeq(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) == 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_cmpne(cstate_t *sp) -{ - mp_int b = sp->elts[sp->used - 1]; - mp_int a = sp->elts[sp->used - 2]; - mp_result res; - - res = mp_int_set_value(a, (mp_int_compare(a, b) != 0)); - stack_pop(sp); - return res; -} - -static mp_result cf_inc(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_add_value(a, 1, a); -} - -static mp_result cf_dec(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - - return mp_int_sub_value(a, 1, a); -} - -static mp_result cf_fact(cstate_t *sp) -{ - mpz_t tmp; - mp_int x = sp->elts[sp->used - 1]; - mp_result res = MP_OK; - - if (mp_int_compare_zero(x) < 0) - return MP_UNDEF; - - (void) mp_int_init_value(&tmp, 1); - - while (mp_int_compare_value(x, 1) > 0) { - if ((res = mp_int_mul(&tmp, x, &tmp)) != MP_OK) - goto CLEANUP; - if ((res = mp_int_sub_value(x, 1, x)) != MP_OK) - goto CLEANUP; - } - - res = mp_int_copy(&tmp, x); - - CLEANUP: - mp_int_clear(&tmp); - return res; -} - -static mp_result cf_pprint(cstate_t *sp) -{ - print_value(sp->elts[sp->used - 1]); - stack_pop(sp); - return MP_OK; -} - -static mp_result cf_print(cstate_t *sp) -{ - print_value(sp->elts[sp->used - 1]); - return MP_OK; -} - -static mp_result cf_pstack(cstate_t *sp) -{ - int ix; - - if(sp->used == 0) { - fprintf(g_output_file, "<stack empty>\n"); - } - else { - for(ix = 0; ix < sp->used; ++ix) { - fprintf(g_output_file, "%2d: ", ix); - print_value(sp->elts[sp->used - 1 - ix]); - } - } - - return MP_OK; -} - -static mp_result cf_clstk(cstate_t *sp) -{ - stack_flush(sp); - - return MP_OK; -} - -static mp_result cf_pop(cstate_t *sp) -{ - return stack_pop(sp); -} - -static mp_result cf_dup(cstate_t *sp) -{ - mp_int cp = mp_int_alloc(); - mp_result res; - - if(cp == NULL) - return MP_MEMORY; - - if((res = mp_int_copy(sp->elts[sp->used - 1], cp)) != MP_OK) { - mp_int_free(cp); - return res; - } - - if((res = stack_push(sp, cp)) != MP_OK) - mp_int_free(cp); - - return res; -} - -static mp_result cf_copy(cstate_t *sp) -{ - mp_int n = sp->elts[sp->used - 1]; - mp_result res; - mp_small ncopy; - int ix; - - if((res = mp_int_to_int(n, &ncopy)) != MP_OK) - return res; - - if(ncopy < 1 || ncopy >= sp->used) - return MP_RANGE; - - stack_pop(sp); - - for(ix = 0; ix < ncopy; ++ix) { - mp_int old = sp->elts[sp->used - ncopy]; - mp_int new = mp_int_alloc(); - - if(new == NULL) - return MP_MEMORY; - - if((res = mp_int_copy(old, new)) != MP_OK) { - mp_int_free(new); - return res; - } - if((res = stack_push(sp, new)) != MP_OK) - return res; - } - - return MP_OK; -} - -static mp_result cf_swap(cstate_t *sp) -{ - mp_int t = sp->elts[sp->used - 1]; - - sp->elts[sp->used - 1] = sp->elts[sp->used - 2]; - sp->elts[sp->used - 2] = t; - - return MP_OK; -} - -static mp_result cf_rot(cstate_t *sp) -{ - mp_int t = sp->elts[sp->used - 3]; - - sp->elts[sp->used - 3] = sp->elts[sp->used - 2]; - sp->elts[sp->used - 2] = sp->elts[sp->used - 1]; - sp->elts[sp->used - 1] = t; - - return MP_OK; -} - -static mp_result cf_pick(cstate_t *sp) -{ - mp_int n = sp->elts[sp->used - 1]; - mp_result res; - mp_small pos = 0; - - if((res = mp_int_to_int(n, &pos)) != MP_OK) - return res; - - if(pos < 0 || pos >= sp->used - 1) - return MP_RANGE; - - return mp_int_copy(sp->elts[sp->used - 2 - pos], n); -} - -static mp_result cf_setr(cstate_t *sp) -{ - mp_int a = sp->elts[sp->used - 1]; - mp_result res; - mp_small rdx = 0; - - if((res = mp_int_to_int(a, &rdx)) != MP_OK) - return res; - - if(rdx < MP_MIN_RADIX || rdx > MP_MAX_RADIX) - return MP_RANGE; - - g_output_radix = rdx; - stack_pop(sp); - return MP_OK; -} - -static mp_result cf_setbin(cstate_t *sp) -{ - g_output_radix = 0; - return MP_OK; -} - -static mp_result cf_help(cstate_t *sp) -{ - int ix, maxlen = 10; /* minimum width */ - - for(ix = 0; g_ops[ix].name != NULL; ++ix) { - int len = strlen(g_ops[ix].name); - - if(len > maxlen) - maxlen = len; - } - - fprintf(stderr, "Operators understood:\n"); - for(ix = 0; g_ops[ix].name != NULL; ++ix) { - int len = strlen(g_ops[ix].name); - - fputs(g_ops[ix].name, stderr); - while(len++ <= maxlen) - fputc(' ', stderr); - - fprintf(stderr, "%s\n", g_ops[ix].descript); - } - fputc('\n', stderr); - - return MP_OK; -} - -static mp_result cf_store(cstate_t *sp) -{ - mp_result res; - - if(next_token(sp->ifp, sp->ibuf, sp->buflen) != t_symbol) - return MP_INPUT; - - if((res = mem_insert(sp, sp->ibuf, sp->elts[sp->used - 1])) != MP_OK) - return res; - - return stack_pop(sp); -} - -static mp_result cf_recall(cstate_t *sp) -{ - mp_result res; - mp_int val; - - if(next_token(sp->ifp, sp->ibuf, sp->buflen) != t_symbol) - return MP_INPUT; - - if((val = mp_int_alloc()) == NULL) - return MP_MEMORY; - if((res = mem_recall(sp, sp->ibuf, val)) != MP_OK) { - mp_int_free(val); - return res; - } - - return stack_push(sp, val); -} - -static mp_result cf_cmem(cstate_t *sp) -{ - return mem_clear(sp); -} - -static mp_result cf_pmem(cstate_t *sp) -{ - int ix, max_len = 0; - - if(sp->mused == 0) { - fprintf(g_output_file, "<memory empty>\n"); - return MP_OK; - } - - for(ix = 0; ix < sp->mused; ++ix) { - int ln = strlen(sp->names[ix]); - - if(ln > max_len) - max_len = ln; - } - - max_len += 1; /* allow for a padding space */ - - for(ix = 0; ix < sp->mused; ++ix) { - int ln = strlen(sp->names[ix]); - - fprintf(g_output_file, "%s:", sp->names[ix]); - - while(ln++ < max_len) - fputc(' ', g_output_file); - - print_value(sp->mem[ix]); - } - - return MP_OK; -} - -static mp_result cf_qrecall(cstate_t *sp) -{ - mp_result res; - mp_int val; - - if((val = mp_int_alloc()) == NULL) - return MP_MEMORY; - - if((res = mem_recall(sp, sp->ibuf, val)) != MP_OK) { - mp_int_free(val); - return res; - } - - return stack_push(sp, val); -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/examples/input.c b/polly/lib/External/isl/imath/examples/input.c deleted file mode 100644 index 6997c3e9321..00000000000 --- a/polly/lib/External/isl/imath/examples/input.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - input.c - - Demonstrates basic input and output of arbitrary precision integers using - IMath. - - by Michael J. Fromberger <http://spinning-yarns.org/michael/> - Copyright (C) 2003-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "imrat.h" - -int main(int argc, char *argv[]) -{ - mp_size radix = 10; /* Default output radix */ - mpq_t value; - mp_result res; - char *endp; - - if(argc < 2) { - fprintf(stderr, "Usage: input <value> [output-base]\n"); - return 1; - } - if(argc > 2) { - if((radix = atoi(argv[2])) < MP_MIN_RADIX || - (radix > MP_MAX_RADIX)) { - fprintf(stderr, "Error: Specified radix is out of range (%d)\n", - radix); - return 1; - } - } - - /* Initialize a new value, initially zero; illustrates how to check - for errors (e.g., out of memory) and display a message. */ - if((res = mp_rat_init(&value)) != MP_OK) { - fprintf(stderr, "Error in mp_rat_init(): %s\n", - mp_error_string(res)); - return 1; - } - - /* Read value in base 10 */ - if((res = mp_rat_read_ustring(&value, 0, argv[1], &endp)) != MP_OK) { - fprintf(stderr, "Error in mp_rat_read_ustring(): %s\n", - mp_error_string(res)); - - if(res == MP_TRUNC) - fprintf(stderr, " -- remaining input is: %s\n", endp); - - mp_rat_clear(&value); - return 1; - } - - printf("Here is your value in base %d\n", radix); - { - mp_result buf_size, res; - char *obuf; - - if(mp_rat_is_integer(&value)) { - /* Allocate a buffer big enough to hold the given value, including - sign and zero terminator. */ - buf_size = mp_int_string_len(MP_NUMER_P(&value), radix); - obuf = malloc(buf_size); - - /* Convert the value to a string in the desired radix. */ - if((res = mp_int_to_string(MP_NUMER_P(&value), radix, - obuf, buf_size)) != MP_OK) { - fprintf(stderr, "Converstion to base %d failed: %s\n", - radix, mp_error_string(res)); - mp_rat_clear(&value); - return 1; - } - } - else { - /* Allocate a buffer big enough to hold the given value, including - sign and zero terminator. */ - buf_size = mp_rat_string_len(&value, radix); - obuf = malloc(buf_size); - - /* Convert the value to a string in the desired radix. */ - if((res = mp_rat_to_string(&value, radix, obuf, buf_size)) != MP_OK) { - fprintf(stderr, "Conversion to base %d failed: %s\n", - radix, mp_error_string(res)); - mp_rat_clear(&value); - return 1; - } - } - fputs(obuf, stdout); - fputc('\n', stdout); - free(obuf); - } - - /* When you are done with a value, it must be "cleared" to release - the memory it occupies */ - mp_rat_clear(&value); - return 0; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/examples/randprime.c b/polly/lib/External/isl/imath/examples/randprime.c deleted file mode 100644 index bca621894a3..00000000000 --- a/polly/lib/External/isl/imath/examples/randprime.c +++ /dev/null @@ -1,245 +0,0 @@ -/* - Name: randprime.c - Purpose: Generate a probable prime at random. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Usage: randprime [-s] <bits> [<outfile>] - - Generate a randomly-chosen probable prime having <bits> significant bits, and - write it to the specified output file or to the standard output. If the "-s" - option is given, a prime p is chosen such that (p - 1) / 2 is also prime. - - A prime is obtained by reading random bits from /dev/random, setting the - low-order bit, and testing for primality. If the first candidate is not - prime, successive odd candidates are tried until a probable prime is found. - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <limits.h> - -#include <unistd.h> - -#include "imath.h" -#include "iprime.h" - -/* Load the specified buffer with random bytes */ -int randomize(unsigned char *buf, size_t len); - -/* Overwrite the specified value with n_bits random bits */ -mp_result mp_int_randomize(mp_int a, mp_size n_bits); - -/* Find a prime starting from the given odd seed */ -mp_result find_prime(mp_int seed, FILE *fb); -mp_result find_strong_prime(mp_int seed, FILE *fb); - -typedef mp_result (*find_f)(mp_int, FILE *); - -int main(int argc, char *argv[]) -{ - int opt, modbits; - FILE *ofp = stdout; - mp_result res; - find_f find_func = find_prime; - char tag = 'p'; - mpz_t value; - - /* Process command-line arguments */ - while((opt = getopt(argc, argv, "s")) != EOF) { - switch(opt) { - case 's': - find_func = find_strong_prime; - tag = 'P'; - break; - default: - fprintf(stderr, "Usage: randprime [-s] <bits> [<outfile>]\n"); - return 1; - } - } - - if(optind >= argc) { - fprintf(stderr, "Error: You must specify the number of significant bits.\n"); - fprintf(stderr, "Usage: randprime [-s] <bits> [<outfile>]\n"); - return 1; - } - modbits = (int) strtol(argv[optind++], NULL, 0); - if(modbits < CHAR_BIT) { - fprintf(stderr, "Error: Invalid value for number of significant bits.\n"); - return 1; - } - if(modbits % 2 == 1) - ++modbits; - - /* Check if output file is specified */ - if(optind < argc) { - if((ofp = fopen(argv[optind], "wt")) == NULL) { - fprintf(stderr, "Error: Unable to open output file for writing.\n" - " - Filename: %s\n" - " - Error: %s\n", argv[optind], strerror(errno)); - return 1; - } - } - - mp_int_init(&value); - if ((res = mp_int_randomize(&value, modbits - 1)) != MP_OK) { - fprintf(stderr, "Error: Unable to generate random start value.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - fprintf(stderr, "%c: ", tag); - find_func(&value, stderr); - fputc('\n', stderr); - - /* Write the completed value to the specified output file */ - { - int len; - char *obuf; - - len = mp_int_string_len(&value, 10); - obuf = malloc(len); - mp_int_to_string(&value, 10, obuf, len); - fputs(obuf, ofp); - fputc('\n', ofp); - - free(obuf); - } - - EXIT: - fclose(ofp); - mp_int_clear(&value); - return 0; -} - -int randomize(unsigned char *buf, size_t len) -{ - FILE *rnd = fopen("/dev/random", "rb"); - size_t nr; - - if(rnd == NULL) - return -1; - - nr = fread(buf, sizeof(*buf), len, rnd); - fclose(rnd); - - return (int) nr; -} - -mp_result mp_int_randomize(mp_int a, mp_size n_bits) -{ - mp_size n_bytes = (n_bits + CHAR_BIT - 1) / CHAR_BIT; - unsigned char *buf; - mp_result res = MP_OK; - - if((buf = malloc(n_bytes)) == NULL) - return MP_MEMORY; - - if(randomize(buf, n_bytes) != n_bytes) { - res = MP_TRUNC; - goto CLEANUP; - } - - /* Clear bits beyond the number requested */ - if(n_bits % CHAR_BIT != 0) { - unsigned char b_mask = (1 << (n_bits % CHAR_BIT)) - 1; - unsigned char t_mask = (1 << (n_bits % CHAR_BIT)) >> 1; - - buf[0] &= b_mask; - buf[0] |= t_mask; - } - - /* Set low-order bit to insure value is odd */ - buf[n_bytes - 1] |= 1; - - res = mp_int_read_unsigned(a, buf, n_bytes); - - CLEANUP: - memset(buf, 0, n_bytes); - free(buf); - - return res; -} - -mp_result find_prime(mp_int seed, FILE *fb) -{ - mp_result res; - int count = 0; - - if(mp_int_is_even(seed)) - if((res = mp_int_add_value(seed, 1, seed)) != MP_OK) - return res; - - while((res = mp_int_is_prime(seed)) == MP_FALSE) { - ++count; - - if(fb != NULL && (count % 50) == 0) - fputc('.', fb); - - if((res = mp_int_add_value(seed, 2, seed)) != MP_OK) - return res; - } - - if(res == MP_TRUE && fb != NULL) - fputc('+', fb); - - return res; -} - -mp_result find_strong_prime(mp_int seed, FILE *fb) -{ - mp_result res; - mpz_t t; - - mp_int_init(&t); - for(;;) { - if ((res = find_prime(seed, fb)) != MP_TRUE) - break; - if ((res = mp_int_copy(seed, &t)) != MP_OK) - break; - - if ((res = mp_int_mul_pow2(&t, 1, &t)) != MP_OK || - (res = mp_int_add_value(&t, 1, &t)) != MP_OK) - break; - - if ((res = mp_int_is_prime(&t)) == MP_TRUE) { - if (fb != NULL) - fputc('!', fb); - - res = mp_int_copy(&t, seed); - break; - } - else if (res != MP_FALSE) - break; - - if (fb != NULL) - fputc('x', fb); - if ((res = mp_int_add_value(seed, 2, seed)) != MP_OK) - break; - } - - mp_int_clear(&t); - return res; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/examples/rounding.c b/polly/lib/External/isl/imath/examples/rounding.c deleted file mode 100644 index 674b2bd39a4..00000000000 --- a/polly/lib/External/isl/imath/examples/rounding.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - Name: rounding.c - Purpose: Demonstrates rounding modes. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Bugs: The rounding mode can only be specified by value, not name. - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> - -#include "imath.h" -#include "imrat.h" - -int main(int argc, char *argv[]) -{ - mp_result mode, len, res = 0; - mp_size prec, radix; - mpq_t value; - char *buf; - - if(argc < 5) { - fprintf(stderr, "Usage: rounding <mode> <precision> <radix> <value>\n"); - return 1; - } - - if((res = mp_rat_init(&value)) != MP_OK) { - fprintf(stderr, "Error initializing: %s\n", mp_error_string(res)); - return 2; - } - - mode = atoi(argv[1]); - prec = atoi(argv[2]); - radix = atoi(argv[3]); - - printf("Rounding mode: %d\n" - "Precision: %u digits\n" - "Radix: %u\n" - "Input string: \"%s\"\n", mode, prec, radix, argv[4]); - - if((res = mp_rat_read_decimal(&value, radix, argv[4])) != MP_OK) { - fprintf(stderr, "Error reading input string: %s\n", - mp_error_string(res)); - goto CLEANUP; - } - - len = mp_rat_decimal_len(&value, radix, prec); - buf = malloc(len); - - if((res = mp_rat_to_decimal(&value, radix, prec, mode, buf, len)) != MP_OK) - fprintf(stderr, "Error converting output: %s\n", - mp_error_string(res)); - - printf("Result string: \"%s\"\n", buf); - free(buf); - - CLEANUP: - mp_rat_clear(&value); - return res; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/examples/rsakey.c b/polly/lib/External/isl/imath/examples/rsakey.c deleted file mode 100644 index 441e724df4c..00000000000 --- a/polly/lib/External/isl/imath/examples/rsakey.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - Name: rsakey.c - Purpose: Generate keys for the RSA cryptosystem. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Usage: rsakey [-e <expt>] <modbits> [<outfile>] - - Generates an RSA key pair with a modulus having <modbits> significant bits, - and writes it to the specified output file, or to the standard output. The - -e option allows the user to specify an encryption exponent; otherwise, an - encryption exponent is chosen at random. - - Primes p and q are obtained by reading random bits from /dev/random, setting - the low-order bit, and testing for primality. If the first candidate is not - prime, successive odd candidates are tried until a probable prime is found. - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <limits.h> - -#include <unistd.h> - -#include "imath.h" -#include "iprime.h" - -typedef struct { - mpz_t p; - mpz_t q; - mpz_t n; - mpz_t e; - mpz_t d; -} rsa_key; - -/* Load the specified buffer with random bytes */ -int randomize(unsigned char *buf, size_t len); - -/* Overwrite the specified value with n_bits random bits */ -mp_result mp_int_randomize(mp_int a, mp_size n_bits); - -/* Find a prime starting from the given odd seed */ -mp_result find_prime(mp_int seed, FILE *fb); - -/* Initialize/destroy an rsa_key structure */ -mp_result rsa_key_init(rsa_key *kp); -void rsa_key_clear(rsa_key *kp); -void rsa_key_write(rsa_key *kp, FILE *ofp); - -int main(int argc, char *argv[]) -{ - int opt, modbits; - FILE *ofp = stdout; - char *expt = NULL; - rsa_key the_key; - mp_result res; - - /* Process command-line arguments */ - while((opt = getopt(argc, argv, "e:")) != EOF) { - switch(opt) { - case 'e': - expt = optarg; - break; - default: - fprintf(stderr, "Usage: rsakey [-e <expt>] <modbits> [<outfile>]\n"); - return 1; - } - } - - if(optind >= argc) { - fprintf(stderr, "Error: You must specify the number of modulus bits.\n"); - fprintf(stderr, "Usage: rsakey [-e <expt>] <modbits> [<outfile>]\n"); - return 1; - } - modbits = (int) strtol(argv[optind++], NULL, 0); - if(modbits < CHAR_BIT) { - fprintf(stderr, "Error: Invalid value for number of modulus bits.\n"); - return 1; - } - if(modbits % 2 == 1) - ++modbits; - - /* Check if output file is specified */ - if(optind < argc) { - if((ofp = fopen(argv[optind], "wt")) == NULL) { - fprintf(stderr, "Error: Unable to open output file for writing.\n" - " - Filename: %s\n" - " - Error: %s\n", argv[optind], strerror(errno)); - return 1; - } - } - - if((res = rsa_key_init(&the_key)) != MP_OK) { - fprintf(stderr, "Error initializing RSA key structure:\n" - " - %s (%d)\n", mp_error_string(res), res); - return 1; - } - - /* If specified, try to load the key exponent */ - if(expt != NULL) { - if((res = mp_int_read_string(&(the_key.e), 10, expt)) != MP_OK) { - fprintf(stderr, "Error: Invalid value for encryption exponent.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - } - - if((res = mp_int_randomize(&(the_key.p), (modbits / 2))) != MP_OK) { - fprintf(stderr, "Error: Unable to randomize first prime.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - fprintf(stderr, "p: "); - find_prime(&(the_key.p), stderr); - - if((res = mp_int_randomize(&(the_key.q), (modbits / 2))) != MP_OK) { - fprintf(stderr, "Error: Unable to randomize second prime.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - fprintf(stderr, "\nq: "); - find_prime(&(the_key.q), stderr); - fputc('\n', stderr); - - /* Temporarily, the key's "n" field will be (p - 1) * (q - 1) for - purposes of computing the decryption exponent. - */ - mp_int_mul(&(the_key.p), &(the_key.q), &(the_key.n)); - mp_int_sub(&(the_key.n), &(the_key.p), &(the_key.n)); - mp_int_sub(&(the_key.n), &(the_key.q), &(the_key.n)); - mp_int_add_value(&(the_key.n), 1, &(the_key.n)); - - if(expt == NULL && - (res = mp_int_randomize(&(the_key.e), (modbits / 2))) != MP_OK) { - fprintf(stderr, "Error: Unable to randomize encryption exponent.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - while((res = mp_int_invmod(&(the_key.e), &(the_key.n), - &(the_key.d))) != MP_OK) { - if(expt != NULL) { - fprintf(stderr, "Error: Unable to compute decryption exponent.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - if((res = mp_int_randomize(&(the_key.e), (modbits / 2))) != MP_OK) { - fprintf(stderr, "Error: Unable to re-randomize encryption exponent.\n" - " - %s (%d)\n", mp_error_string(res), res); - goto EXIT; - } - } - - /* Recompute the real modulus, now that exponents are done. */ - mp_int_mul(&(the_key.p), &(the_key.q), &(the_key.n)); - - /* Write completed key to the specified output file */ - rsa_key_write(&the_key, ofp); - - EXIT: - fclose(ofp); - rsa_key_clear(&the_key); - return 0; -} - -int randomize(unsigned char *buf, size_t len) -{ - FILE *rnd = fopen("/dev/random", "rb"); - size_t nr; - - if(rnd == NULL) - return -1; - - nr = fread(buf, sizeof(*buf), len, rnd); - fclose(rnd); - - return (int) nr; -} - -mp_result mp_int_randomize(mp_int a, mp_size n_bits) -{ - mp_size n_bytes = (n_bits + CHAR_BIT - 1) / CHAR_BIT; - unsigned char *buf; - mp_result res = MP_OK; - - if((buf = malloc(n_bytes)) == NULL) - return MP_MEMORY; - - if(randomize(buf, n_bytes) != n_bytes) { - res = MP_TRUNC; - goto CLEANUP; - } - - /* Clear bits beyond the number requested */ - if(n_bits % CHAR_BIT != 0) { - unsigned char b_mask = (1 << (n_bits % CHAR_BIT)) - 1; - unsigned char t_mask = (1 << (n_bits % CHAR_BIT)) >> 1; - - buf[0] &= b_mask; - buf[0] |= t_mask; - } - - /* Set low-order bit to insure value is odd */ - buf[n_bytes - 1] |= 1; - - res = mp_int_read_unsigned(a, buf, n_bytes); - - CLEANUP: - memset(buf, 0, n_bytes); - free(buf); - - return res; -} - -mp_result find_prime(mp_int seed, FILE *fb) -{ - mp_result res; - int count = 0; - - if(mp_int_is_even(seed)) - if((res = mp_int_add_value(seed, 1, seed)) != MP_OK) - return res; - - while((res = mp_int_is_prime(seed)) == MP_FALSE) { - ++count; - - if(fb != NULL && (count % 50) == 0) - fputc('.', fb); - - if((res = mp_int_add_value(seed, 2, seed)) != MP_OK) - return res; - } - - if(res == MP_TRUE && fb != NULL) - fputc('+', fb); - - return res; -} - -mp_result rsa_key_init(rsa_key *kp) -{ - mp_int_init(&(kp->p)); - mp_int_init(&(kp->q)); - mp_int_init(&(kp->n)); - mp_int_init(&(kp->e)); - mp_int_init(&(kp->d)); - - return MP_OK; -} - -void rsa_key_clear(rsa_key *kp) -{ - mp_int_clear(&(kp->p)); - mp_int_clear(&(kp->q)); - mp_int_clear(&(kp->n)); - mp_int_clear(&(kp->e)); - mp_int_clear(&(kp->d)); -} - -void rsa_key_write(rsa_key *kp, FILE *ofp) -{ - int len; - char *obuf; - - len = mp_int_string_len(&(kp->n), 10); - obuf = malloc(len); - mp_int_to_string(&(kp->p), 10, obuf, len); - fprintf(ofp, "p = %s\n", obuf); - mp_int_to_string(&(kp->q), 10, obuf, len); - fprintf(ofp, "q = %s\n", obuf); - mp_int_to_string(&(kp->e), 10, obuf, len); - fprintf(ofp, "e = %s\n", obuf); - mp_int_to_string(&(kp->d), 10, obuf, len); - fprintf(ofp, "d = %s\n", obuf); - mp_int_to_string(&(kp->n), 10, obuf, len); - fprintf(ofp, "n = %s\n", obuf); - - free(obuf); -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/findsizes.py b/polly/lib/External/isl/imath/findsizes.py deleted file mode 100755 index fc270b38761..00000000000 --- a/polly/lib/External/isl/imath/findsizes.py +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/env python -## -## Name: findsizes.py -## Purpose: Find acceptable digit and word types for IMath. -## Author: M. J. Fromberger <http://spinning-yarns.org/michael/> -## -## Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. -## -## Permission is hereby granted, free of charge, to any person obtaining a -## copy of this software and associated documentation files (the "Software"), -## to deal in the Software without restriction, including without limitation -## the rights to use, copy, modify, merge, publish, distribute, sublicense, -## and/or sell copies of the Software, and to permit persons to whom the -## Software is furnished to do so, subject to the following conditions: -## -## The above copyright notice and this permission notice shall be included in -## all copies or substantial portions of the Software. -## -## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -## THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -## DEALINGS IN THE SOFTWARE. -## -import getopt, os, re, subprocess, sys, tempfile - -# These are the type names to test for suitability. If your compiler -# does not support "long long", e.g., it is strict ANSI C90, then you -# should remove "long long" from this list. -try_types = [ "unsigned %s" % s for s in - ("char", "short", "int", "long", "long long") ] - -def main(args): - """Scan the Makefile to find appropriate compiler settings, and then - compile a test program to emit the sizes of the various types that are - considered candidates. The -L (--nolonglong) command line option disables - the use of the"long long" type, which is not standard ANSI C90; by default, - "long long" is considered. - """ - try: - opts, args = getopt.getopt(args, 'L', ('nolonglong',)) - except getopt.GetoptError, e: - print >> sys.stderr, "Usage: findsizes.py [-L/--nolonglong]" - sys.exit(1) - - for opt, arg in opts: - if opt in ('-L', '--nolonglong'): - try: - try_types.pop(try_types.index("unsigned long long")) - except ValueError: pass - - vars = get_make_info() - sizes = get_type_sizes(try_types, vars.get('CC', 'cc'), - vars.get('CFLAGS', '').split()) - - stypes = sorted(sizes.keys(), key = lambda k: sizes[k], reverse = True) - word_type = stypes[0] - for t in stypes[1:]: - if sizes[t] <= sizes[word_type] / 2: - digit_type = t - break - else: - print >> sys.stderr, "Unable to find a compatible digit type." - sys.exit(1) - - print "typedef %-20s mp_word; /* %d bytes */\n" \ - "typedef %-20s mp_digit; /* %d bytes */" % \ - (word_type, sizes[word_type], digit_type, sizes[digit_type]) - -def get_type_sizes(types, cc, cflags = ()): - """Return a dictionary mapping the names of the specified types to - their sizes in bytes, based on the output of the C compiler whose - path and arguments are given. - """ - fd, tpath = tempfile.mkstemp(suffix = '.c') - fp = os.fdopen(fd, 'r+') - fp.seek(0) - - fp.write("#include <stdio.h>\n\nint main(void)\n{\n") - for t in types: - fp.write(' printf("%%lu\\t%%s\\n", (unsigned long) sizeof(%s), ' - '\"%s\");\n' % (t, t)) - fp.write('\n return 0;\n}\n') - fp.close() - - print >> sys.stderr, \ - "Compiler: %s\n" \ - "Flags: %s\n" \ - "Source: %s\n" % (cc, ' '.join(cflags), tpath) - - cmd = [cc] + list(cflags) + [tpath] - if subprocess.call(cmd) <> 0: - raise ValueError("Error while running '%s'" % ' '.join(cmd)) - - os.unlink(tpath) - if not os.path.isfile('a.out'): - raise ValueError("No executable a.out found") - - result = subprocess.Popen(['./a.out'], - stdout = subprocess.PIPE).communicate()[0] - - out = {} - for line in result.split('\n'): - if line.strip() == '': - continue - size, type = re.split(r'\s+', line, 1) - out[type] = int(size) - - os.unlink("a.out") - return out - -def sub_make_vars(input, vars): - """Perform Make style variable substitution in the given input - string, using vars as a dictionary of variables to substitute. - """ - def frep(m): - try: - return vars[m.group(1).strip()] - except KeyError: - return ' ' - - expr = re.compile(r'\$\((\s*\w+\s*)\)') - out = input - while True: - next = expr.sub(frep, out) - if next == out: - break - out = next - - return out - -def get_make_info(target = None, makefile = None, makepath = "make", - defs = ()): - """Extract a listing of all of the variables defined by Make. - Returns a dictionary mapping variable names to their string - values. - - Optional arguments: - target -- the name of the target to request that Make build. - makefile -- the path to the Makefile. - makepath -- the path to the make executable. - defs -- a sequence of strings, additional make arguments. - """ - cmd = [makepath] - if defs: - cmd.extend(defs) - cmd.extend(("-p", "-n")) - if makefile is not None: - cmd.extend(["-f", makefile]) - if target is not None: - cmd.append(target) - - output = subprocess.Popen(cmd, - stdout = subprocess.PIPE, - stderr = subprocess.PIPE).communicate()[0] - vrule = re.compile(r'^(\w+)\s*=\s*(.*)$') - - vars = {} - for line in output.split('\n'): - m = vrule.match(line) - if m: - vars[m.group(1)] = m.group(2) - - for key, val in vars.iteritems(): - vars[key] = sub_make_vars(val, vars) - - return vars - -if __name__ == "__main__": - main(sys.argv[1:]) - -# Here there be dragons diff --git a/polly/lib/External/isl/imath/findthreshold.py b/polly/lib/External/isl/imath/findthreshold.py deleted file mode 100755 index daf3de6580b..00000000000 --- a/polly/lib/External/isl/imath/findthreshold.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python -## -## Name: findthreshold.py -## Purpose: Find a good threshold for recursive multiplication. -## Author: M. J. Fromberger <http://spinning-yarns.org/michael/> -## Info: $Id: findthreshold.py 456 2006-08-16 14:24:06Z sting $ -## -## This tool computes some timing statistics to help you select a suitable -## recursive multiplication breakpoint. It uses the imtimer tool to run a -## series of tests varying precision and breakpoint, and prints out a summary -## of the "best" values for each category. Each summary line contains the -## following fields, tab-separated: -## -## prec -- the precision of the operands (in digits). -## thresh -- the threshold for recursive multiplication (digits). -## trec -- total time using recursive algorithm (sec). -## tnorm -- total time without recursive algorithm (sec). -## ratio -- speedup (ratio of tnorm/trec). -## -## You are responsible for reading and interpreting the resulting table to -## obtain a useful value for your workload. Change the value of MP_MULT_THRESH -## in imath.h once you have a satisfactory result. -## -import math, os, random, sys, time - -def get_timing_stats(num_tests, precision, threshold, seed = None): - """Obtain timing statistics for multiplication. - - num_tests -- number of tests to run. - precision -- number of digits per operand. - threshold -- threshold in digits for recursive multiply. - seed -- random seed; if None, the clock is used. - - Returns a tuple of (seed, bits, time) where seed is the random seed used, - bits is the number of bits per operand, and time is a float giving the - total time taken for the test run. - """ - if seed is None: - seed = int(time.time()) - - line = os.popen('./imtimer -mn -p %d -t %d -s %d %d' % - (precision, threshold, seed, num_tests), 'r').readline() - - count, prec, bits, thresh, status = line.strip().split('\t') - kind, total, unit = status.split() - - return seed, int(bits), float(total) - -def check_binary(name): - if not os.path.exists(name): - os.system('make %s' % name) - if not os.path.exists(name): - raise ValueError("Unable to build %s" % name) - elif not os.path.isfile(name): - raise ValueError("Path exists with wrong type") - -def compute_stats(): - check_binary('imtimer') - seed = int(time.time()) - - print >> sys.stderr, "Computing timer statistics (this may take a while)" - stats = {} - for prec in (32, 40, 64, 80, 128, 150, 256, 384, 512, 600, 768, 1024): - sys.stderr.write('%-4d ' % prec) - stats[prec] = (None, 1000000., 0.) - - for thresh in xrange(16, 65, 2): - s, b, t = get_timing_stats(1000, prec, thresh, seed) - sp, bp, tp = get_timing_stats(1000, prec, prec + 1, seed) - - if t < stats[prec][1]: - stats[prec] = (thresh, t, tp) - sys.stderr.write('+') - else: - sys.stderr.write('.') - sys.stderr.write('\n') - - return list((p, h, t, tp) for p, (h, t, tp) in stats.iteritems()) - -if __name__ == "__main__": - stats = compute_stats() - stats.sort(key = lambda s: s[3]/s[2]) - for prec, thresh, trec, tnorm in stats: - print "%d\t%d\t%.3f\t%.3f\t%.4f" % (prec, thresh, trec, tnorm, - tnorm / trec) - - print - -# Here there be dragons diff --git a/polly/lib/External/isl/imath/imdrover.c b/polly/lib/External/isl/imath/imdrover.c deleted file mode 100644 index 148561311a1..00000000000 --- a/polly/lib/External/isl/imath/imdrover.c +++ /dev/null @@ -1,1532 +0,0 @@ -/* - Name: imdrover.c - Purpose: Keeper of the hordes of testing code. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2007 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include <assert.h> - -#include "imdrover.h" -#include "imath.h" -#include "imrat.h" - -/* Globals visible from outside this file */ -mp_result imath_errno; -char *imath_errmsg; - -/* Set imath_errno and return failure from a test. */ -#define FAIL(E) return (imath_errno = (E), 0) - -/* Check that an expression X yields the expected mp_result value V. */ -#define VCHECK(X, V) \ -do { \ - mp_result res_; \ - if ((res_ = (X)) != (V)) { \ - FAIL(res_); \ - } \ -} while(0) -#define CHECK(X) VCHECK(X, MP_OK) -#define ECHECK(X) VCHECK(X, expect) -#define ACHECK(X) \ -do { \ - if (!(X)) { \ - FAIL(MP_BADARG); \ - } \ -} while(0) - -#define OUTPUT_LIMIT 2048 -#define NUM_REGS 16 -#define OTHER_ERROR -1024 - -static char g_output[OUTPUT_LIMIT]; -static mpz_t g_zreg[NUM_REGS]; -static mpq_t g_qreg[NUM_REGS]; -static unsigned char g_bin1[OUTPUT_LIMIT]; -static unsigned char g_bin2[OUTPUT_LIMIT]; - -extern void trim_line(char *line); /* borrowed from imtest.c */ - -/* Read in a string with radix tags */ -static mp_result read_int_value(mp_int z, char *str); -static mp_result read_rat_value(mp_rat q, char *str); - -/* Read in a string with radix tags, as a long (not an mp_int) */ -static int read_long(long *z, char *str); - -/* Parse the input and output values and fill in pointers to the - registers containing them. Returns true if all is well, false - in case of error. Caller allocates in/out to correct sizes. */ -static int parse_int_values(testspec_t* t, mp_int *in, mp_int *out, - mp_result *rval); -static int parse_rat_values(testspec_t* t, mp_rat *in, mp_rat *out, - mp_result *rval); - -/* Parse a result code name and return the corresponding result - code */ -static int parse_result_code(char *str, mp_result *code); - -/* Read in a dot-delimited binary sequence to the given buffer, and - return the number of bytes read. Returns < 0 in case of a syntax - error. Records no more than limit bytes. */ -static int parse_binary(char *str, unsigned char *buf, int limit); - -/* Clean up registers (called from atexit()) */ -static void done_testing(void); - -/*------------------------------------------------------------------------*/ -/* Utility subroutines for writing tests (explained above) */ - -static mp_result read_int_value(mp_int z, char *str) -{ - int radix = 10; - - if(*str == '#') { - ++str; - switch(*str) { - case 'x': case 'X': - radix = 16; - break; - case 'd': case 'D': - radix = 10; - break; - case 'o': case 'O': - radix = 8; - break; - case 'b': case 'B': - radix = 2; - break; - default: - return MP_RANGE; - } - ++str; - } - - return mp_int_read_string(z, radix, str); -} - -static mp_result read_rat_value(mp_rat q, char *str) -{ - int radix = 10; - - if(*str == '#') { - ++str; - switch(*str) { - case 'x': case 'X': - radix = 16; - break; - case 'd': case 'D': - radix = 10; - break; - case 'o': case 'O': - radix = 8; - break; - case 'b': case 'B': - radix = 2; - break; - default: - return MP_RANGE; - } - ++str; - } - - if(*str == '@') - return mp_rat_read_decimal(q, radix, str + 1); - else - return mp_rat_read_string(q, radix, str); -} - -static int read_long(long *z, char *str) -{ - char *end; - int radix = 10; - - if (*str == '#') { - ++str; - switch (*str) { - case 'x': case 'X': - radix = 16; - break; - case 'd': case 'D': - radix = 10; - break; - case 'o': case 'O': - radix = 8; - break; - case 'b': case 'B': - radix = 2; - break; - default: - return 0; - } - ++str; - } - - *z = strtol(str, &end, radix); - return (end != str && *end == '\0'); -} - -static int parse_int_values(testspec_t* t, mp_int* in, mp_int* out, - mp_result* rval) -{ - int i, pos = 0; - char *str; - - if (rval != NULL) - *rval = MP_OK; /* default */ - - if (in != NULL) { - for (i = 0; i < t->num_inputs; ++i) { - str = t->input[i]; - - trim_line(str); - - if (*str == '=') { - int k = abs(atoi(str + 1)) - 1; - - if (k < 0 || k >= i) { - fprintf(stderr, "Line %d: Invalid input back-reference [%s]\n", - t->line, str); - return 0; - } - - in[i] = in[k]; - } - else { - mp_int reg = g_zreg + pos++; /* grab next free register */ - - if (read_int_value(reg, str) != MP_OK) { - fprintf(stderr, "Line %d: Invalid input value [%s]\n", - t->line, str); - return 0; - } - - in[i] = reg; - } - } - } - - for (i = 0; i < t->num_outputs; ++i) { - mp_int reg = g_zreg + pos++; - - str = t->output[i]; - - trim_line(str); - - if (strcmp(str, "?") == 0) - mp_int_zero(reg); - else if (*str == '$') { - mp_result code; - - if (!parse_result_code(str, &code)) { - fprintf(stderr, "Line %d: Invalid result code [%s]\n", - t->line, str); - return 0; - } - else if(rval == NULL) { - fprintf(stderr, "Line %d: Result code not permitted here [%s]\n", - t->line, str); - return 0; - } - else - *rval = code; - - /* Provide a dummy value for the corresponding output */ - mp_int_zero(reg); - } - else if (out != NULL && read_int_value(reg, str) != MP_OK) { - fprintf(stderr, "Line %d: Invalid output value [%s]\n", - t->line, str); - return 0; - } - - if (out != NULL) - out[i] = reg; - } - - return 1; -} - -static int parse_rat_values(testspec_t* t, mp_rat *in, mp_rat *out, - mp_result *rval) -{ - int i, pos = 0; - char *str; - - if (rval != NULL) - *rval = MP_OK; /* default */ - - if (in != NULL) { - for (i = 0; i < t->num_inputs; ++i) { - str = t->input[i]; - - trim_line(str); - - if (*str == '=') { - int k = abs(atoi(str + 1)) - 1; - - if (k < 0 || k >= i) { - fprintf(stderr, "Line %d: Invalid input back-reference [%s]\n", - t->line, str); - return 0; - } - - in[i] = in[k]; - } - else { - mp_rat reg = g_qreg + pos++; /* grab next free register */ - - if (read_rat_value(reg, str) != MP_OK) { - fprintf(stderr, "Line %d: Invalid input value [%s]\n", - t->line, str); - return 0; - } - - in[i] = reg; - } - } - } - - for (i = 0; i < t->num_outputs; ++i) { - mp_rat reg = g_qreg + pos++; - - str = t->output[i]; - - trim_line(str); - - if (strcmp(str, "?") == 0) - mp_rat_zero(reg); - else if (*str == '$') { - mp_result code; - - if (!parse_result_code(str, &code)) { - fprintf(stderr, "Line %d: Invalid result code [%s]\n", - t->line, str); - return 0; - } - else if (rval == NULL) { - fprintf(stderr, "Line %d: Result code not permitted here [%s]\n", - t->line, str); - return 0; - } - else - *rval = code; - - /* Provide a dummy value for the corresponding output */ - mp_rat_zero(reg); - } - else if (out != NULL && read_rat_value(reg, str) != MP_OK) { - fprintf(stderr, "Line %d: Invalid output value [%s]\n", - t->line, str); - return 0; - } - - if (out != NULL) - out[i] = reg; - } - - return 1; -} - -static int parse_result_code(char *str, mp_result *code) -{ - if (str[0] == '$') { - if (str[1] == '#') { - long v; - - if (!read_long(&v, str + 2)) - return 0; - - *code = (mp_result) v; - } - else if (strcmp(str + 1, "MP_OK") == 0 || - strcmp(str + 1, "MP_FALSE") == 0) - *code = MP_OK; - else if (strcmp(str + 1, "MP_TRUE") == 0) - *code = MP_TRUE; - else if (strcmp(str + 1, "MP_MEMORY") == 0) - *code = MP_MEMORY; - else if (strcmp(str + 1, "MP_RANGE") == 0) - *code = MP_RANGE; - else if (strcmp(str + 1, "MP_UNDEF") == 0) - *code = MP_UNDEF; - else if (strcmp(str + 1, "MP_TRUNC") == 0) - *code = MP_TRUNC; - else if (strcmp(str + 1, "MP_ROUND_UP") == 0) - *code = MP_ROUND_UP; - else if (strcmp(str + 1, "MP_ROUND_DOWN") == 0) - *code = MP_ROUND_DOWN; - else if (strcmp(str + 1, "MP_ROUND_HALF_UP") == 0) - *code = MP_ROUND_HALF_UP; - else if (strcmp(str + 1, "MP_ROUND_HALF_DOWN") == 0) - *code = MP_ROUND_HALF_DOWN; - else - return 0; - } - - return 1; -} - -static int parse_binary(char *str, unsigned char *buf, int limit) -{ - int pos = 0; - char *tok; - - trim_line(str); - - for (tok = strtok(str, "."); - tok != NULL && pos < limit; - tok = strtok(NULL, ".")) { - long v; - - if (!read_long(&v, tok) || v > UCHAR_MAX || v < 0) - return -1; - - buf[pos++] = (unsigned char)v; - } - - return pos; -} - -static void done_testing(void) -{ - int i; - - for (i = 0; i < NUM_REGS; ++i) { - mp_int_clear(g_zreg + i); - mp_rat_clear(g_qreg + i); - } -} - -/*------------------------------------------------------------------------*/ -/* Global functions visible to callers outside this file */ - -void init_testing(void) -{ - static int is_done = 0; - int i; - - if (is_done) - return; - - for (i = 0; i < NUM_REGS; ++i) { - assert(mp_int_init(g_zreg + i) == MP_OK); - assert(mp_rat_init(g_qreg + i) == MP_OK); - } - - imath_errmsg = g_output; - - assert(atexit(done_testing) == 0); - is_done = 1; -} - -void reset_registers(void) -{ - int i; - - for (i = 0; i < NUM_REGS; ++i) { - mp_int_zero(g_zreg + i); - mp_rat_zero(g_qreg + i); - } -} - -int test_init(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_small v; - mp_usmall uv; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - - if (strcmp(t->code, "initu") == 0) { - CHECK(mp_int_to_uint(in[1], &uv)); - ECHECK(mp_int_init_uvalue(in[0], uv)); - } - else { /* initv */ - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_init_value(in[0], v)); - } - - - if (expect == MP_OK && mp_int_compare(in[0], out[0]) != 0) { - mp_int_to_string(in[0], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - - return 1; -} - -int test_set(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_small v; - mp_usmall uv; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - - if (strcmp(t->code, "setu") == 0) { - CHECK(mp_int_to_uint(in[1], &uv)); - ECHECK(mp_int_set_uvalue(in[0], uv)); - } - else { /* setv */ - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_set_value(in[0], v)); - } - - if (expect == MP_OK && mp_int_compare(in[0], out[0]) != 0) { - mp_int_to_string(in[0], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - - return 1; -} - -int test_neg(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_neg(in[0], in[1])); - - if (expect == MP_OK && mp_int_compare(in[1], out[0]) != 0) { - mp_int_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - - return 1; -} - -int test_abs(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_abs(in[0], in[1])); - - if (expect == MP_OK && mp_int_compare(in[1], out[0]) != 0) { - mp_int_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - - return 1; -} - -int test_add(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_small v; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - - if (strcmp(t->code, "addv") == 0) { - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_add_value(in[0], v, in[2])); - } - else { - ECHECK(mp_int_add(in[0], in[1], in[2])); - } - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - - return 1; -} - -int test_sub(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_small v; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - - if (strcmp(t->code, "subv") == 0) { - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_sub_value(in[0], v, in[2])); - } - else { - ECHECK(mp_int_sub(in[0], in[1], in[2])); - } - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_mul(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_mul(in[0], in[1], in[2])); - - if(expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_mulp2(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - mp_small p2; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &p2)); - ECHECK(mp_int_mul_pow2(in[0], p2, in[2])); - - if(expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_mulv(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - mp_small v; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_mul_value(in[0], v, in[2])); - - if(expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_sqr(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_sqr(in[0], in[1])); - - if(expect == MP_OK && mp_int_compare(in[1], out[0]) != 0) { - mp_int_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_div(testspec_t* t, FILE* ofp) -{ - mp_int in[4], out[2]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_div(in[0], in[1], in[2], in[3])); - - if (expect == MP_OK && - ((mp_int_compare(in[2], out[0]) != 0) || - (mp_int_compare(in[3], out[1]) != 0))) { - int len; - char *str; - - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - str = g_output + (len = strlen(g_output)); - *str++ = ','; - mp_int_to_string(in[3], 10, str, OUTPUT_LIMIT - (len + 1)); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_divp2(testspec_t* t, FILE* ofp) -{ - mp_int in[4], out[2]; - mp_result expect; - mp_small p2; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &p2)); - ECHECK(mp_int_div_pow2(in[0], p2, in[2], in[3])); - - if (expect == MP_OK && - ((mp_int_compare(in[2], out[0]) != 0) || - (mp_int_compare(in[3], out[1]) != 0))) { - int len; - char *str; - - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - str = g_output + (len = strlen(g_output)); - *str++ = ','; - mp_int_to_string(in[3], 10, str, OUTPUT_LIMIT - (len + 1)); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_divv(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[2]; - mp_result expect; - mp_small v, rem, orem; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &v)); - CHECK(mp_int_to_int(out[1], &orem)); - ECHECK(mp_int_div_value(in[0], v, in[2], &rem)); - - if (expect == MP_OK && - ((mp_int_compare(in[2], out[0]) != 0) || (rem != orem))) { - char *str; - - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - str = g_output + strlen(g_output); - *str++ = ','; - sprintf(str, "%ld", rem); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_expt(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - mp_small pow; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &pow)); - ECHECK(mp_int_expt(in[0], pow, in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_exptv(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - mp_small a, b; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[0], &a)); - CHECK(mp_int_to_int(in[1], &b)); - ECHECK(mp_int_expt_value(a, b, in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_exptf(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_expt_full(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_mod(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_mod(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_gcd(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_gcd(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_egcd(testspec_t* t, FILE* ofp) -{ - mp_int in[5], out[3], t1 = g_zreg + 8, t2 = g_zreg + 9; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_egcd(in[0], in[1], in[2], in[3], in[4])); - - /* If we got an error we expected, return success immediately */ - if(expect != MP_OK) - return 1; - - if ((mp_int_compare(in[2], out[0]) != 0) || - (mp_int_compare(in[3], out[1]) != 0) || - (mp_int_compare(in[4], out[2]) != 0)) { - int len, len2; - char *str; - - /* Failure might occur because the tester computed x and y in a different - way than we did. Verify that the results are correct before reporting - an error. */ - mp_int_mul(in[3], in[0], t1); - mp_int_mul(in[4], in[1], t2); - mp_int_add(t1, t2, t2); - if (mp_int_compare(t2, in[2]) == 0) - return 1; - - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - str = g_output + (len = strlen(g_output)); - *str++ = ','; - mp_int_to_string(in[3], 10, str, OUTPUT_LIMIT - (len + 1)); - str = str + (len2 = strlen(str)); - *str++ = ','; - mp_int_to_string(in[4], 10, str, OUTPUT_LIMIT - (len + len2 + 2)); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_lcm(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_lcm(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_sqrt(testspec_t* t, FILE* ofp) -{ - mp_int in[2], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_sqrt(in[0], in[1])); - - if (expect == MP_OK && mp_int_compare(in[1], out[0]) != 0) { - mp_int_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_root(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_small v; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_root(in[0], v, in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_invmod(testspec_t* t, FILE* ofp) -{ - mp_int in[3], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_invmod(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_int_compare(in[2], out[0]) != 0) { - mp_int_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_exptmod(testspec_t* t, FILE* ofp) -{ - mp_int in[4], out[1]; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_exptmod(in[0], in[1], in[2], in[3])); - - if (expect == MP_OK && mp_int_compare(in[3], out[0]) != 0) { - mp_int_to_string(in[3], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_exptmod_ev(testspec_t* t, FILE* ofp) -{ - mp_int in[4], out[1]; - mp_result expect; - mp_small v; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[1], &v)); - ECHECK(mp_int_exptmod_evalue(in[0], v, in[2], in[3])); - - if (expect == MP_OK && mp_int_compare(in[3], out[0]) != 0) { - mp_int_to_string(in[3], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_exptmod_bv(testspec_t* t, FILE* ofp) -{ - mp_int in[4], out[1]; - mp_result expect; - mp_small v; - - ACHECK(parse_int_values(t, in, out, &expect)); - CHECK(mp_int_to_int(in[0], &v)); - ECHECK(mp_int_exptmod_bvalue(v, in[1], in[2], in[3])); - - if (expect == MP_OK && mp_int_compare(in[3], out[0]) != 0) { - mp_int_to_string(in[3], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_comp(testspec_t* t, FILE* ofp) -{ - mp_int in[2]; - mp_result res, expect; - - ACHECK(parse_int_values(t, in, NULL, &expect)); - - if ((res = mp_int_compare(in[0], in[1])) != expect) { - sprintf(g_output, "Incorrect comparison result (want %d, got %d)", - expect, res); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_ucomp(testspec_t* t, FILE* ofp) -{ - mp_int in[2]; - mp_result res, expect; - - ACHECK(parse_int_values(t, in, NULL, &expect)); - - if ((res = mp_int_compare_unsigned(in[0], in[1])) != expect) { - sprintf(g_output, "Incorrect comparison result (want %d, got %d)", - expect, res); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_zcomp(testspec_t* t, FILE* ofp) -{ - mp_int in[1]; - mp_result res, expect; - - ACHECK(parse_int_values(t, in, NULL, &expect)); - - if ((res = mp_int_compare_zero(in[0])) != expect) { - sprintf(g_output, "Incorrect comparison result (want %d, got %d)", - expect, res); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_vcomp(testspec_t* t, FILE* ofp) -{ - mp_int in[2]; - mp_result res, expect; - mp_small v; - - ACHECK(parse_int_values(t, in, NULL, &expect)); - - v = atoi(t->input[1]); - if ((res = mp_int_compare_value(in[0], v)) != expect) { - sprintf(g_output, "Incorrect comparison result (want %d, got %d)", - expect, res); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_uvcomp(testspec_t* t, FILE* ofp) -{ - mp_int in[2]; - mp_result res, expect; - mp_usmall v; - - ACHECK(parse_int_values(t, in, NULL, &expect)); - - v = strtoul(t->input[1], NULL, 0); - if ((res = mp_int_compare_uvalue(in[0], v)) != expect) { - sprintf(g_output, "Incorrect comparison result (want %d, got %d)", - expect, res); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_tostr(testspec_t* t, FILE* ofp) -{ - mp_int in[2]; - mp_small radix; - mp_result len; - - ACHECK(parse_int_values(t, in, NULL, NULL)); - ACHECK(mp_int_to_int(in[1], &radix) == MP_OK); - - if (radix < MP_MIN_RADIX || radix > MP_MAX_RADIX) - FAIL(MP_RANGE); - - trim_line(t->output[0]); - len = mp_int_string_len(in[0], radix); - - CHECK(mp_int_to_string(in[0], radix, g_output, len)); - - if(strcmp(t->output[0], g_output) != 0) - FAIL(OTHER_ERROR); - - return 1; -} - -int test_tobin(testspec_t* t, FILE* ofp) -{ - mp_int in[1]; - int test_len, out_len; - - ACHECK(parse_int_values(t, in, NULL, NULL)); - - trim_line(t->output[0]); - if((out_len = parse_binary(t->output[0], g_bin1, sizeof(g_bin1))) < 0) - FAIL(MP_BADARG); - - if((test_len = mp_int_binary_len(in[0])) != out_len) { - sprintf(g_output, "Output lengths do not match (want %d, got %d)", - test_len, out_len); - FAIL(OTHER_ERROR); - } - - CHECK(mp_int_to_binary(in[0], g_bin2, sizeof(g_bin2))); - - if (memcmp(g_bin1, g_bin2, test_len) != 0) { - int pos = 0, i; - - for(i = 0; i < test_len - 1; ++i) - pos += sprintf(g_output + pos, "%d.", g_bin2[i]); - - sprintf(g_output + pos, "%d", g_bin2[i]); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_to_int(testspec_t* t, FILE* ofp) -{ - mp_int in[1], out[1]; - mp_small v; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_to_int(in[0], &v)); - - if (expect == MP_OK && mp_int_compare_value(out[0], v) != 0) { - sprintf(g_output, "Incorrect value (got %ld)", v); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_to_uint(testspec_t* t, FILE* ofp) -{ - mp_int in[1], out[1]; - mp_usmall v; - mp_result expect; - - ACHECK(parse_int_values(t, in, out, &expect)); - ECHECK(mp_int_to_uint(in[0], &v)); - - if (expect == MP_OK && mp_int_compare_uvalue(out[0], v) != 0) { - sprintf(g_output, "Incorrect value (got %lu)", v); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_read_binary(testspec_t* t, FILE* ofp) -{ - mp_int out[1], in = g_zreg + 1; - int in_len; - mp_result expect; - - ACHECK(parse_int_values(t, NULL, out, &expect)); - - trim_line(t->input[0]); - if((in_len = parse_binary(t->input[0], g_bin1, sizeof(g_bin1))) < 0) - FAIL(MP_BADARG); - - ECHECK(mp_int_read_binary(in, g_bin1, in_len)); - - if (expect == MP_OK && mp_int_compare(in, out[0]) != 0) { - mp_int_to_string(in, 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_to_uns(testspec_t* t, FILE* ofp) -{ - mp_int in[1]; - int test_len, out_len; - - ACHECK(parse_int_values(t, in, NULL, NULL)); - - trim_line(t->output[0]); - if((out_len = parse_binary(t->output[0], g_bin1, sizeof(g_bin1))) < 0) - FAIL(MP_BADARG); - - if((test_len = mp_int_unsigned_len(in[0])) != out_len) { - sprintf(g_output, "Output lengths do not match (want %d, got %d)", - test_len, out_len); - FAIL(OTHER_ERROR); - } - - CHECK(mp_int_to_unsigned(in[0], g_bin2, sizeof(g_bin2))); - - if (memcmp(g_bin1, g_bin2, test_len) != 0) { - int pos = 0, i; - - for(i = 0; i < test_len - 1; ++i) - pos += sprintf(g_output + pos, "%d.", g_bin2[i]); - - sprintf(g_output + pos, "%d", g_bin2[i]); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_read_uns(testspec_t* t, FILE* ofp) -{ - mp_int out[1], in = g_zreg + 1; - int in_len; - mp_result expect; - - ACHECK(parse_int_values(t, NULL, out, &expect)); - - trim_line(t->input[0]); - if((in_len = parse_binary(t->input[0], g_bin1, sizeof(g_bin1))) < 0) - FAIL(MP_BADARG); - - ECHECK(mp_int_read_unsigned(in, g_bin1, in_len)); - - if (expect == MP_OK && mp_int_compare(in, out[0]) != 0) { - mp_int_to_string(in, 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_meta(testspec_t* t, FILE* ofp) -{ - mp_int *in = NULL, *out = NULL; - int i, j; - mp_result expect; - - if (t->num_inputs > 0) - in = calloc(t->num_inputs, sizeof(mp_int)); - if (t->num_outputs > 0) - out = calloc(t->num_outputs, sizeof(mp_int)); - - ACHECK(parse_int_values(t, in, out, &expect)); - - fprintf(ofp, "Test '%s' defined at line %d\n", - t->code, t->line); - fprintf(ofp, "Expected result: %d\n", expect); - fprintf(ofp, "Input values: %d\n", t->num_inputs); - for (i = 0; i < t->num_inputs; ++i) { - mp_int_to_string(in[i], 10, g_output, OUTPUT_LIMIT); - - fprintf(ofp, " %2d.) %s", i + 1, g_output); - - for (j = i - 1; j >= 0; --j) - if (in[j] == in[i]) { - fprintf(ofp, " (=> %d)", j + 1); - break; - } - - fputc('\n', ofp); - } - fprintf(ofp, "Output values: %d\n", t->num_outputs); - for (i = 0; i < t->num_outputs; ++i) { - mp_int_to_string(out[i], 10, g_output, OUTPUT_LIMIT); - - fprintf(ofp, " %2d.) %s\n", i + 1, g_output); - } - return 1; -} - -int test_qneg(testspec_t* t, FILE* ofp) -{ - mp_rat in[2], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_neg(in[0], in[1])); - - if (expect == MP_OK && mp_rat_compare(in[1], out[0]) != 0) { - mp_rat_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qrecip(testspec_t* t, FILE* ofp) -{ - mp_rat in[2], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_recip(in[0], in[1])); - - if (expect == MP_OK && mp_rat_compare(in[1], out[0]) != 0) { - mp_rat_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qabs(testspec_t* t, FILE* ofp) -{ - mp_rat in[2], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_abs(in[0], in[1])); - - if (expect == MP_OK && mp_rat_compare(in[1], out[0]) != 0) { - mp_rat_to_string(in[1], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qadd(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_add(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qsub(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_sub(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qmul(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_mul(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qdiv(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - ECHECK(mp_rat_div(in[0], in[1], in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qaddz(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - - if (!mp_rat_is_integer(in[1])) { - fprintf(stderr, "Line %d: Second argument must be an integer (test_qaddz)\n", - t->line); - FAIL(MP_BADARG); - } - - ECHECK(mp_rat_add_int(in[0], MP_NUMER_P(in[1]), in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qsubz(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - - if (!mp_rat_is_integer(in[1])) { - fprintf(stderr, "Line %d: Second argument must be an integer (test_qsubz)\n", - t->line); - FAIL(MP_BADARG); - } - - ECHECK(mp_rat_sub_int(in[0], MP_NUMER_P(in[1]), in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qmulz(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - - if (!mp_rat_is_integer(in[1])) { - fprintf(stderr, "Line %d: Second argument must be an integer (test_qmulz)\n", - t->line); - FAIL(MP_BADARG); - } - - ECHECK(mp_rat_mul_int(in[0], MP_NUMER_P(in[1]), in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qdivz(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - - ACHECK(parse_rat_values(t, in, out, &expect)); - - if (!mp_rat_is_integer(in[1])) { - fprintf(stderr, "Line %d: Second argument must be an integer (test_qdivz)\n", - t->line); - FAIL(MP_BADARG); - } - - ECHECK(mp_rat_div_int(in[0], MP_NUMER_P(in[1]), in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qexpt(testspec_t* t, FILE* ofp) -{ - mp_rat in[3], out[1]; - mp_result expect; - mp_small power; - - ACHECK(parse_rat_values(t, in, out, &expect)); - - if (!mp_rat_is_integer(in[1])) { - fprintf(stderr, "Line %d: Second argument must be an integer (test_qexpt)\n", - t->line); - FAIL(MP_BADARG); - } - - CHECK(mp_int_to_int(MP_NUMER_P(in[1]), &power)); - ECHECK(mp_rat_expt(in[0], power, in[2])); - - if (expect == MP_OK && mp_rat_compare(in[2], out[0]) != 0) { - mp_rat_to_string(in[2], 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -int test_qtostr(testspec_t* t, FILE* ofp) -{ - mp_rat in[2]; - long radix; - mp_result len; - - ACHECK(parse_rat_values(t, in, NULL, NULL)); - trim_line(t->input[1]); - ACHECK(read_long(&radix, t->input[1])); - - if (radix < MP_MIN_RADIX || radix > MP_MAX_RADIX) { - fprintf(stderr, "Line %d: Radix %ld out of range\n", - t->line, radix); - FAIL(MP_RANGE); - } - - trim_line(t->output[0]); - len = mp_rat_string_len(in[0], radix); - - CHECK(mp_rat_to_string(in[0], radix, g_output, len)); - - if (strcmp(t->output[0], g_output) != 0) - FAIL(OTHER_ERROR); - - return 1; -} - -int test_qtodec(testspec_t* t, FILE* ofp) -{ - mp_rat in[4]; - long radix, prec, m; - mp_round_mode rmode; - mp_result res, expect = MP_OK, len; - - ACHECK(parse_rat_values(t, in, NULL, NULL)); - - if (t->output[0][0] == '$' && !parse_result_code(t->output[0], &expect)) { - fprintf(stderr, "Line %d: Invalid result code [%s]\n", - t->line, t->output[0]); - FAIL(OTHER_ERROR); - } - - trim_line(t->input[1]); - trim_line(t->input[2]); - trim_line(t->input[3]); - ACHECK(read_long(&radix, t->input[1])); - ACHECK(read_long(&prec, t->input[2])); - ACHECK(read_long(&m, t->input[3])); - rmode = (mp_round_mode) m; - - if (prec < 0) { - fprintf(stderr, "Line %d: Precision %ld out of range\n", - t->line, prec); - FAIL(MP_RANGE); - } - - trim_line(t->output[0]); - len = mp_rat_decimal_len(in[0], radix, prec); - ECHECK((res = mp_rat_to_decimal(in[0], radix, prec, rmode, g_output, len))); - - if (res == MP_OK && strcmp(t->output[0], g_output) != 0) - FAIL(OTHER_ERROR); - - return 1; -} - -int test_qrdec(testspec_t* t, FILE* ofp) -{ - mp_rat out[1], reg = g_qreg + 1; - long radix; - mp_result expect; - - ACHECK(parse_rat_values(t, NULL, out, &expect)); - trim_line(t->input[1]); - ACHECK(read_long(&radix, t->input[1])); - - ECHECK(mp_rat_read_decimal(reg, radix, t->input[0])); - if (expect == MP_OK && - mp_rat_compare(reg, out[0]) != 0) { - mp_rat_to_string(reg, 10, g_output, OUTPUT_LIMIT); - FAIL(OTHER_ERROR); - } - return 1; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/imdrover.h b/polly/lib/External/isl/imath/imdrover.h deleted file mode 100644 index df74d2b6700..00000000000 --- a/polly/lib/External/isl/imath/imdrover.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - Name: imdrover.h - Purpose: Keeper of the hordes of testing code. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2007 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#ifndef IMDROVER_H_ -#define IMDROVER_H_ - -#include <stdio.h> - -typedef struct { - int line; - char *code; - int num_inputs; - char **input; - int num_outputs; - char **output; -} testspec_t; - -typedef int (*test_f)(testspec_t *, FILE *); - -/* Call this once at the outset to set up test registers */ -void init_testing(void); -void reset_registers(void); - -/* Integer tests, and general */ -int test_init(testspec_t* t, FILE* ofp); -int test_set(testspec_t* t, FILE* ofp); -int test_neg(testspec_t* t, FILE* ofp); -int test_abs(testspec_t* t, FILE* ofp); -int test_add(testspec_t* t, FILE* ofp); -int test_sub(testspec_t* t, FILE* ofp); -int test_mul(testspec_t* t, FILE* ofp); -int test_mulp2(testspec_t* t, FILE* ofp); -int test_mulv(testspec_t* t, FILE* ofp); -int test_sqr(testspec_t* t, FILE* ofp); -int test_div(testspec_t* t, FILE* ofp); -int test_divp2(testspec_t* t, FILE* ofp); -int test_divv(testspec_t* t, FILE* ofp); -int test_expt(testspec_t* t, FILE* ofp); -int test_exptv(testspec_t* t, FILE* ofp); -int test_exptf(testspec_t* t, FILE* ofp); -int test_mod(testspec_t* t, FILE* ofp); -int test_gcd(testspec_t* t, FILE* ofp); -int test_egcd(testspec_t* t, FILE* ofp); -int test_lcm(testspec_t* t, FILE* ofp); -int test_sqrt(testspec_t* t, FILE* ofp); -int test_root(testspec_t* t, FILE* ofp); -int test_invmod(testspec_t* t, FILE* ofp); -int test_exptmod(testspec_t* t, FILE* ofp); -int test_exptmod_ev(testspec_t* t, FILE* ofp); -int test_exptmod_bv(testspec_t* t, FILE* ofp); -int test_comp(testspec_t* t, FILE* ofp); -int test_ucomp(testspec_t* t, FILE* ofp); -int test_zcomp(testspec_t* t, FILE* ofp); -int test_vcomp(testspec_t* t, FILE* ofp); -int test_uvcomp(testspec_t* t, FILE* ofp); -int test_tostr(testspec_t* t, FILE* ofp); -int test_tobin(testspec_t* t, FILE* ofp); -int test_to_int(testspec_t* t, FILE* ofp); -int test_to_uint(testspec_t* t, FILE* ofp); -int test_read_binary(testspec_t* t, FILE* ofp); -int test_to_uns(testspec_t* t, FILE* ofp); -int test_read_uns(testspec_t* t, FILE* ofp); -int test_meta(testspec_t* t, FILE* ofp); - -/* Rational tests */ -int test_qneg(testspec_t* t, FILE* ofp); -int test_qrecip(testspec_t* t, FILE* ofp); -int test_qabs(testspec_t* t, FILE* ofp); -int test_qadd(testspec_t* t, FILE* ofp); -int test_qsub(testspec_t* t, FILE* ofp); -int test_qmul(testspec_t* t, FILE* ofp); -int test_qdiv(testspec_t* t, FILE* ofp); -int test_qdiv(testspec_t* t, FILE* ofp); -int test_qaddz(testspec_t* t, FILE* ofp); -int test_qsubz(testspec_t* t, FILE* ofp); -int test_qmulz(testspec_t* t, FILE* ofp); -int test_qdivz(testspec_t* t, FILE* ofp); -int test_qexpt(testspec_t* t, FILE* ofp); -int test_qtostr(testspec_t* t, FILE* ofp); -int test_qtodec(testspec_t* t, FILE* ofp); -int test_qrdec(testspec_t* t, FILE* ofp); - -#endif /* IMDROVER_H_ */ diff --git a/polly/lib/External/isl/imath/imtest.c b/polly/lib/External/isl/imath/imtest.c deleted file mode 100644 index e36f4a2ff4d..00000000000 --- a/polly/lib/External/isl/imath/imtest.c +++ /dev/null @@ -1,430 +0,0 @@ -/* - Name: imtest.c - Purpose: Test driver for imath library. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - Reads tests from input files or standard input, and runs them. Tests have - the form: - - code:inputs:outputs - - The 'code' is a string identifying the test to be performed. The inputs and - outputs are comma-separated sequences of values. The format of each input - is: - - 1005 number in decimal notation (signs ok) - #x-C0E number in hexadecimal notation - #b1011 number in binary notation - #o37750 number in octal notation - =k use register k for this input - - For rational tests, the following syntax is also legal: - @5.33 use decimal notation (for rationals only) - may be combined with radix notation, e.g. #x@A0.5C - - Each output is a string representing the value to which the corresponding - result is compared in order to pass the test. By default, tests are expected - to succeed (i.e., return MP_OK). To specify an alternate return value, use - the notation $RESULT, where RESULT is the name of an error (e.g., MP_MEMORY, - MP_UNDEF, etc.) or a numeric result denoted $#number (e.g., $#-5). - - Results are written to standard output in the following formats: - - line<tab>number<tab>result<eoln> - line<tab>number<tab>result<tab>message<eoln> - - The number is the number of the test in the input (starting from 1). The - result is a textual description of the result code returned by the operation - being tested. - - Note: There is currently a fixed limit on the length of lines by this test - ---- driver. You can increase it if you wish, but the code doesn't check; - lines over the length are truncated (split). - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include <ctype.h> -#include <time.h> -#include <errno.h> -#include <assert.h> - -#include "imath.h" -#include "imdrover.h" - -#ifdef LINE_MAX -#undef LINE_MAX -#endif - -#define LINE_MAX 4096 - -typedef struct { - char *code; - int num_inputs; - int num_outputs; - test_f call; -} test_t; - -test_t g_tests[] = { /* What it does... */ - { "initu", 2, 1, test_init}, /* r0 = uv(r1) */ - { "initv", 2, 1, test_init}, /* r0 = v(r1) */ - { "setu", 2, 1, test_set}, /* r0 = uv(r1) */ - { "setv", 2, 1, test_set}, /* r0 = v(r1) */ - { "neg", 2, 1, test_neg }, /* r1 = -r0 */ - { "abs", 2, 1, test_abs }, /* r1 = |r0| */ - { "add", 3, 1, test_add }, /* r3 = r1 + r2 */ - { "addv", 3, 1, test_add }, /* r3 = r1 + v(r2) */ - { "sub", 3, 1, test_sub }, /* r3 = r1 - r2 */ - { "subv", 3, 1, test_sub }, /* r3 = r1 - v(r2) */ - { "mul", 3, 1, test_mul }, /* r3 = r1 * r2 */ - { "mulp2", 3, 1, test_mulp2 }, /* r3 = r1 * 2^v(r2) */ - { "mulv", 3, 1, test_mulv }, /* r3 = r1 * v(r2) */ - { "sqr", 2, 1, test_sqr }, /* r2 = r1 * r1 */ - { "div", 4, 2, test_div }, /* r2 = r1 / r2, r3 = r1 % r2 */ - { "divp2", 4, 2, test_divp2 }, /* r2 = r1 / 2^v(r2),r3 = r1 % 2^v(r2)*/ - { "divv", 3, 2, test_divv }, /* r2 = r1 / v(r2), r3 = r1 % v(r2) */ - { "expt", 3, 1, test_expt }, /* r3 = r1 ^ v(r2) */ - { "exptv", 3, 1, test_exptv }, /* r3 = v(r1) ^ v(r2) */ - { "exptf", 3, 1, test_exptf }, /* r3 = r1 ^ r2 */ - { "mod", 3, 1, test_mod }, /* r3 = r1 % r2 */ - { "gcd", 3, 1, test_gcd }, /* r3 = gcd(r1, r2) */ - { "egcd", 5, 3, test_egcd }, /* r3 = gcd(r1, r2) = r1*r4 + r2*r5 */ - { "lcm", 3, 1, test_lcm }, /* r3 = lcm(r1, r2) */ - { "sqrt", 2, 1, test_sqrt }, /* r2 = sqrt(r1) */ - { "root", 3, 1, test_root }, /* r3 = r1^(1/v(r2)) */ - { "invmod", 3, 1, test_invmod }, /* r3 = r1^-1 mod r2 */ - { "emod", 4, 1, test_exptmod }, /* r4 = r1^r2 mod r3 */ - { "emodev", 4, 1, test_exptmod_ev }, /* r4 = r1^v(r2) mod r3 */ - { "emodbv", 4, 1, test_exptmod_bv }, /* r4 = v(r1)^r2 mod r3 */ - { "cmp", 2, 1, test_comp }, /* rtn = compare(r1, r2) */ - { "cmpu", 2, 1, test_ucomp }, /* rtn = compare(|r1|, |r2|) */ - { "cmpz", 1, 1, test_zcomp }, /* rtn = compare(r1, 0) */ - { "cmpv", 2, 1, test_vcomp }, /* rtn = compare(r1, v(r2)) */ - { "cmpuv", 2, 1, test_uvcomp }, /* rtn = compare(r1, v(r2)) */ - { "tostr", 2, 1, test_tostr }, /* r1: value, r2: radix, o1: result */ - { "tobin", 1, 1, test_tobin }, /* r1: value, o1: result binary */ - { "readbin", 1, 1, test_read_binary },/* r1: 2's comp, o1: result value */ - { "to-uns", 1, 1, test_to_uns }, /* r1: value, o1: result binary */ - { "readuns", 1, 1, test_read_uns }, /* r1: unsigned, o1: result value */ - { "to-int", 1, 1, test_to_int }, /* r1: value, o1: result */ - { "to-uint", 1, 1, test_to_uint }, /* r1: value, o1: result */ - { "meta", -1, -1, test_meta }, - { "qneg", 2, 1, test_qneg }, /* r2 = -r1 */ - { "qrecip", 2, 1, test_qrecip }, /* r2 = 1 / r1 */ - { "qabs", 2, 1, test_qabs }, /* r2 = |r1| */ - { "qadd", 3, 1, test_qadd }, /* r3 = r1 + r2 */ - { "qsub", 3, 1, test_qsub }, /* r3 = r1 - r2 */ - { "qmul", 3, 1, test_qmul }, /* r3 = r1 * r2 */ - { "qdiv", 3, 1, test_qdiv }, /* r3 = r1 / r2 */ - { "qaddz", 3, 1, test_qaddz }, /* r3 = r1 + r2 */ - { "qsubz", 3, 1, test_qsubz }, /* r3 = r1 - r2 */ - { "qmulz", 3, 1, test_qmulz }, /* r3 = r1 * r2 */ - { "qdivz", 3, 1, test_qdivz }, /* r3 = r1 / r2 */ - { "qexpt", 3, 1, test_qexpt }, /* r3 = r1 ^ v(r2) */ - { "qtostr", 2, 1, test_qtostr }, /* r1: value, r2: radix; o1: result */ - { "qtodec", 4, 1, test_qtodec }, /* r1: val, r2: rdx, r3: prec, - r4: rounding mode; o1: res */ - { "qrdec", 2, 1, test_qrdec }, /* r1: dec, r2: rdx; o1: result value */ - { NULL, 0, 0, NULL } /* end of list marker */ -}; - -char g_line[LINE_MAX]; - -extern mp_result imath_errno; -extern char *imath_errmsg; - -const char *g_imath_strerr[] = { - "MP_OK", "MP_TRUE", "MP_MEMORY", "MP_RANGE", - "MP_UNDEF", "MP_TRUNC", "MP_BADARG" -}; - -int process_file(FILE *ifp, FILE *ofp); -int read_line(FILE *ifp, char *line, int limit); -void trim_line(char *line); -int is_blank(char *line); -int parse_line(char *line, testspec_t *t); -int count_fields(char *line, int delim); -void parse_fields(char *line, int delim, char **start); -int run_test(int test_num, testspec_t *t, FILE *ofp); -void free_test(testspec_t *t); -int find_test(char *code, test_t *info); -char *error_string(mp_result res); - -int main(int argc, char *argv[]) -{ - int exit_status = 0; - - init_testing(); - - if (argc == 1) { - process_file(stdin, stdout); - } - else { - FILE *ifp; - int i; - - for (i = 1; i < argc; ++i) { - if (strcmp(argv[i], "-") == 0) { - ifp = stdin; - printf("# [stdin]\n"); - } - else if ((ifp = fopen(argv[i], "r")) == NULL) { - fprintf(stderr, "Cannot open '%s': %s\n", - argv[i], strerror(errno)); - return 1; - } - else { - printf("# %s\n", argv[i]); - } - - if (process_file(ifp, stdout) != 0) - exit_status = 1; - - fclose(ifp); - } - } - return exit_status; -} - -int process_file(FILE *ifp, FILE *ofp) -{ - int res, line_num, test_num = 0, num_failed = 0, num_bogus = 0; - clock_t start, finish; - testspec_t t; - - start = clock(); - while ((line_num = read_line(ifp, g_line, LINE_MAX)) != 0) { - if (parse_line(g_line, &t)) { - t.line = line_num; - if ((res = run_test(++test_num, &t, ofp)) < 0) - ++num_bogus; - else if (!res) - ++num_failed; - - free_test(&t); - } - else { - fprintf(stderr, "Line %d: Incorrect input syntax.\n", line_num); - } - } - finish = clock(); - - fprintf(ofp, "# %d tests: %d passed, %d failed, %d errors. (%.2f seconds)\n", - test_num, (test_num - num_failed - num_bogus), num_failed, num_bogus, - ((double)(finish - start) / CLOCKS_PER_SEC)); - - return num_failed; -} - -int read_line(FILE *ifp, char *line, int limit) -{ - static FILE *current_fp = NULL; - static int current_line = 0; - - if (ifp != current_fp) { - current_fp = ifp; - current_line = 0; - } - - do { - if (fgets(line, limit, ifp) == NULL) - return 0; - - ++current_line; - } while (is_blank(line)); - - trim_line(line); - return current_line; -} - -void trim_line(char *line) -{ - int len; - char *fnw = line; - - /* Remove leading whitespace */ - while (isspace((unsigned char) *fnw)) - ++fnw; - - len = strlen(fnw); - memmove(line, fnw, len); - - /* Remove trailing whitespace (including linefeeds) */ - fnw = line + len - 1; - while (fnw >= line && isspace((unsigned char) *fnw)) - *fnw-- = '\0'; -} - -int is_blank(char *line) -{ - while (*line && *line != '#' && isspace((unsigned char) *line)) - ++line; - - return *line == '\0' || *line == '#'; -} - -int parse_line(char *line, testspec_t *t) -{ - char *code_brk, *in_brk; - int num_fields; - - if ((code_brk = strchr(line, ':')) == NULL) - return 0; - if ((in_brk = strchr(code_brk + 1, ':')) == NULL) - return 0; - - *code_brk = '\0'; - t->code = line; - *in_brk = '\0'; - - num_fields = count_fields(code_brk + 1, ','); - t->num_inputs = num_fields; - - num_fields = count_fields(in_brk + 1, ','); - t->num_outputs = num_fields; - - if (t->num_inputs > 0) { - t->input = calloc(t->num_inputs, sizeof(char *)); - parse_fields(code_brk + 1, ',', t->input); - } - if (t->num_outputs > 0) { - t->output = calloc(t->num_outputs, sizeof(char *)); - parse_fields(in_brk + 1, ',', t->output); - } - return 1; -} - -int count_fields(char *line, int delim) -{ - int count = 1; - - if (*line == '\0') - return 0; - - while (*line) { - if (*line == (char)delim && *(line+1) != '\0') - ++count; - ++line; - } - return count; -} - -void parse_fields(char *line, int delim, char **start) -{ - int pos = 0; - - start[pos++] = line; - while ((line = strchr(line, delim)) != NULL) { - *line++ = '\0'; - start[pos++] = line; - } -} - -int run_test(int test_num, testspec_t *t, FILE *ofp) -{ - test_t info; - - /* Look up and reality check test parameters */ - if (find_test(t->code, &info) < 0) { - fprintf(stderr, "Line %d: Test code '%s' is unknown.\n", - t->line, t->code); - return -1; - } - else { - int errs = 0; - - if (info.num_inputs >= 0 && t->num_inputs != info.num_inputs) { - fprintf(stderr, - "Line %d: Wrong number of inputs to %s (want %d, have %d)\n", - t->line, t->code, info.num_inputs, t->num_inputs); - ++errs; - } - if (info.num_outputs >= 0 && t->num_outputs != info.num_outputs) { - fprintf(stderr, - "Line %d: Wrong number of outputs to %s (want %d, have %d)\n", - t->line, t->code, info.num_outputs, t->num_outputs); - ++errs; - } - if (errs) { - fprintf(stderr, "Line %d: %d error(s), skipping this test.\n", - t->line, errs); - return -1; - } - } - - /* If return value is true, just print a generic OK message; - otherwise, it is assumed that imath_errno has been set to - a value indicating the problem. */ - if ((info.call)(t, ofp)) { - fprintf(ofp, "%d\t%d\tOK\n", t->line, test_num); - return 1; - } - else if(imath_errno >= MP_BADARG) { - fprintf(ofp, "%d\t%d\t%s\n", - t->line, test_num, error_string(imath_errno)); - } - else { - fprintf(ofp, "%d\t%d\tFAILED\t%s\n", - t->line, test_num, imath_errmsg); - } - return 0; -} - -int find_test(char *code, test_t *info) -{ - int i = 0; - - while (g_tests[i].code != NULL) { - if (strcmp(g_tests[i].code, code) == 0) { - *info = g_tests[i]; - return i; - } - ++i; - } - return -1; -} - -void free_test(testspec_t *t) -{ - assert(t != NULL); - - if (t->input != NULL) { - free(t->input); - t->input = NULL; - } - if (t->output != NULL) { - free(t->output); - t->output = NULL; - } -} - -char *error_string(mp_result res) -{ - int v = abs(res); - - return (char *)g_imath_strerr[v]; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/imtimer.c b/polly/lib/External/isl/imath/imtimer.c deleted file mode 100644 index 2b926af8f39..00000000000 --- a/polly/lib/External/isl/imath/imtimer.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - Name: imtimer.c - Purpose: Timing tests for the imath library. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include <time.h> - -#include <unistd.h> - -#include "imath.h" - -extern mp_size multiply_threshold; /* global in imath.c */ -extern mp_size default_precision; /* global in imath.c */ - -double clocks_to_seconds(clock_t start, clock_t end); -double get_multiply_time(int nt, int prec); -double get_exptmod_time(int nt, int prec); -mp_int alloc_values(int nt, int prec); -void randomize_values(mp_int values, int nt, int prec); -void release_values(mp_int values, int nt); -void mp_int_random(mp_int z, int prec); - -const int g_mul_factor = 1000; - -int main(int argc, char *argv[]) -{ - int do_mul = 0, do_exp = 0, do_header = 1; - int num_tests, precision = default_precision, opt; - unsigned int seed = (unsigned int) time(NULL); - - while ((opt = getopt(argc, argv, "ehmnp:s:t:")) != EOF) { - switch (opt) { - case 'e': - do_exp = 1; - break; - case 'm': - do_mul = 1; - break; - case 'n': - do_header = 0; - break; - case 'p': - precision = atoi(optarg); - break; - case 's': - seed = atoi(optarg); - break; - case 't': - multiply_threshold = (mp_size) atoi(optarg); - break; - default: - fprintf(stderr, "Usage: imtimer [options] <num-tests>\n\n" - "Options understood:\n" - " -e -- test modular exponentiation speed.\n" - " -h -- display this help message.\n" - " -m -- test multiplication speed.\n" - " -n -- no header line.\n" - " -p <dig> -- use values with <dig> digits.\n" - " -s <rnd> -- set random seed to <rnd>.\n" - " -t <dig> -- set recursion threshold to <dig> digits.\n\n"); - return (opt != 'h'); - } - } - - if (optind >= argc) { - fprintf(stderr, "Usage: imtimer [options] <num-tests>\n" - "[use \"imtimer -h\" for help with options]\n\n"); - return 1; - } - else - num_tests = atoi(argv[optind]); - - srand(seed); - - if (num_tests <= 0) { - fprintf(stderr, "You must request at least one test.\n"); - return 1; - } - if (precision <= 0) { - fprintf(stderr, "Precision must be positive.\n"); - return 1; - } - - if (do_header) - printf("NUM\tPREC\tBITS\tREC\tRESULT\n"); - printf("%d\t%d\t%d\t%u", num_tests, precision, - (int) (precision * MP_DIGIT_BIT), - multiply_threshold); - - if (do_mul) { - double m_time = get_multiply_time(num_tests, precision); - - printf("\tMUL %.3f %.3f", m_time, m_time / num_tests); - } - - if (do_exp) { - double e_time = get_exptmod_time(num_tests, precision); - - printf("\tEXP %.3f %.3f", e_time, e_time / num_tests); - } - fputc('\n', stdout); - fflush(stdout); - - return 0; -} - -double clocks_to_seconds(clock_t start, clock_t end) -{ - return (double)(end - start) / CLOCKS_PER_SEC; -} - -mp_int alloc_values(int nt, int prec) -{ - mp_int out = malloc(nt * sizeof(mpz_t)); - int i; - - if (out == NULL) - return NULL; - - for (i = 0; i < nt; ++i) { - if (mp_int_init_size(out + i, prec) != MP_OK) { - while (--i >= 0) - mp_int_clear(out + i); - return NULL; - } - } - - return out; -} - -void randomize_values(mp_int values, int nt, int prec) -{ - int i; - - for (i = 0; i < nt; ++i) - mp_int_random(values + i, prec); -} - -void release_values(mp_int values, int nt) -{ - int i; - - for (i = 0; i < nt; ++i) - mp_int_clear(values + i); - - free(values); -} - -double get_multiply_time(int nt, int prec) -{ - clock_t start, end; - mp_int values; - int i; - - if ((values = alloc_values(3, prec)) == NULL) - return 0.0; - randomize_values(values, 2, prec); - - start = clock(); - for (i = 0; i < nt; ++i) - mp_int_mul(values, values + 1, values + 2); - end = clock(); - - release_values(values, 3); - - return clocks_to_seconds(start, end); -} - -double get_exptmod_time(int nt, int prec) -{ - clock_t start, end; - mp_int values; - int i; - - if ((values = alloc_values(4, prec)) == NULL) - return 0.0; - randomize_values(values, 3, prec); - - start = clock(); - for (i = 0; i < nt; ++i) - mp_int_exptmod(values, values + 1, values + 2, values + 3); - end = clock(); - - release_values(values, 4); - - return clocks_to_seconds(start, end); -} - -void mp_int_random(mp_int z, int prec) -{ - int i; - - if (prec > MP_ALLOC(z)) - prec = MP_ALLOC(z); - - for (i = 0; i < prec; ++i) { - mp_digit d = 0; - int j; - - for (j = 0; j < sizeof(d); ++j) - d = (d << CHAR_BIT) | (rand() & UCHAR_MAX); - - z->digits[i] = d; - } - MP_USED(z) = prec; -} diff --git a/polly/lib/External/isl/imath/iprime.c b/polly/lib/External/isl/imath/iprime.c deleted file mode 100644 index 45989ba9b13..00000000000 --- a/polly/lib/External/isl/imath/iprime.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - Name: iprime.c - Purpose: Pseudoprimality testing routines - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include "iprime.h" -#include <stdlib.h> - -static int s_ptab_size = 168; -static int s_ptab[] = { - 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, - 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, - 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, - 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, - 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, - 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, - 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, - 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, - 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, - 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, - 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, - 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 -}; - -/* Test whether z is likely to be prime: - MP_TRUE means it is probably prime - MP_FALSE means it is definitely composite - */ -mp_result mp_int_is_prime(mp_int z) -{ - int i; - mp_small rem; - mp_result res; - - /* First check for divisibility by small primes; this eliminates a large - number of composite candidates quickly - */ - for(i = 0; i < s_ptab_size; ++i) { - if((res = mp_int_div_value(z, s_ptab[i], NULL, &rem)) != MP_OK) - return res; - - if(rem == 0) - return MP_FALSE; - } - - /* Now try Fermat's test for several prime witnesses (since we now know from - the above that z is not a multiple of any of them) - */ - { - mpz_t tmp; - - if((res = mp_int_init(&tmp)) != MP_OK) return res; - - for(i = 0; i < 10 && i < s_ptab_size; ++i) { - if((res = mp_int_exptmod_bvalue(s_ptab[i], z, z, &tmp)) != MP_OK) - return res; - - if(mp_int_compare_value(&tmp, s_ptab[i]) != 0) { - mp_int_clear(&tmp); - return MP_FALSE; - } - } - - mp_int_clear(&tmp); - } - - return MP_TRUE; -} - -/* Find the first apparent prime in ascending order from z */ -mp_result mp_int_find_prime(mp_int z) -{ - mp_result res; - - if(mp_int_is_even(z) && ((res = mp_int_add_value(z, 1, z)) != MP_OK)) - return res; - - while((res = mp_int_is_prime(z)) == MP_FALSE) { - if((res = mp_int_add_value(z, 2, z)) != MP_OK) - break; - - } - - return res; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/iprime.h b/polly/lib/External/isl/imath/iprime.h deleted file mode 100644 index 03ea8f9d3cd..00000000000 --- a/polly/lib/External/isl/imath/iprime.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - Name: iprime.h - Purpose: Pseudoprimality testing routines - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#ifndef IPRIME_H_ -#define IPRIME_H_ - -#include "imath.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Test whether z is likely to be prime - MP_YES means it is probably prime - MP_NO means it is definitely composite - */ -mp_result mp_int_is_prime(mp_int z); - -/* Find the first apparent prime in ascending order from z */ -mp_result mp_int_find_prime(mp_int z); - -#ifdef __cplusplus -} -#endif -#endif /* IPRIME_H_ */ diff --git a/polly/lib/External/isl/imath/pi.c b/polly/lib/External/isl/imath/pi.c deleted file mode 100644 index d0d083df5c7..00000000000 --- a/polly/lib/External/isl/imath/pi.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - Name: pi.c - Purpose: Computes digits of the physical constant pi. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Notes: - Uses Machin's formula, which should be suitable for a few thousand digits. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <time.h> - -#include "imath.h" - -int g_radix = 10; /* use this radix for output */ - -mp_result arctan(mp_small radix, mp_small mul, mp_small x, - mp_small prec, mp_int sum); - -char g_buf[4096]; - -int main(int argc, char *argv[]) -{ - mp_result res; - mpz_t sum1, sum2; - int ndigits, out = 0; - clock_t start, end; - - if(argc < 2) { - fprintf(stderr, "Usage: %s <num-digits> [<radix>]\n", argv[0]); - return 1; - } - - if((ndigits = abs(atoi(argv[1]))) == 0) { - fprintf(stderr, "%s: you must request at least 1 digit\n", argv[0]); - return 1; - } else if(ndigits > MP_DIGIT_MAX) { - fprintf(stderr, "%s: you may request at most %u digits\n", - argv[0], (unsigned int)MP_DIGIT_MAX); - return 1; - } - - if(argc > 2) { - int radix = atoi(argv[2]); - - if(radix < MP_MIN_RADIX || radix > MP_MAX_RADIX) { - fprintf(stderr, "%s: you may only specify a radix between %d and %d\n", - argv[0], MP_MIN_RADIX, MP_MAX_RADIX); - return 1; - } - g_radix = radix; - } - - mp_int_init(&sum1); mp_int_init(&sum2); - start = clock(); - - /* sum1 = 16 * arctan(1/5) */ - if((res = arctan(g_radix, 16, 5, ndigits, &sum1)) != MP_OK) { - fprintf(stderr, "%s: error computing arctan: %d\n", argv[0], res); - out = 1; goto CLEANUP; - } - - /* sum2 = 4 * arctan(1/239) */ - if((res = arctan(g_radix, 4, 239, ndigits, &sum2)) != MP_OK) { - fprintf(stderr, "%s: error computing arctan: %d\n", argv[0], res); - out = 1; goto CLEANUP; - } - - /* pi = sum1 - sum2 */ - if((res = mp_int_sub(&sum1, &sum2, &sum1)) != MP_OK) { - fprintf(stderr, "%s: error computing pi: %d\n", argv[0], res); - out = 1; goto CLEANUP; - } - end = clock(); - - mp_int_to_string(&sum1, g_radix, g_buf, sizeof(g_buf)); - printf("%c.%s\n", g_buf[0], g_buf + 1); - - fprintf(stderr, "Computation took %.2f sec.\n", - (double)(end - start) / CLOCKS_PER_SEC); - - CLEANUP: - mp_int_clear(&sum1); - mp_int_clear(&sum2); - - return out; -} - -/* - Compute mul * atan(1/x) to prec digits of precision, and store the - result in sum. - - Computes atan(1/x) using the formula: - - 1 1 1 1 - atan(1/x) = --- - ---- + ---- - ---- + ... - x 3x^3 5x^5 7x^7 - - */ -mp_result arctan(mp_small radix, mp_small mul, mp_small x, - mp_small prec, mp_int sum) -{ - mpz_t t, v; - mp_result res; - mp_small rem, sign = 1, coeff = 1; - - mp_int_init(&t); - mp_int_init(&v); - ++prec; - - /* Compute mul * radix^prec * x - The initial multiplication by x saves a special case in the loop for - the first term of the series. - */ - if((res = mp_int_expt_value(radix, prec, &t)) != MP_OK || - (res = mp_int_mul_value(&t, mul, &t)) != MP_OK || - (res = mp_int_mul_value(&t, x, &t)) != MP_OK) - goto CLEANUP; - - x *= x; /* assumes x <= sqrt(MP_SMALL_MAX) */ - mp_int_zero(sum); - - do { - if((res = mp_int_div_value(&t, x, &t, &rem)) != MP_OK) - goto CLEANUP; - - if((res = mp_int_div_value(&t, coeff, &v, &rem)) != MP_OK) - goto CLEANUP; - - /* Add or subtract the result depending on the current sign (1 = add) */ - if(sign > 0) - res = mp_int_add(sum, &v, sum); - else - res = mp_int_sub(sum, &v, sum); - - if(res != MP_OK) goto CLEANUP; - sign = -sign; - coeff += 2; - - } while(mp_int_compare_zero(&t) != 0); - - res = mp_int_div_value(sum, radix, sum, NULL); - - CLEANUP: - mp_int_clear(&v); - mp_int_clear(&t); - - return res; -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/rsamath.c b/polly/lib/External/isl/imath/rsamath.c deleted file mode 100644 index cecf05d077b..00000000000 --- a/polly/lib/External/isl/imath/rsamath.c +++ /dev/null @@ -1,163 +0,0 @@ -/* - Name: rsamath.c - Purpose: Implements part of PKCS#1, v. 2.1, June 14, 2002 (RSA Labs) - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include "rsamath.h" - -#include <string.h> -#include <limits.h> - -static mp_result s_rsa_transform(mp_int msg, mp_int exp, - mp_int mod, mp_int out); - -/* Convert integer to octet string, per PKCS#1 v.2.1 */ -mp_result rsa_i2osp(mp_int z, unsigned char *out, int len) -{ - int excess_len = mp_int_binary_len(z); - - if(excess_len < len) - return MP_RANGE; - - memset(out, 0, len); - - excess_len -= len; - mp_int_to_binary(z, out + excess_len, len); - - return MP_OK; -} - -/* Convert octet string to integer, per PKCS#1 v.2.1 */ -mp_result rsa_os2ip(mp_int z, unsigned char *in, int len) -{ - return mp_int_read_binary(z, in, len); -} - -/* Primitive RSA encryption operation */ -mp_result rsa_rsaep(mp_int msg, mp_int exp, mp_int mod, mp_int cipher) -{ - return s_rsa_transform(msg, exp, mod, cipher); -} - -/* Primitive RSA decryption operation */ -mp_result rsa_rsadp(mp_int cipher, mp_int exp, mp_int mod, mp_int msg) -{ - return s_rsa_transform(cipher, exp, mod, msg); -} - -/* Primitive RSA signing operation */ -mp_result rsa_rsasp(mp_int msg, mp_int exp, mp_int mod, mp_int signature) -{ - return s_rsa_transform(msg, exp, mod, signature); -} - -/* Primitive RSA verification operation */ -mp_result rsa_rsavp(mp_int signature, mp_int exp, mp_int mod, mp_int msg) -{ - return s_rsa_transform(signature, exp, mod, msg); -} - -/* Compute the maximum length in bytes a message can have using PKCS#1 - v.1.5 encoding with the given modulus */ -int rsa_max_message_len(mp_int mod) -{ - int num_bits = mp_int_count_bits(mod); - int num_bytes = num_bits / CHAR_BIT; - - if(num_bytes < 11) - return 0; /* at least eleven bytes are required for padding */ - else - return num_bytes - 11; -} - -mp_result rsa_pkcs1v15_encode(unsigned char *buf, int msg_len, - int buf_len, int tag, random_f filler) -{ - int pad_len, msg_start; - - /* Make sure there is enough space for the encoded output */ - if(msg_len > (buf_len - 11)) - return MP_RANGE; - - msg_start = buf_len - msg_len; - pad_len = msg_start - 3; - - /* Move message to top of buffer -- these might overlap, so we rely - on the semantics of memmove() here */ - memmove(buf + msg_start, buf, msg_len); - - /* Set initial bytes as required by the specification */ - buf[0] = 0x00; - buf[1] = (unsigned char)tag; - - /* Fill with random padding. We'll just assume the filler function - does the right thing and only writes the requested number of - nonzero bytes */ - (filler)(buf + 2, pad_len); - - /* Write separator between pad and message body */ - buf[msg_start - 1] = 0x00; - - return MP_OK; -} - -mp_result rsa_pkcs1v15_decode(unsigned char *buf, int buf_len, - int tag, int *msg_len) -{ - int pad_len = 0, data_len, data_start, i; - - /* Make sure the buffer is syntactically valid */ - if(buf_len < 11 || buf[0] != 0x00 || buf[1] != (unsigned char)tag) - return MP_UNDEF; - - /* Figure out how many bytes of random padding there are */ - i = 2; - while(buf[i++] != '\0') - ++pad_len; - - data_start = i; - data_len = buf_len - data_start; - - /* Shift the message to the front of the buffer */ - memmove(buf, buf + data_start, data_len); - - /* Zero out the rest of the buffer */ - memset(buf + data_len, 0, pad_len + 3); - - *msg_len = data_len; - - return MP_OK; -} - -static mp_result s_rsa_transform(mp_int msg, mp_int exp, - mp_int mod, mp_int out) -{ - if(mp_int_compare_zero(msg) < 0 || - mp_int_compare(msg, mod) >= 0) - return MP_RANGE; - - return mp_int_exptmod(msg, exp, mod, out); -} - -/* Here there be dragons */ diff --git a/polly/lib/External/isl/imath/rsamath.h b/polly/lib/External/isl/imath/rsamath.h deleted file mode 100644 index 01ebedebaaf..00000000000 --- a/polly/lib/External/isl/imath/rsamath.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - Name: rsamath.h - Purpose: Implements part of PKCS#1, v. 2.1, June 14, 2002 (RSA Labs) - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#ifndef RSAMATH_H_ -#define RSAMATH_H_ - -#include "imath.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Function to fill a buffer with nonzero random bytes */ -typedef void (*random_f)(unsigned char *, int); - -/* Convert integer to octet string, per PKCS#1 v.2.1 */ -mp_result rsa_i2osp(mp_int z, unsigned char *out, int len); - -/* Convert octet string to integer, per PKCS#1 v.2.1 */ -mp_result rsa_os2ip(mp_int z, unsigned char *in, int len); - -/* The following operations assume that you have converted your keys - and message data into mp_int values somehow. */ - -/* Primitive RSA encryption operation */ -mp_result rsa_rsaep(mp_int msg, mp_int exp, mp_int mod, mp_int cipher); - -/* Primitive RSA decryption operation */ -mp_result rsa_rsadp(mp_int cipher, mp_int exp, mp_int mod, mp_int msg); - -/* Primitive RSA signing operation */ -mp_result rsa_rsasp(mp_int msg, mp_int exp, mp_int mod, mp_int signature); - -/* Primitive RSA verification operation */ -mp_result rsa_rsavp(mp_int signature, mp_int exp, mp_int mod, mp_int msg); - -/* Compute the maximum length in bytes a message can have using PKCS#1 - v.1.5 encoding with the given modulus */ -int rsa_max_message_len(mp_int mod); - -/* Encode a raw message per PKCS#1 v.1.5 - buf - the buffer containing the message - msg_len - the length in bytes of the message - buf_len - the size in bytes of the buffer - tag - the message tag (nonzero byte) - filler - function to generate pseudorandom nonzero padding - - On input, the message is in the first msg_len bytes of the buffer; - on output, the contents of the buffer are replaced by the padded - message. If there is not enough room, MP_RANGE is returned. - */ -mp_result rsa_pkcs1v15_encode(unsigned char *buf, int msg_len, - int buf_len, int tag, random_f filler); - -/* Decode a PKCS#1 v.1.5 message back to its raw form - buf - the buffer containing the encoded message - buf_len - the length in bytes of the buffer - tag - the expected message tag (nonzero byte) - msg_len - on output, receives the length of the message content - - On output, the message is packed into the first msg_len bytes of - the buffer, and the rest of the buffer is zeroed. If the buffer is - not of the correct form, MP_UNDEF is returned and msg_len is undefined. - */ -mp_result rsa_pkcs1v15_decode(unsigned char *buf, int buf_len, - int tag, int *msg_len); - -#ifdef __cplusplus -} -#endif -#endif /* end RSAMATH_H_ */ diff --git a/polly/lib/External/isl/imath/rtest.c b/polly/lib/External/isl/imath/rtest.c deleted file mode 100644 index 12c55207296..00000000000 --- a/polly/lib/External/isl/imath/rtest.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - Name: rtest.c - Purpose: Test routines for RSA implementation. - Author: M. J. Fromberger <http://spinning-yarns.org/michael/> - - Copyright (C) 2002-2008 Michael J. Fromberger, All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> -#include <time.h> - -#include "rsamath.h" - -void random_fill(unsigned char *buf, int len); -void print_buf(unsigned char *buf, int len, int brk, FILE *ofp); - -int main(int argc, char *argv[]) -{ - int buf_len, msg_len, i; - unsigned char *buf; - mp_result res; - - if(argc < 3) { - fprintf(stderr, "Usage: %s <bufsize> <msglen>\n", argv[0]); - return 1; - } - - srand((unsigned int)time(NULL)); - - if((buf_len = atoi(argv[1])) <= 0) { - fprintf(stderr, "Buffer length must be positive, not %d\n", buf_len); - return 2; - } - if((msg_len = atoi(argv[2])) <= 0) { - fprintf(stderr, "Message length must be positive, not %d\n", msg_len); - return 2; - } - if(msg_len > buf_len) - msg_len = buf_len; - - buf = calloc(buf_len, sizeof(*buf)); - for(i = 0; i < msg_len; ++i) - buf[i] = i + 1; - - printf("Buffer size: %d bytes\n" - "Message len: %d bytes\n\n", buf_len, msg_len); - - printf("Message:\n"); - print_buf(buf, msg_len, 16, stdout); - fputc('\n', stdout); - - if((res = rsa_pkcs1v15_encode(buf, msg_len, buf_len, 2, random_fill)) != MP_OK) { - printf("Error from encoding function: %d\n", res); - free(buf); - return 1; - } - printf("Encoded message:\n"); - print_buf(buf, buf_len, 16, stdout); - fputc('\n', stdout); - - msg_len = -1; /* make decoder fill this in */ - if((res = rsa_pkcs1v15_decode(buf, buf_len, 2, &msg_len)) != MP_OK) { - printf("Error from decoding function: %d\n", res); - free(buf); - return 1; - } - printf("Decoded message (%d bytes):\n", msg_len); - print_buf(buf, msg_len, 16, stdout); - fputc('\n', stdout); - - free(buf); - return 0; -} - -void random_fill(unsigned char *buf, int len) -{ - int i; - - for(i = 0; i < len; ++i) { - unsigned char c = 0; - - while(c == 0) - c = (unsigned char)rand(); - - buf[i] = c; - } -} - -void print_buf(unsigned char *buf, int len, int brk, FILE *ofp) -{ - int i; - - for(i = 0; i < len; ++i) { - fprintf(ofp, "%02X", buf[i]); - - if((i + 1) % brk == 0) - fputc('\n', ofp); - else - fputc(' ', ofp); - } - if(i % brk) - fputc('\n', ofp); -} diff --git a/polly/lib/External/isl/imath/tests/add.t b/polly/lib/External/isl/imath/tests/add.t deleted file mode 100644 index 546aa673884..00000000000 --- a/polly/lib/External/isl/imath/tests/add.t +++ /dev/null @@ -1,848 +0,0 @@ -# Addition tests - -add:0,0,0:0 -add:0,0,=1:0 -add:1,=1,=1:2 -add:1,-1,0:0 -add:-1,1,0:0 -add:-1,1,=1:0 - -add:103427990038,909510006269847,0:909613434259885 -add:128593002,-9007199254740992,0:-9007199126147990 -add:-65537,70000,0:4463 -add:-1000000,-6543210,0:-7543210 -add:#x29C932F25E6CEF8046FA,#x-29C932F25E6CEF8046FA,0:0 -add:2,#x7FFFFFFFF,0:#x800000001 -add:95031018,=1,=1:190062036 -add:#x-176E7F8018D6BA4B550AB36AAAFDC78A9,#x186DAD2485A41B18AAF5EF17922D7E5F1F,=1:#x16F6C52C8416AF73F5A543E0E77DA1E676 -add:-628443782411312,-301652218193016,=2:-930096000604328 -add:13731535,499104,0:14230639 -add:46496,0,0:46496 -add:85658949,0,0:85658949 -add:3,86618070,0:86618073 -add:-364,0,0:-364 -add:916376,71094297,0:72010673 -add:-76,-48988,0:-49064 -add:7,98029,293800191852111:98036 -add:213,0,0:213 -add:116992,19352187,=1:19469179 -add:-54334706,-2638935,0:-56973641 -add:4210,4441,0:8651 -add:2470,-1654142,0:-1651672 -add:-32608,76896,0:44288 -add:598200,65918574,0:66516774 -add:-524863149,95573,0:-524767576 -add:4,6856995,0:6856999 -add:86710327,16209386,0:102919713 -add:31,-24,0:7 -add:5895523,9915789381,0:9921684904 -add:41557511,310172,0:41867683 -add:-6714,923,0:-5791 -add:466232157,987,0:466233144 -add:5919,-63,0:5856 -add:929994,66871,0:996865 -add:23,391,0:414 -add:751,-25255,0:-24504 -add:-282292,-1608,0:-283900 -add:0,-4119448990,0:-4119448990 -add:69248,-64165,0:5083 -add:816106,580,0:816686 -add:15171,219806,0:234977 -add:945180,-585066,0:360114 -add:27052,6664636892,0:6664663944 -add:-481622,-578,0:-482200 -add:926,-81,0:845 -add:-4084,62941238721,=1:62941234637 -add:888598,6601,0:895199 -add:-61,143796,0:143735 -add:408006264,51,0:408006315 -add:-582073,-6752,0:-588825 -add:88194084,595557600,0:683751684 -add:4963532385,72932,0:4963605317 -add:37370180,708428344,0:745798524 -add:638718578,-94054,0:638624524 -add:12603892606,194259,0:12604086865 -add:9812049,8843056,0:18655105 -add:-156093,-3718156523,0:-3718312616 -add:12264,949557843298,0:949557855562 -add:338742,9139,0:347881 -add:48848,-6268099,0:-6219251 -add:3653,981782890584,0:981782894237 -add:608763646,38233135026,0:38841898672 -add:-17063,-4811,0:-21874 -add:63244008,-380818980,0:-317574972 -add:624559862947,21088,0:624559884035 -add:-268795562,74755169,0:-194040393 -add:368827930,56987680,0:425815610 -add:142,-838643130506,0:-838643130364 -add:848909,137303147,0:138152056 -add:6682221270,4495632518460,0:4502314739730 -add:163999538727,754668,0:164000293395 -add:570098317,1230642588,0:1800740905 -add:814302609847,295465,0:814302905312 -add:61148411120,462527703,0:61610938823 -add:979075368979,64243429,0:979139612408 -add:8280601099859,431312,0:8280601531171 -add:29662,3920844058249,0:3920844087911 -add:381765363,6285,0:381771648 -add:6038301700102,167589011428,0:6205890711530 -add:-6720,50309,0:43589 -add:92070025383,8403955,0:92078429338 -add:9057100,9331,0:9066431 -add:46997620390,2556790331006,0:2603787951396 -add:9853238961850,760016661497,0:10613255623347 -add:642786326083,4994197649,0:647780523732 -add:60934395,192791945290,0:192852879685 -add:1304866806,9628566351206,0:9629871218012 -add:-537871392295,1691988267,0:-536179404028 -add:73595697641,63790,0:73595761431 -add:87798124384590,168308169,0:87798292692759 -add:77155772837617,993653875,0:77156766491492 -add:691109994727,83820903066409,0:84512013061136 -add:2012749349577,1194,0:2012749350771 -add:3909606,1258809350,0:1262718956 -add:5961027295,-191014,0:5960836281 -add:-9155782013,84622,0:-9155697391 -add:-7211667,-624806193439,0:-624813405106 -add:1754076,931310,0:2685386 -add:53288031910288,1866366148,0:53289898276436 -add:767503182,-78473238204,0:-77705735022 -add:-89763935864,-14028568280297,0:-14118332216161 -add:454616605,67243118209653,0:67243572826258 -add:674985,745910,0:1420895 -add:9182866281585,-7492901984,0:9175373379601 -add:8427973625,2948084578162,0:2956512551787 -add:89366530,96670928089,0:96760294619 -add:62255464298256,1694823,0:62255465993079 -add:5268676160308,-93499502334390,0:-88230826174082 -add:7165346,-12994330060,0:-12987164714 -add:73330752719,904668539586,0:977999292305 -add:8007349,88617667386,0:88625674735 -add:951867792,807329,0:952675121 -add:645715109491016,58609052382,0:645773718543398 -add:2037750169321,85113205892,0:2122863375213 -add:6585250,76715488825566,0:76715495410816 -add:4585299,4140224,0:8725523 -add:20194080,7047624,0:27241704 -add:786913195,5197776759303,0:5198563672498 -add:751261814658086,65539188,0:751261880197274 -add:-6325172443258,2171993016413249,0:2165667843969991 -add:3947284565,-78726628505,0:-74779343940 -add:-71699817835206,40239308204,0:-71659578527002 -add:53023714,-82553833053558,0:-82553780029844 -add:2808131187169,890250230608190,0:893058361795359 -add:4783795579,-953360022706,0:-948576227127 -add:22326520,59606609543578,0:59606631870098 -add:37110988189,2635629530529,0:2672740518718 -add:5415787,65557975919,0:65563391706 -add:687495904,-3296642739961554,0:-3296642052465650 -add:72930835789,43382168425705304,0:43382241356541093 -add:-995003864534,61722341747,0:-933281522787 -add:74285863538462,4701124896071184,0:4775410759609646 -add:-7259432400758987,917110091938734,0:-6342322308820253 -add:83640964028613,28436773,0:83640992465386 -add:12798300129,42764089830,0:55562389959 -add:907689161228474,9984041726746,0:917673202955220 -add:88648450941,-92224182312398621,0:-92224093663947680 -add:3423736794,992566059450,0:995989796244 -add:26095203,84516699542499712,0:84516699568594915 -add:-664955461457,34154013,0:-664921307444 -add:17408598155,57614703283466656,0:57614720692064811 -add:734135582143613,8386599520,0:734143968743133 -add:75433328059753089,3411724102,0:75433331471477191 -add:-5780056339,370823068636155,0:370817288579816 -add:747133022687630,743183409891560,0:1490316432579190 -add:1351023965,562216806411,0:563567830376 -add:8923051674,5453380084794,0:5462303136468 -add:244571930,-51111880145,0:-50867308215 -add:-41136584383913485,2817501078,0:-41136581566412407 -add:-8079768063523410,441741295522855156,0:433661527459331746 -add:599579537585,1505732756139,0:2105312293724 -add:6728375739,634744472,0:7363120211 -add:163686368,10797029513119,0:10797193199487 -add:38258778569482,81136715091,0:38339915284573 -add:89311393409893347,6487334114,0:89311399897227461 -add:4413952309911,-335091846,0:4413617218065 -add:-8490298221703,906197882389719833,0:906189392091498130 -add:547446627581960679,4111395072,0:547446631693355751 -add:-147199257725737,358585065185151457,0:358437865927425720 -add:733104781218,1305401890,0:734410183108 -add:66789232493812823,152353542633642764,0:219142775127455587 -add:91447917877257,890149399042107596,0:890240846959984853 -add:67840659340,45844535119015296,0:45844602959674636 -add:31351681435877221,-442068622969770457,0:-410716941533893236 -add:8505522087730720965,162001047045127445,0:8667523134775848410 -add:90408836865703,91766097115,0:90500602962818 -add:8278725919,-6565975065136635,0:-6565966786410716 -add:778195404262806210,9985183887639111776,0:10763379291901917986 -add:6696810212664216,312304914759219,0:7009115127423435 -add:3557735824865,584593215289536,0:588150951114401 -add:-49412044681,29956396329782239,0:29956346917737558 -add:11923449620,7765655187,0:19689104807 -add:1724176067,-67142223866,0:-65418047799 -add:525722978624,57023088377443306,0:57023614100421930 -add:726936921764427,3077076587081089,0:3804013508845516 -add:1790333591126,-91682335574328992,0:-91680545240737866 -add:-1112879092907469823,1867817571215,0:-1112877225089898608 -add:-8476115918476,3323398534004,0:-5152717384472 -add:83059391773,-65273298074046515729,0:-65273297990987123956 -add:2211388311050688,-245146603838894173,0:-242935215527843485 -add:585851683392336,3975804417513631370,0:3976390269197023706 -add:139186663640090,15082756961,0:139201746397051 -add:-48189710801086,-33546258184494787728,0:-33546306374205588814 -add:-100779556817445,-1522038785339961,0:-1622818342157406 -add:4885512159295669,480294778789866559,0:485180290949162228 -add:-557882003905193311,20195805293900,0:-557861808099899411 -add:154553862612072,9109218823125727072,0:9109373376988339144 -add:1483847515783086714,78233016786768531473,0:79716864302551618187 -add:632462956668123,-2951738540674650223,0:-2951106077717982100 -add:-60943119399848141,74036520715371,0:-60869082879132770 -add:-7905328383508507808,-207334403231,0:-7905328590842911039 -add:-376183968178,-862976187364,0:-1239160155542 -add:918327139068056021,-685922087142,0:918326453145968879 -add:-9846497109055054870,6775447579440637,0:-9839721661475614233 -add:-84073521083215,71309976692297262369,0:71309892618776179154 -add:-373011272994268095955,4157479098221637,0:-373007115515169874318 -add:49271774069573022576,378613526495506818344,0:427885300565079840920 -add:-5376376953931357562,7508833770175817,0:-5368868120161181745 -add:-23778714258598355551,-7185005392000393507,0:-30963719650598749058 -add:801031622749,53000130414840,0:53801162037589 -add:-970929952514676169,64017648311761173049,0:63046718359246496880 -add:444961381148474,-368409783275279249,0:-367964821894130775 -add:39999239040508219266,38054215870372108,0:40037293256378591374 -add:-712118755181107,21931036897383483,0:21218918142202376 -add:-646755675748528169,609844920243318603442,0:609198164567570075273 -add:171013028884891673,11967223547227113703,0:12138236576112005376 -add:90483783429450285931,8758299165450368514304,0:8848782948879818800235 -add:54722600417344222188,6655544009320,0:54722607072888231508 -add:7059355949487975,15428043300387,0:7074783992788362 -add:63718799432141668051,-1777818839779748621,0:61940980592361919430 -add:-811965656585153,-92999475442666083,0:-93811441099251236 -add:-480943344691207768,38637964026264,0:-480904706727181504 -add:87346474969320,11671605416687563,0:11758951891656883 -add:-144193490776783,320317203586930,0:176123712810147 -add:637224429856480,90100814693140,0:727325244549620 -add:1117448757980,20116238466569324081,0:20116239584018082061 -add:2134662653354031124,57535080216036041491,0:59669742869390072615 -add:-699305697439351543,-1322846377107844464831,0:-1323545682805283816374 -add:-287368527913803,559967333864139,0:272598805950336 -add:-4524131005300321178256,648090525452193270713,0:-3876040479848127907543 -add:983197813618615290581,-555223968315003163,0:982642589650300287418 -add:47595018158554,554354123612822084175,0:554354171207840242729 -add:76492304934567739056067,-17570682458452839171696,0:58921622476114899884371 -add:605579840932458751,5118917191828845481095,0:5119522771669777939846 -add:-77276783972774282464,97578221184517253974,0:20301437211742971510 -add:-55779468870779406,3628329199924803907,0:3572549731054024501 -add:-6810396240935929656,45581601665257956989667,0:45574791269017021060011 -add:-643395735022469,95994342321649,0:-547401392700820 -add:59033016804296,90010200392865311,0:90069233409669607 -add:412262412571713009,44652839425446643811,0:45065101838018356820 -add:-996242836885840433689,9932141967639296363784,0:8935899130753455930095 -add:-187591416585869366840,4868774783363997420,0:-182722641802505369420 -add:786124638558627932,120825949339625517416,0:121612073978184145348 -add:683056931297141410,13435555169749,0:683070366852311159 -add:78591895387046935416982,-3863271218201597391326,0:74728624168845338025656 -add:-581639737241844,59732569151616229,0:59150929414374385 -add:63839107438860260,-57936899988162199911626,0:-57936836149054761051366 -add:90241348579070434,4025779803051070287,0:4116021151630140721 -add:-29146551546957649,500543832007704775744,0:500514685456157818095 -add:40152296103662954,30632073318077007293876,0:30632113470373110956830 -add:46052697297460594549965,-2523434189144367108,0:46050173863271450182857 -add:-908472766655304200,503910242160770655137,0:503001769394115350937 -add:35664754770405781576262,-52328200879455304,0:35664702442204902120958 -add:536193847189289,2055159240163985839,0:2055695434011175128 -add:5692763430774180,559128387745059,0:6251891818519239 -add:962044518204007,36941484559411981897006,0:36941485521456500101013 -add:1778825689878630,1752252372363744,0:3531078062242374 -add:94533959067668939155652,7370593466294273268440,0:101904552533963212424092 -add:-79278320169999633,98078807455225677,0:18800487285226044 -add:97932568071091044410,45504699679270344940,0:143437267750361389350 -add:81602336599709335,277692040888807344679270,0:277692122491143944388605 -add:-8416111605414512356,-71387336643361802215,0:-79803448248776314571 -add:-4364114737364980,5713751339100810207300,0:5713746974986072842320 -add:-2248544818568852,-95216575446860643106235,0:-95216577695405461675087 -add:-86464737497345750915,-9340577567832336397746,0:-9427042305329682148661 -add:7285517444194103327524171,-178398693192528240,0:7285517265795410134995931 -add:745600294808335954574,3590181147179066146,0:749190475955515020720 -add:9465688117779501171539,38370364609588339408116,0:47836052727367840579655 -add:780056864215481439157498,-7015580969512485,0:780056857199900469645013 -add:978681982436757227400,2684547366513014,0:978684666984123740414 -add:-1128116293278100017914825,5548079193241448,0:-1128116287730020824673377 -add:69069382482494805,-40368676133739445253204,0:-40368607064356962758399 -add:1068908356897083556495,92975661850341635306516,0:94044570207238718863011 -add:2045728645356266,6732676856163053,0:8778405501519319 -add:986371258787059591145109,24417303396801332,0:986371283204362987946441 -add:5107392493993300358729,-8580635176929229687,0:5098811858816371129042 -add:1173219044247994941,150432915362745448142,0:151606134406993443083 -add:289209848265652909988,896527174701053128584035,0:896816384549318781494023 -add:7576209306830869,321093885120988771790,0:321101461330295602659 -add:-1998078850553780901,-491302474398583183312,0:-493300553249136964213 -add:48578611214917968888328,-9724795578642180430323005,0:-9676216967427262461434677 -add:-89125038112802690868952,106876489286063867,0:-89124931236313404805085 -add:71163583246605175,94315599279060581,0:165479182525665756 -add:-37978975375912768223,-83894091589588085332,0:-121873066965500853555 -add:26160354602260154641,82502519980721475,0:26242857122240876116 -add:6721445506562724498613,3849322132330485045442724,0:3856043577837047769941337 -add:-49599516930241019167,940046744572738518062,0:890447227642497498895 -add:309633233963607626456,431010776584765161668698,0:431320409818728769295154 -add:5437528458768789581061,98535318335138080471,0:5536063777103927661532 -add:441952255932531337132635419,-457951493790545402320,0:441951797981037546587233099 -add:4234090565000592983852,141452209542036221,0:4234232017210135020073 -add:444877202793878855,-818932236535168281886543304,0:-818932236090291079092664449 -add:8735279390159786014911,74528121661502104489,0:8809807511821288119400 -add:329585339951820135507,3209925326812978905481,0:3539510666764799040988 -add:7513147727765550283468497,18340872039691020224,0:7513166068637589974488721 -add:22672336765411635852057,112360311181155228061,0:22784697076592791080118 -add:94840923157956010314,-890963292023167606621709508,0:-890963197182244448665699194 -add:-42743124461511984041,-154189486799725890635958009,0:-154189529542850352147942050 -add:4642096435824001337488,1075739791472186776,0:4643172175615473524264 -add:9072122446151456250370,459465421414955099,0:9072581911572871205469 -add:1208103563782991690,37264807069479596362,0:38472910633262588052 -add:-35229676312313275613641079,7831519567525205386506558,0:-27398156744788070227134521 -add:-14914636592325904561,238892654922757390,0:-14675743937403147171 -add:70036479094753932788537196,3638698354298942306,0:70036482733452287087479502 -add:2026475183691718009207221,-51818547306091257831,0:2026423365144411917949390 -add:934591237413188471704,9583576351426447252706,0:10518167588839635724410 -add:19623165243467693921345120,713164237953453844732059938,0:732787403196921538653405058 -add:-330423131007863591790334,483122548819491409819,0:-329940008459044100380515 -add:186655649790428913672547335,45905196004697591848,0:186655695695624918370139183 -add:61575494850989411781745,510771432997312770825568,0:572346927848302182607313 -add:701715172953878317016084611,82176271434782371131,0:701715255130149751798455742 -add:37317170353550823267505484,-281915644115285990142,0:37316888437906707981515342 -add:782147829078599149413,406441493949770755536,0:1188589323028369904949 -add:8750933869512603353560747,4845145469101036864410189,0:13596079338613640217970936 -add:82771556090809260029854,417868176867358634531479,0:500639732958167894561333 -add:-60327848305676142893255531,45186448696277654715,0:-60327803119227446615600816 -add:559238168466621140605667,3086402973187970627177143386,0:3086962211356437248317749053 -add:1487217856230533992619184307,88533139618452902103,0:1487217944763673611072086410 -add:74032714774552791328773,-743497205088178750354447330,0:-743423172373404197563118557 -add:87529301918640055328531949,833538436278390237794218,0:88362840354918445566326167 -add:1134893809082711064119381650,835345147684508177653,0:1134894644427858748627559303 -add:-31083560926993891097159,-6452398931722666743775,0:-37535959858716557840934 -add:-494187214625328255573121,-433316980223823483512168,0:-927504194849151739085289 -add:390091842128606730764553615,7074602388637593045951,0:390098916730995368357599566 -add:14996900382322823366993947,155575881895992530106696,0:15152476264218815897100643 -add:256981179582607852185710064,960124902340809507842,0:256982139707510192995217906 -add:606337739205468757142681,34431354430278402333959617,0:35037692169483871091102298 -add:820809632172159862547216787,-4720961905066758420386939975,0:-3900152272894598557839723188 -add:33254605052680847119352168342,-42458830987973889052675953,0:33212146221692873230299492389 -add:1921909649929948589227,650119220435441127155469,0:652041130085371075744696 -add:36032029451816652021799919065,991948874284797761534223740,0:37023978326101449783334142805 -add:17509423061776720551599,561537726801446789470435708,0:561555236224508566190987307 -add:432435308982641288577,2579972583113864486802769,0:2580405018422847128091346 -add:5533541961594197125465685605,-5341574108952093824178502732,0:191967852642103301287182873 -add:29253784634468015940995,66868085704232379455942,0:96121870338700395396937 -add:5840836104812160960058403235,7254794739433874655672505,0:5848090899551594834714075740 -add:-986437670276537865472,-7254530387088660530975,0:-8240968057365198396447 -add:5936378029743262858909,5646361873410369432412,0:11582739903153632291321 -add:9309474173188449211471238,71622847426463521178458,0:9381097020614912732649696 -add:7395866525419579894252,6054211177368524226173,0:13450077702788104120425 -add:418754431137708178806,4581969489771092325887396,0:4582388244202230034066202 -add:427267592272679033207846,-1335344313633491261520271375,0:-1334917046041218582487063529 -add:633189097535167096544295,8453789539859471176551,0:641642887075026567720846 -add:5272319792173353341707102,391850306244460524900101084,0:397122626036633878241808186 -add:65825860390007189905183231257,931471994606023293002971,0:65826791862001795928476234228 -add:-176921811706712109725453309153,51104838980538411694813294,0:-176870706867731571313758495859 -add:76672856213061308993625,-29636580685314230414049903200,0:-29636504012458017352740909575 -add:674452402018255228121289278,67008875737626760336005690,0:741461277755881988457294968 -add:8541968162357356479415070453,-80758853802904365328480678550,0:-72216885640547008849065608097 -add:63670327126030699390525,647239453527002086941714828140,0:647239517197329212972414218665 -add:23827968287407694016891491732,5687322786770428586659139842628,0:5711150755057836280676031334360 -add:-56934084938034523477449,6919565043762938954102,0:-50014519894271584523347 -add:-812505002549423792769451177170,-468614098924848220068202,0:-812505471163522717617671245372 -add:67104776285167776356142,210831864020377644772737617440,0:210831931125153929940513973582 -add:5824940449668378359986211,-64180395015735031445899448907,0:-64174570075285363067539462696 -add:983409682982426617028179979,163969833630884765202234246,0:1147379516613311382230414225 -add:6210538420073191557435,-31054053390220409528967600423,0:-31054047179681989455776042988 -add:469516153781193420842788,1496796321887102771420,0:471012950103080523614208 -add:33979356884336447134582,91638986223658016683623403,0:91672965580542353130757985 -add:-32260848074913901984307362359,-2672012528351544629126598,0:-32263520087442253528936488957 -add:-8417639463674910047939048993449,80120124562574727803706174,0:-8417559343550347473211245287275 -add:775695772679005684017516,-3020790629041979619689982869,0:-3020014933269300614005965353 -add:975852258680635035690012,83046701463562128390834533268,0:83047677315820809025870223280 -add:8781861863169257626949530,28108177849164848399916019884,0:28116959711028017657542969414 -add:-283546689653578050474370627,2807772419117477871716212,0:-280738917234460572602654415 -add:9064465458779158311916969647780,9139819686732442186357751866469,0:18204285145511600498274721514249 -add:8840784216244154251572494530,60209012240418199299108682988151,0:60217853024634443453360255482681 -add:93815677427271630939740,22565184436411206947191022,0:22659000113838478578130762 -add:82452768800915418769333034684,31578884402602201747665,0:82452800379799821371534782349 -add:-861901423955324264599608669156,707341771563323556783706679,0:-861194082183760941042824962477 -add:-27282637700205513755848881,-503533726284787080825911,0:-27786171426490300836674792 -add:9289214479556466478450749,-7084113575511224733535260,0:2205100904045241744915489 -add:7017123255359412684282683,9046068160232439106672624,0:16063191415591851790955307 -add:251153423310728722653267854537,13062952884507685376788080,0:251166486263613230338644642617 -add:764970108101691141391204483,75231888234738846744202931914419,0:75232653204846948435344323118902 -add:70105736718198876906468336722477,2901679421786748849622789,0:70105739619878298693217186345266 -add:-277236273480908454984267,95439324803072858679031,0:-181796948677835596305236 -add:502022119894313002150611379003,-9553217783049460795811638,0:502012566676529952689815567365 -add:11235044224795237679279440,1598484681458068370777229,0:12833528906253306050056669 -add:6006446640030673298734990897916,3932713488343416708785849,0:6006450572744161642151699683765 -add:341984581388111664359529291419,253672139310821088560318393948503,0:254014123892209200224677923239922 -add:-16498480187763102357325186,16757917811449471275953805,0:259437623686368918628619 -add:4840293579085321724261731660,3299269918638542438501050537,0:8139563497723864162762782197 -add:862473464150144977188625432548718,390725508757117448688936595600,0:862864189658902094637314369144318 -add:-29573457775060793626221640796,-955486742447211372069984831882188,0:-955516315904986432863611053522984 -add:2764463542396067736191963723,33349178218458257881168366225076,0:33351942682000653948904558188799 -add:-564129660605536405453000618753,-996106182924479683180384656113614,0:-996670312585085219585837656732367 -add:8033177512692093044315018,-5381259101993480763476852450,0:-5373225924480788670432537432 -add:5694253375903848576996695765,3533498246256483823188758976,0:9227751622160332400185454741 -add:8049869890130722459017898,804302573811695296944485509,0:812352443701826019403503407 -add:-10782856862032822029370450127864,42183304229376991057468028,0:-10782814678728592652379392659836 -add:17953427150766889866624145,2672739534749259247084452652,0:2690692961900026136951076797 -add:382968112253902278556556412715286,507081979144423606544809226,0:382968619335881422980162957524512 -add:10675472848868311098607354530,921641093617028576338449657948,0:932316566465896887437057012478 -add:45793464872625930068611014771,895098402397211759149489341,0:46688563275023141827760504112 -add:-64085785899561813992220240078,-9948203496533963923520873499122871,0:-9948267582319863485334865719362949 -add:-36229685382343277189388317,3225709738074187586965400,0:-33003975644269089602422917 -add:62746144069561486173188762523567,41388696507099517847341965,0:62746185458257993272706609865532 -add:-607094025616255955599781697,-394867562893771866413821906158382,0:-394868169987797482669777505940079 -add:311268724839167391882108484,-82153236672690725073700221869998,0:-82152925403965885906308339761514 -add:-6835603694552724869687187061,-6023776712184941872282636664,0:-12859380406737666741969823725 -add:590358394226908898299218590543900,97734796237031665405902113169504,0:688093190463940563705120703713404 -add:776333186005384178281483204964,7251231826873456228321061,0:776340437237211051737711526025 -add:56669798612022472565446600865,-6052380717302970032083528141,0:50617417894719502533363072724 -add:6865898859037955833953890,178638282809455642352286,0:7044537141847411476306176 -add:5105205245055741189404951,893962641798284490158079805140673,0:893962646903489735213820994545624 -add:51316165533150178772523358024,-628375072698255873957923760051222,0:-628323756532722723779151236693198 -add:-87785238468437978540491414,89732479371379507893122052,0:1947240902941529352630638 -add:950318073610388416087529318775,402634948952512865122682232525,0:1352953022562901281210211551300 -add:-74572627412706083960240275,431357597384151709770753161,0:356784969971445625810512886 -add:9853321136670770651473838461495259,-83924966088311113186923377729455334,0:-74071644951640342535449539267960075 -add:650506501105456725689474061,287241011028313593932616830,0:937747512133770319622090891 -add:8132932977319394188366230514,-254188694333249311199490675,0:7878744282986144877166739839 -add:53320519909486593081198293,-74572156817884131125537363,0:-21251636908397538044339070 -add:-71547639554175546005091389360,-8140195760146170485331061575,0:-79687835314321716490422450935 -add:1327483718371853548235029647793617,54274563336128441076471770,0:1327483772646416884363470724265387 -add:1314001032447052278696101270,5415781672112089561501909844,0:6729782704559141840198011114 -add:47224974651866655046632261766,-76788661932424775106847892,0:47148185989934230271525413874 -add:792552859971310302936618155974,-487118690055436369708858828,0:792065741281254866566909297146 -add:8685351871091309367281665125018193,579376603481579380106078170606,0:8685931247694790946661771203188799 -add:-163023266227426934448401141075814,771214414019011070620622448527010,0:608191147791584136172221307451196 -add:681117685696813411930600559345469,53231124210443068505485918467568,0:734348809907256480436086477813037 -add:24728715686927944276955201,239070293086557045345907117925272,0:239070317815272732273851394880473 -add:764946100412930809834253766,-826649833775850040190545960601,0:-825884887675437109380711706835 -add:7808371142489773310260037786027,3411749587758291799422914115,0:7811782892077531602059460700142 -add:9487499431366548971411896854,617160736935684035360665548277255,0:617170224435115401909636960174109 -add:898285778199998316256066724,-446698135458890722737448919720207023,0:-446698134560604944537450603464140299 -add:679188320572774450433052775314,917321221948698358395231976875443,0:918000410269271132845665029650757 -add:-606026214573430597349972660492,-76705531041680588416688199753404,0:-77311557256254019014038172413896 -add:-2436189233935198704211905220849,37199591944878505577734886802440,0:34763402710943306873522981581591 -add:183575501000337709289570527203677231,136287320714071665681020786679234742,0:319862821714409374970591313882911973 -add:8590013432900716370831629971791,968114425708634187961093620824,0:9558127858609350558792723592615 -add:347137295949542839762519290637421643,102270809320390302037608013,0:347137296051813649082909592675029656 -add:8440473671167620611051468072483271,2296992478227176302012302522046,0:8442770663645847787353480375005317 -add:-5001669553432654706696400609,118900597514025159662837118047,0:113898927960592504956140717438 -add:-62002790901737049130724871593864,49447394219956225227401512811,0:-61953343507517092905497470081053 -add:86330941115371276117147730300459977,2177791532412716777679721138299658,0:88508732647783992894827451438759635 -add:946875123242781630779255037,47946896786026059202158912141346,0:47947843661149301983789691396383 -add:15336011900228959543893716525418719,388047623512726643322227444888,0:15336399947852472270537038752863607 -add:670173436182016731100418370242962831,4761361980899572407426780990276,0:670178197543997630672825797023953107 -add:16361593374554723036317118422757,959754436168611589130929042794416,0:976116029543166312167246161217173 -add:7037129211989227284511625030,-64039638650631553463764702068273727,0:-64039631613502341474537417556648697 -add:1669039732670522007255294145067558610,5040361069110054882215284201346,0:1669044773031591117310176360351759956 -add:1513189097366228884843540957233,759609367644509304958151974044245430,0:759610880833606671187036817585202663 -add:4895978309720518255173456993,-4110535948244791094217531557,0:785442361475727160955925436 -add:384532700809738729029745679298,-8056698430799793973614359358,0:376476002378938935056131319940 -add:-6388105307234743748019853948088503,4997968805095951937740134154116761,0:-1390136502138791810279719793971742 -add:975018502065461978578000363066,2247367452090296660167940131,0:977265869517552275238168303197 -add:78856706773590014370827059719,6542936662766324535583066287213231,0:6543015519473098125597437114272950 -add:6499328245520359687815445935758,158783937355037461719106652621,0:6658112182875397149534552588379 -add:-929274641312553715971084005591328,65105653662781997005394335939613534,0:64176379021469443289423251934022206 -add:456683941925696893937943252471,2047844563635520107891754533956927,0:2048301247577445804785692477209398 -add:2464091244058374057204697838093,548233532044481143606226540715,0:3012324776102855200810924378808 -add:-5782058275134622637686813910631,65732482103665178041908743240,0:-5716325793030957459644905167391 -add:9077295754335257518831628411071383,10924567149120537328883108077429125,0:20001862903455794847714736488500508 -add:4487883990386478000336258527165792,45494719991936774851608031864,0:4487929485106469937111110135197656 -add:-278061320607811538265660406605,6501055843301716146308769533884534700,0:6501055565240395538497231268224128095 -add:-98496078021467197122901029244,4781298078177162558520974148272,0:4682802000155695361398073119028 -add:-880487306232247995563348595589965390,1786978622507362310090719007228,0:-880485519253625488201038504870958162 -add:3564320220013161114076355137453361,3174192776315040318048578353150392,0:6738512996328201432124933490603753 -add:-17938701536608326039598376013574,6544909780634291186211124961480,0:-11393791755974034853387251052094 -add:477266862227893391363944723416214,75215386788899217183549861936487009,0:75692653651127110574913806659903223 -add:882168805504704249200404316267,397370099670749831094907204966440642,0:397370981839555335799156405370756909 -add:-5168732252762846279707583890106130,68924007866194419843572553425738646075,0:68918839133941656997292845841848539945 -add:13976907500017232058982276795936,62903564794422037566078537019953323966,0:62903578771329537583310596002230119902 -add:-723679233282687539426040870751505916,9944693303602413488927619210482961855,0:9221014070319725949501578339731455939 -add:19723375859398094253269538838784,4448602254481220443835883935,0:19727824461652575473713374722719 -add:435487568164299717641211729895291,30263286963580437915152248885,0:435517831451263298079126882144176 -add:821847194805020065585371899303,-56701356407219809621351993974800366087,0:-56701355585372614816331928389428466784 -add:906521314887358356519304370098899949,575586805546053112223797224287895841,0:1482108120433411468743101594386795790 -add:19861035347913984137892042959473300,9203641819631417294115804880148466,0:29064677167545401432007847839621766 -add:35489920465547911895345631311031287850,61963387682089469403889443775403001937,0:97453308147637381299235075086434289787 -add:711218176456565648939214863247002012,72467446712664186983159145098756557673,0:73178664889120752632098359962003559685 -add:453411180015845016525527797241902720,656188106785767735033442856252,0:453411836203951802293262830684758972 -add:3497788563739847797768025384670848,517400530521523434205853846962853,0:4015189094261371231973879231633701 -add:4155970281036560633085895732986331436,58654056236489765208332410680287635851,0:62810026517526325841418306413273967287 -add:-43796787638734252111746756631324509,15458635191255506747952752911563140015,0:15414838403616772495841006154931815506 -add:886478982594616386399515638094,791374254805498814484495931823029294,0:791375141284481409100882331338667388 -add:5420205765532053736853148082964602405,80894300860364935354122327418793,0:5420286659832914101788502205292021198 -add:6409540010109365565390431678312058,3761260998235788651953577451547946396,0:3767670538245898017518967883226258454 -add:379235320792985651222455993704383,39768702701817374238094976575577292677,0:39769081937138167223746199031570997060 -add:9741457286836201279089678473713551193,-9789501315839617552822514677465645799,0:-48044029003416273732836203752094606 -add:679351661380711616762980509555487422,5244958563307694732934184938012411110,0:5924310224688406349697165447567898532 -add:230190844936986997441295775275022034,-185909046836091915997263172330,0:230190659027940161349379778011849704 -add:3156689741537889100921303548469,547814421078639373357367180225132810,0:547817577768380911246468101528681279 -add:-62219007651568146709531118440682893089,-9434399409814593713428350812443801646786,0:-9496618417466161860137881930884484539875 -add:184174790691390536467483515964213892835,2941013349035333556270582770860221254,0:187115804040425870023754098735074114089 -add:51019963839123593098882577978755,1116589028775897480619143898066573,0:1167608992615021073718026476045328 -add:3161373461260957201319457188462572095,295012249650450244682353395660589081695,0:298173623111711201883672852849051653790 -add:255897713184471452642500281024049492424,5260363568754655790521228400406175726257,0:5516261281939127243163728681430225218681 -add:606315001345297293855907552090677,58643218561030036941054387859353998671,0:58643824876031382238348243766906089348 -add:7728401578087472448175772296881,2479932497409122334635317410130037,0:2487660898987209807083493182426918 -add:83912594421874997853645370567167,2586838887610120476863229517446,0:86499433309485118330508600084613 -add:31162728147482517541527422834730838,49272727945051817211201248857958834546,0:49303890673199299728742776280793565384 -add:7732493494017159067700264618259826225579,9076083109776747375814790855266491489,0:7741569577126935815076079409115092717068 -add:379595189057102692932728847043,78412390558490705293355381777932556,0:78412770153679762396048314506779599 -add:-80073436239675271494315527682263,50945580964846901715535623599314335,0:50865507528607226444041308071632072 -add:7287524755764369986358866728286492322771,-3434322398801915039360350216639455,0:7287521321441971184443827367936275683316 -add:5350901001113421691951885827606408,-52813130876478631706333437707256,0:5298087870236943060245552389899152 -add:-93922484436479929644974748134570042227,-18558847074134835688687179622179299456381,0:-18652769558571315618332154370313869498608 -add:6348261214416753548599493164564265,70959376021447769657800151242308058385,0:70965724282662186411348750735472622650 -add:82136982657867459725041723297845260,-4942386549903864832898696177047927,0:77194596107963594892143027120797333 -add:-637766414636467351411944290845261564150,3139008925795329253435316311633609560,0:-634627405710672022158508974533627954590 -add:7876071803789707417919831488411894460,-787451981013463104190187704083407112807,0:-779575909209673396772267872594995218347 -add:-6975874728401593555157382880902999590154,-5386051406453469842388696470942392,0:-6975880114453000008627225269599470532546 -add:263948302163372204339026784768887,-709208282236872695042395059556627390964,0:-709208018288570531670190720529842622077 -add:966883950465093993601498906417362169986,52803750507502030833811587668282000984096,0:53770634457967124827413086574699363154082 -add:758872502722448271767968272715108,924042905049846617145386931355586,0:1682915407772294888913355204070694 -add:8817515445646069320245128327534016,33540272364420722162627441428305029,0:42357787810066791482872569755839045 -add:7452847844446973070588448979886483,13672013320832031648561092777470,0:7466519857767805102237010072663953 -add:504207812168642571415434369106684,3112968037276454309667407723426693283,0:3113472245088622952238823157795799967 -add:79464727253769579340699162892454647,-3445737782055492967953863370896564268,0:-3366273054801723388613164208004109621 -add:27111645259145369800704958812916,67484517522542733254003181309322379,0:67511629167801878623803886268135295 -add:7962416479715287030323333279385706598,88254203468610078692514314020591,0:7962504733918755640402025793699727189 -add:39693287540792352830897524921810,-21314277451673979084086774678038501015,0:-21314237758386438291733943780513579205 -add:198918483468716913242822977257934441,-7728701263590045875855983145711563105524,0:-7728502345106577158942740322734305171083 -add:23489078790493512251447591514734933644032,5044415728397642226681534366309793929319,0:28533494518891154478129125881044727573351 -add:754857260375845266559134913354911,-107973684581827631710281010202379896,0:-107218827321451786443721875289024985 -add:-315532494063826496737110988346555619786454,501129324903842341869098009302271432013604,0:185596830840015845131987020955715812227150 -add:92594285071838024355958905365280662316,2187702621551700872791380132896499,0:92596472774459576056831696745413558815 -add:724288898592047956308741845059503937300137,57590734518283929259390943990555930310,0:724346489326566240238001236003494493230447 -add:2739606628137004623864591349778009,110573647075582659906006861365833637275224,0:110573649815189288043011485230424987053233 -add:-14276517096318036496680563063254770722,947355542566791575863860389736548529916,0:933079025470473539367179826673293759194 -add:2231429252956485218579039663297923538099,-513782743328474567896135012801752,0:2231428739173741890104471767162910736347 -add:-849056192493090160065711552591498902148,570178803220182344540821571410117099230685,0:569329747027689254380755859857525600328537 -add:71805397382388312493912292806954799278,80784372590768053283785033890385062,0:71886181754979080547196077840845184340 -add:88350358965992565491787153066170941,21234283677146108616947794414929963,0:109584642643138674108734947481100904 -add:715269430237566589970907864930513314,8865443182554480537011356202533506,0:724134873420121070507919221133046820 -add:1477643303333104073865392660271903836,-367890944067864281459059958232249,0:1477275412389036209583933600313671587 -add:52217735662219170731154120388630563,-294933344350299941699482081737942598484292,0:-294933292132564279480311350583822209853729 -add:61380058552546011441493813017768437169,2900762818425899718317517551345155090272,0:2962142876978445729759011364362923527441 -add:-277784196782412339397810200390714846163997,57298552978631155824394514405745061,0:-277784139483859360766654375996200440418936 -add:-240135707306520087768252873800163694648274,96353334913929088034747034183526033,0:-240135610953185173839164839053129511122241 -add:5682589714457375725889091714569040,1460653301509827608879103745623307421551826,0:1460653307192417323336479471512399136120866 -add:19638363083802509640291691621245056147864,4211029423275507408378664959653089,0:19638367294831932915799099999910015800953 -add:83194800067935752402123668615503029739,2541880714569630662018719665186119518080,0:2625075514637566414420843333801622547819 -add:5939482394780085376784755590138737708464,514468562230819790647711281175956014526779,0:520408044625599876024496036766094752235243 -add:90204831870247776142696176553164845,448604014584373050945946043173569,0:90653435884832149193642122596338414 -add:-28255771387063942974030915755487615886801,211023308891994717221529619029320336933917,0:182767537504930774247498703273832721047116 -add:757105867421757109115447689795304050728,9406978659060898637265625690923719984,0:766512846080818007752713315486227770712 -add:71046269267930793233803101419359460555523,1066119341117097582611928205374175134353,0:72112388609047890816415029624733635689876 -add:860460409596026218232712913311397528,-386403674339732916173292388406974737,0:474056735256293302059420524904422791 -add:51587104345453069942306514960268280925,7174136164833181606646937608176553464,0:58761240510286251548953452568444834389 -add:646810491958543131766676874643214951350,499259004231242695310290078066810898630,0:1146069496189785827076966952710025849980 -add:855002490358777508650454091557987435,509862775866892935549218038452333306616836,0:509863630869383294326726688906424864604271 -add:106603467132772647500729395434502230590051,-16368407452060510330634069459161959,0:106603450764365195440219064800432771428092 -add:516036973938460113725699447078888101,19774284176043121487876685246833573074044,0:19774800213017059947990410946280651962145 -add:952655868300967849134836490408672046390,26424621652588918937927182288854430428873,0:27377277520889886787062018779263102475263 -add:612516318964652612641515207511494523,9669431975435363339548442466828737776,0:10281948294400015952189957674340232299 -add:312358445059554864178031833622326259,3063646351543973236788253379318869856029,0:3063958709989032791652431411152492182288 -add:21961875002920796735366447872318305568,12735184963536281218871061660462862352679,0:12757146838539202015606428108335180658247 -add:-76958222715483937218117123118097824686,-94131755294315965491758099750033439180279,0:-94208713517031449428976216873151537004965 -add:9941064428919490001398667535954444,6153135198163214971541929596372799080,0:6163076262592134461543328263908753524 -add:3831883399874967153073325466609079148,532933850230226797587412822078065345376,0:536765733630101764740486147544674424524 -add:-50281475345524432188122843117426347,-9803783578868553758867748377042263121,0:-9854065054214078191055871220159689468 -add:834761861391838835749698262829275672420,462418116078562931546840078329636278799243,0:463252877939954770382589776592465554471663 -add:225390444541945757230864160941425071753376,-53966286270122861338860835026614792455718558,0:-53740895825580915581629970865673367383965182 -add:58072467659883242067246942042391055912061,6014910057066062653667358884004188529013385,0:6072982524725945895734605826046579584925446 -add:7983230467245365113789955920296234304,82831178283927503584223331110953816965231,0:82839161514394748949337121066874113199535 -add:-45132067499699119195319118239527377040857087,55414967908829898692681772863326254754,0:-45132012084731210365420425557754513714602333 -add:223736085581687840223151741351715016762,-234872704339511023869747996243506715388251819,0:-234872480603425442181907773091765363673235057 -add:28507472864431142856885789471402326707231,612001776806865658512116926003228872602978,0:640509249671296801369002715474631199310209 -add:181745193154135636884034106408465870431,1377247390938535372211751085008319196,0:183122440545074172256245857493474189627 -add:-4269390869184529398543606143750267674905,7096165581548063546128304224326254363,0:-4262294703602981334997477839525941420542 -add:679756117856607689911810374667015768583465863,6873132770775601366558132717863835975030609,0:686629250627383291278368507384879604558496472 -add:68811928716841819374127395790718594105543,-39375978475154900824641971995674964440336,0:29435950241686918549485423795043629665207 -add:-544206255007274743273093190267769706102594,-2633960527489961764864800511887586286863,0:-546840215534764705037957990779657292389457 -add:2104363621112481255876148263045164671673,3455315958528890329983695074392024415,0:2107818937071010146206131958119556696088 -add:34329184450930780849723051315762611673355499,-7104639609931302899460488253298995450,0:34329177346291170918420151855274358374360049 -add:43634150371577068764686894937264376668,-11959554165007875996906989926905112,0:43622190817412060888689987947337471556 -add:5024013516582802239298322665096973189555767,2088517329172254514727438561881167273,0:5024015605100131411552837392535535070723040 -add:566562417680186012953839263884602744810,7199277629017396422779479852344452527,0:573761695309203409376618743736947197337 -add:638955594778655267039016164163448484433233,14647767846572475359605733710956434972995,0:653603362625227742398621897874404919406228 -add:892892418549132886737629998256603006,-42420003645924668249063343987514804160205,0:-42419110753506119116176606357516547557199 -add:-345020858381297450936373802134725158851,-859477477801413864204931138561051434211277354,0:-859477822822272245502382074934853568936436205 -add:91737862563680387690935307847429742390,-6404695075658291424340413128158568521902,0:-6312957213094611036649477820311138779512 -add:-5423452022691148500208482455973347475028667,920708388791651749460962831411085083383900,0:-4502743633899496750747519624562262391644767 -add:8150633265487263016893827297406214487098531421,693305116681597826454527918912884500199574,0:8151326570603944614720281825325127371598730995 -add:-533542099871802731282960535234702413039265823,723089355050948526591740235214878409611,0:-533541376782447680334433943494467198160856212 -add:-87660042403521352943774533787359048954462,23205508268059470425857002842150306009,0:-87636836895253293473348676784516898648453 -add:611377119302093745013583546645763276869536489,-24306437719460476886753515868367600814,0:611377094995656025553106659892247408501935675 -add:4077104707730979108276738109711194036126856,11060272475917992334991062931569856434791792,0:15137377183648971443267801041281050470918648 -add:-7573466809324629854537923630574679416,47863519134315568229699768981973881143764,0:47855945667506243599845231058343306464348 -add:-799102320184378863119971307727324658691,-223055933928835873102241901074720286440913,0:-223855036249020251965361872382447611099604 -add:-892554445176156160154245376649692459,46912675277606111189784511368222685137077,0:46911782723160935033624357122846035444618 -add:3026665879602974291587291059690414946715394131,369940715997138180165001378043470020585,0:3026666249543690288725471224691792990185414716 -add:884243222337379604041632732738665534,784805891181951699244456801706510227963,0:785690134404289078848498434439248893497 -add:6161631921601317978027999219270688283511,7540058790546974071130804326383997513568,0:13701690712148292049158803545654685797079 -add:6921119983791225541212197181924239508872679243,1418358920528247154891120491105704894,0:6921119985209584461740444336815359999978384137 -add:354562064037463731505174515681520375545196955,298046963066931310381553348264288949421865,0:354860111000530662815556069029784664494618820 -add:9118288949631130571307463256861936097477907856,811804191882243735414480051639019704082019,0:9119100753823012815042877736913575117181989875 -add:12323504604096011377318065801800362182031140,8419570117283520873564639019491515440808,0:12331924174213294898191630440819853697471948 -add:40282114774095347321311816032119808177051,9392020059227568760693643864091980296962225,0:9432302174001664108014955680124100105139276 -add:293824315258364662435205611375731221153259453,69936479932599496690415175383522476194836,0:293894251738297261931896026551114743629454289 -add:744437789281951089483978067750841678986225684,6215758092668446071515969246800386681388042824,0:6960195881950397160999947314551228360374268508 -add:7555232352218578953388426959061233639843,-338121179318504388356512546357851050384,0:7217111172900074565031914412703382589459 -add:800786123647331529935991527240766809126924910,8084356801391362127584834876216208164918895003,0:8885142925038693657520826403456974974045819913 -add:10929663989202222972072257796740362711,2014764235099935818353734632287788031375,0:2025693899089138041325806890084528394086 -add:-2304110026472565466976559294239050373788594441,95118068539305153789040528913479244781984827244,0:92813958512832588322063969619240194408196232803 -add:92970515686777203278075298872457538269139530036,804034060487391950939245065492783268785530482,0:93774549747264595229014543937950321537925060518 -add:306074026230996345745669348355571285049,3351194990528556941059979503062943080591380,0:3351501064554787937405725172411298651876429 -add:-1801109034823531811485037478828625593344102,-6788371291545724511455362562828939498570517171,0:-6790172400580548043266847600307768124163861273 -add:9906924561298959226824383647599274129900,46505636651150809672589883942989253631123,0:56412561212449768899414267590588527761023 -add:-532368057068285718080209540340159606385179953,78439393969883180556469736987530860427701949507,0:77907025912814894838389527447190700821316769554 -add:1457791796516706098588078441562863530737,528666216820331549882926030036885918841998977,0:528667674612128066589024618115327481705529714 -add:47587357391699836981813632674062733663847158658,54288315220694727806529289306655335607545661164,0:101875672612394564788342921980718069271392819822 -add:2441679111284579236791979326321319109424,612350380810923282381362835527975935997871963997,0:612350383252602393665942072319955262319191073421 -add:-2297182432664233691613076128334534556985403,311366264931073208179039511983011701314592621,0:309069082498408974487426435854677166757607218 -add:812480504283331455325441717008120800963079831,821134520243619144054746507506987541221,0:812481325417851698944585771754628307950621052 -add:292567021381222422856988422202010933008593,322995618653906543956044582847376714984579,0:615562640035128966813033005049387647993172 -add:331282545048545544767134884053522581147,5766236410336035826171861644077140841513734,0:5766567692881084371716628778961194364094881 -add:40252183714117806066401858275236076131151,-72745188677928192885457824316277110692234611263,0:-72745148425744478767651757914418835456158480112 -add:46457019922262916743996775404831914092936856027,6315416110239465669051340102484371408912908926,0:52772436032502382413048115507316285501849764953 -add:5466283595093360991616260159696927423349371,9668800763746329080816551076148727500025,0:5475952395857107320697076710773076150849396 -add:19669588483473218340912326281765015036658,6428951178389068517174516071634753843412004200,0:6428970847977551990392856983961035608427040858 -add:-81431110841967281357837413471759747002352,59367885431507523151090269106192098957070,0:-22063225410459758206747144365567648045282 -add:793131141187380089412901409250143061286,49410607246090035402603177567556059311746,0:50203738387277415492016078976806202373032 -add:494932333118909260725671042445153518250291,4075181671023511749962590099189964240222,0:499007514789932772475633632544343482490513 -add:-547362235549081743238187402052314301548,927175407052843450557369599383180954617147573544,0:927175406505481215008287856144993552564833271996 -add:-272998916785610528588015856567128410368677679830,602403911895041304594532488687738325572579146,0:-272396512873715487283421324078440672043105100684 -add:8177918913965812142072794805257040419006,838843558448368858294329869233866828152454,0:847021477362334670436402664039123868571460 -add:798568364983632999724049529535252351299484436,1636919605401113337112219636142485235118757683,0:2435487970384746336836269165677737586418242119 -add:4076227872389818674764507178478356204607924906,4858120806733600624675339938519375739087835150531,0:4862197034605990443350104445697854095292443075437 -add:-58122662125434671011329360835993435253491,73132097808279681951175475035160758741946537,0:73073975146154247280164145674324765306693046 -add:733775087409818416274588823315348054416,97371071518767684325114545482209171317320411,0:97371805293855094143530820071032486665374827 -add:-113771533173503933275852574248237858610647533103,-12104130628645378506655176004172910468799298190,0:-125875663802149311782507750252410769079446831293 -add:19142539887689220939206017561014662533486,24783822476272570995796547534197064407548413574,0:24783841618812458685017486740214625422210947060 -add:439837175373522535394537896444136762539607278172,788273119543040327881133870675846687731,0:439837176161795654937578224325270633215453965903 -add:-3980465773532478253498557952430511370686544744,-22356254466454106659993425179664976374433,0:-3980488129786944707605217945855691035662919177 -add:9650385443349312084379714880369460479489737296,6396197664786865714161963852384918829120808565316,0:6405848050230215026246343567265288289600298302612 -add:894227798078569418728694383878564021992203400,1182303697127187181785402622190820894529084,0:895410101775696605910479786500754842886732484 -add:-4968456861598503731688245766554869039074227065751,926904708071249932339986591447176660865869610,0:-4967529956890432481755905779963421862413361196141 -add:5744863136870997246649436419851337184337852,528486352801627277403411298307704227595528990,0:534231215938498274650060734727555564779866842 -add:5651588707112308839251664128448753689228260350068,984180076053671456754725942868445032681314220925,0:6635768783165980296006390071317198721909574570993 -add:5999152998115672648494375904218236573991007462,-15627181548166981556755315951112371297310,0:5999137370934124481512819148902285461619710152 -add:-37220135577661031799960043003324908060140177399,9970705541292214994356839103435039397499,0:-37220125606955490507745048646485804625100779900 -add:81418507001304873846314147833079242440551,32906438533170379081041165307454763260134,0:114324945534475252927355313140534005700685 -add:-93195022996360129134236780916054647692069,5347394971811231651758505656470675163708448894939,0:5347394878616208655398376522233894247653801202870 -add:605079543296413508307097975102518892738230991,-102491396779053720487374578863736177412235,0:604977051899634454586610600523655156560818756 -add:-110305166634594825509078326414660546828041104,253473010673771926873011949379610506924336779901,0:253362705507137332047502871053195846377508738797 -add:21931199654933572392043984306892711921146445570,2907527660451297402481924885414001739485555606360,0:2929458860106230974873968869720894451406702051930 -add:-81846516530505341747573039394704262141139282278,119414978059342373259474020371815492807938,0:-81846397115527282405199779920683890325646474340 -add:-7594376981942593652353502069500431608125593919,51500020414584784205697427672128650432402168,0:-7542876961528008868147804641828302957693191751 -add:136465982599750396225253353955535355661156027759,5386715282857389783661176620617283963576556199,0:141852697882607786008914530576152639624732583958 -add:960930288983993235515929578403745857227039650174,201668060600182361443839360602375118505473666,0:961131957044593417877373417764348232345545123840 -add:927399705750647791187277745876572384967669031,-673794088022646279670235088913126760332168167,0:253605617728001511517042656963445624635500864 -add:7745147274519362522020786496011332545870526042,19019754982701808405498074108182013455237249,0:7764167029502064330426284570119514559325763291 -add:-842589681484827364133898448093132213715096,66373404917619583079354798332238441802307622071,0:66372562327938098251990664433790348670093906975 -add:9158459055331725756564214096327568283821833271587,-7389288408299737295395199016916294076133587,0:9158451666043317456826918701128551367527757138000 -add:4944028992893254151938145908432799220246101,-436673227225833465221751159174587350069599,0:4507355765667420686716394749258211870176502 -add:85957500826134796993374704843873074932736702843,-4737398263551254522274364145346551611616824,0:85952763427871245738852430479727728381125086019 -add:26693268270411692795540232504436733736819493,4761693453843664104004802004918903884493929,0:31454961724255356899545034509355637621313422 -add:597280400846352101193980095689737150106994666,774020411370064574149407278425457714972829559066577,0:774021008650465420501508472405553404709979666061243 -add:626155559446956944212578906031124683128572,190636244537054762721029791162041488568193458261,0:190636870692614209677974003740947519692876586833 -add:-51338951497767599237983853763132687032134115219,68079208415865834874846470899944876794467826,0:-51270872289351733403109007292232742155339647393 -add:9281945169594691475182670852780411412286110132,4120131010237928269938977002467007362193300912745,0:4129412955407522961414159673319787773605587022877 -add:144444680217834068698978156521073014198828507368215,23691353332382600912666065659579140865069030,0:144444703909187401081579069187138673777969372437245 -add:878907846660280522460467125993162483781740948299,5727027980609935208356763794713340938325393172,0:884634874640890457668823889787875824720066341471 -add:3863121890985058037468197591726440896929526748,3838808795310625556439132045393084001945658165756,0:3842671917201610614476600242984810442842587692504 -add:-43851511659924905732938464166653593999167629,374198438005814389346971540424050513685984,0:-43477313221919091343591492626229543485481645 -add:22107098238291185428187231696045952139458647,-1094439233801215665665730295403509442215518,0:21012659004489969762521501400642442697243129 -add:-94370080435346767326735355398641314752346677702547,900650711826114107815166281187719185619458093712865,0:806280631390767340488430925789077870867111416010318 -add:70130581982287853776073835767285560754385359048506,-532362174374052657999220752357898449008895,0:70130581449925679402021177768064808396486910039611 -add:368905471254498539128761742427996559644271835585,271908988467870372234177722038239359722817938904087,0:272277893939124870773306483780667356282462210739672 -add:1665461612154764119629895499464633250637874,19134987808509688322855052440395621824879039321919,0:19134989473971300477619172070291121289512289959793 -add:-70082361212896736227109455495902573787866185574,63015365869689393850987592591316804653013263,0:-70019345847027046833258467903311256983213172311 -add:-25078358419757381745462531594488486741766002505050,6161145995589782600946047354747671861460817403,0:-25072197273761791962861585547133739069904541687647 -add:666708317711411288619476006374466033771205130,781945629304382958374150588014142227194285896984780,0:781946296012700669785439207490148601660319668189910 -add:-792815175132398652587456324873505574700585654,21786271555833620127501336636667271735069671301676,0:21785478740658487728848749180342398229494970716022 -add:8661916666639431619374961032583120863479342934873714,6870583561131081729711383493275798626139956,0:8661916673510015180506042762294504356755141561013670 -add:681924022906622856896996499665629155099035690,-1004571345497457234878302490699035957625595966418,0:-1003889421474550612021405494199370328470496930728 -add:60230268321104247199768325351860140731648751905,-4983405216089518546950014876276513305697847179,0:55246863105014728652818310475583627425950904726 -add:2918902473029364921844125458709973674625996417335,-2210652159145259648205005443331558229225741752,0:2916691820870219662195920453266642116396770675583 -add:6803277105307410414680931382137753681870063418,-776208865523397828037840355299954380619094803,0:6027068239784012586643091026837799301250968615 -add:-25003719704019868385876356333662873293268630766666,9372027355506508855692368294638946856664530455245,0:-15631692348513359530183988039023926436604100311421 -add:8627504130949202764401824904787234047442744,-5835544012798417318076520693682832657982999792109,0:-5835535385294286368873756291857927870748952349365 -add:8260090424580577318194392652868871801866634,36338984070638282375666743416237170513165272265,0:36347244161062862952984937808890039384967138899 -add:-2567885127747973574087086225772899311267410108214,5508239791588330680899787231378688448833646,0:-2567879619508181985756405325985667932578961274568 -add:48666808545649708354733246480044529199921866,13005891966314816519574625124428351433895270842,0:13054558774860466227929358370908395963095192708 -add:8389420702531793876639200928278611121728614873,72321325080169680993090249289587185602319073066286,0:72329714500872212786966888490515464213440801681159 -add:65036752240714453689171239051023570841745399448,28805290908818160518681925899689595311583946916,0:93842043149532614207853164950713166153329346364 -add:8528322759745304970664183606826265148753341767,5634304035479369557540127200029887348029829,0:8533957063780784340221723734026295036101371596 -add:6995036754431505162769439569653358554669540097656670,2722846684750068252266709009646270633127873447,0:6995039477278189912837691836362368200940173225530117 -add:4614880368095698349182582007399802736977295545255,11355964798518264828005986699392784240730268,0:4614891724060496867447410013386502129761536275523 -add:9765319509166162487395146409291488887181479800078357,56035915231430273323816838439018348917266581235751,0:9821355424397592760718963247730507236098746381314108 -add:-1138347106436233679061275009102135358639634924718224,46159563323218296802052742149061303164800629266863,0:-1092187543113015382259222266953074055474834295451361 -add:745228794745562968451209928390566434920348152,53527148122790166734511060330707072382963660028206,0:53527893351584912297479511540635462949398580376358 -add:-588301306658858069453782008551175393534786100,8712212161075124266879455562405482117241102217433446,0:8712211572773817608021386108623473566065708682647346 -add:46121030188079872648021130753538085801476800798517,-39019521584656792767403515534426019969693675753732245,0:-38973400554468712894755494403672481883892198952933728 -add:29619919729277459435885608963790118777332486981,-52524378650492377071821593603303584552489704670,0:-22904458921214917635935984639513465775157217689 -add:98181101791503545628614157059694144214397756,1723001921171301726556866325501042586856901467,0:1821183022962805272185480482560736731071299223 -add:5153029430313427472772415517579200893432348228326467,-1040085720098897906942859081192037450000456492060,0:5151989344593328574865472658498008855982347771834407 -add:55004581470141018296263456318558804429110712,19377908184204050840224411596809648305527908013156,0:19377963188785520981242707860265966864332337123868 -add:1072136046766180220620214293788952197166650,-213267489440701336454712703551017176911643371,0:-212195353393935156234092489257228224714476721 -add:85287699588051450238950600525312209592474610983306876,517154134935551400902310308900510987679476894019343,0:85804853722987001639852910834212720580154087877326219 -add:3350463350046534274745259894989563302676256855267,99327287030974528755979749538531148523479743562098,0:102677750381021063030725009433520711826156000417365 -add:36843614050676239637380078007323912504843199635073,28079537606053733508869174435690016524431336472901360,0:28116381220104409748506554513697340436936179672536433 -add:626594076527207859168744152946567653623622813350,289789726716786201909677270796703151236725201042779,0:290416320793313409768846014949649718890348823856129 -add:93605170968295281833171644687712829154123033934,2543628559470582895074562108146894775567883682,0:96148799527765864728246206795859723929690917616 -add:2052998161971266479740877443236081325994829866117101,3539290099275844711415812545767592527236681167098,0:2056537452070542324452293255781848918522066547284199 -add:5417604415616705991065803076609145766510431919,1353196489306588682358657032784715674378273388275,0:1358614093722205388349722835861324820144783820194 -add:272499404407187599426080423265627888541662659954,1327146833710771382036670351680559306817615656153,0:1599646238117958981462750774946187195359278316107 -add:-699651119896474314900584685497791738111506192,-69672515802110594977623027100779022212514726206040720,0:-69672516501761714874097342001363707710306464317546912 -add:712509548377940176185869895492904750887086413,56176731066398404861602715769426642572627041935026808,0:56176731778907953239542891955296538065531792822113221 -add:7143592025239088040306437550950750880457741265799,79269337742179821463637514051770454228086789838,0:7222861362981267861770075065002521334685828055637 -add:85784228041270748531044763418005303861773086316768,479955707155465525495908770086376625866496445325,0:86264183748426214056540672188091680487639582762093 -add:8633607053652219081012560844815432350350653816,-27730558580923841131198160035073520602640809937568,0:-27721924973870188912117147474228705170290459283752 -add:86298209842676209783265202243860839968224984059,-14653841574444115669146420066088654283351629895,0:71644368268232094114118782177772185684873354164 -add:625971576355871986206876583141040580270991368399,1591656865887426266688630862274904247349299714291874,0:1592282837463782138674837738858045287929570705660273 -add:8094263949925391895110456153285525932274467906035,8828498248880817055759174086148047904385900536902829,0:8836592512830742447654284542301333430318175004808864 -add:82237003877466505256157158841093493965062954411803144,91547031285735648783322726839616156920221022695429,0:82328550908752240904940481567933110121983175434498573 -add:9037532307369285758380237914390337810953906576116947965,-2080798311402701935902060326222031250344403292352,0:9037530226570974355678302012330011588922656231713655613 -add:50808222368724781507631572923387538639418605384327,2105468684081970883293309501603862482752205466,0:50810327837408863478514866232889142501901357589793 -add:614695843041957442246110545422122115064228337420826,4173998806904671505997631134479640680904576896439869,0:4788694649946628948243741679901762795968805233860695 -add:1064820342923287213463623720132244635622458829981525933,-1475875068811641600756631104502187851477440325297,0:1064818867048218401822022963501140133434607352541200636 -add:10157417423684726201410937603631975742627908169404,7838021453657103572002203182188244231243955079181707,0:7848178871080788298203614119791876206986582987351111 -add:37159508474657925925316976495629749227380940275864026,1962232433094621175896408173610784235423834821218,0:37161470707091020546492872903803360011616364110685244 -add:90799712490109616993113540668118622608569993361558,6473804353031813836768680654473327017068712061,0:90806186294462648806950309348773095935587062073619 -add:8558267182043409385092694859321311049409595764196,-43855190592575763264725873745536703978426263630380326,0:-43846632325393719855340781050677382667376854034616130 -add:8862769280704424674067234121859535881853068385985015416,3128430671333004136364095742988724990646419068,0:8862769283832855345400238258223631624841793376631434484 -add:378208270494674096813484033949342736267924012919568644,1144519071359286777414333143799173474364390418550794089,0:1522727341853960874227817177748516210632314431470362733 -add:-6579674113733012078327119937146015198044119737,-3734798125808966311088975985514063521776488722551148716,0:-3734798132388640424821988063841183458922503920595268453 -add:2960711245597899800032622343542149905437203154361936820,499809669955373495757639913113238315793000498691,0:2960711745407569755406118101182063018675518947362435511 -add:25821180677407112730506355642526955953730655437874901,220829252352340433327709631917215008695896671223582832,0:246650433029747546058215987559741964649627326661457733 -add:4105370173243521757766753923407753132483088841573916094,-5859495212721416724385219267491089611350684535452912,0:4099510678030800341042368704140262042871738157038463182 -add:5163869845851925892481681950908088101067549260179722231,4902983733534376916005427640372005698206345908473,0:5163874748835659426858597956335728473073247466525630704 -add:8939484182366010380381840561998154807909027117547207,-5791890006411319753232065830229236658118816108248,0:8933692292359599060628608496167925571250908301438959 -add:701510238238697450550654709447628676278557462178180,78660480845787107751570298546903383688737254959620217,0:79361991084025805202120953256351012365015812421798397 -add:341765117982065537129466755082499645994576852735,692520757209429295113115688021272259739538890867946,0:692862522327411360650245154776354759385533467720681 -add:-4895783578731845919967474094433303503864596778179935462,-8364042240998784278401769408809806799945229261776648,0:-4904147620972844704245875863842113310664542007441712110 -add:14238409419953914857984647802372979092302755219238310,6371574430505907367749465495358382099864633219840163,0:20609983850459822225734113297731361192167388439078473 -add:819145829642159547700859583648855896951539123580831,361506805586624128214007976586393021628930076090363940,0:362325951416266287761708836170041877525881615213944771 -add:1877636417667934516336941709697932194927216313530003266,3110415340804941864303432168123355167418335131760417702,0:4988051758472876380640373877821287362345551445290420968 -add:7672066575928913691752679142441515012172611183558245718,371851147532253430639711983046051123330781047618685,0:7672438427076445945183318854424561063295941964605864403 -add:95512312207249366298896076611182343964081859466,-97124870343231010626703079092608549509450053912,0:-1612558135981644327807002481426205545368194446 -add:-5806422968663023549900750663638875296207673594658363702,90516128085557874002777142664275230359248090059,0:-5806422878146895464342876660861732631932443235410273643 -add:-1527157822675106197481254438080912892158041984128532354,725563661143607175528703551625121106037288811283,0:-1527157097111445053874078909377361267036935946839721071 -add:-42827691392859896582177202183556705231114395686423,45128827735882217281406911116739020388874185279388551,0:45086000044489357384824733914555463683643070883702128 -add:46043838505488963276375641613705710661972295575962167,28467164488355628577488094369127349235531802379663224,0:74511002993844591853863735982833059897504097955625391 -add:-38951950148008162832054098288607961881664530927148,8335283480464728668637429037127284541356281150509317,0:8296331530316720505805374938838676579474616619582169 -add:622249316814675692027128671081941223678839381254582193,7261720220517111354905851547139726385938166469124332501,0:7883969537331787046932980218221667609617005850378914694 -add:3674907036214085782411042221746956364413334313796,1921363713435768167432104932165249283578036436190717,0:1925038620471982253214515974386996239942449770504513 -add:7188482591275581867180190647387989483887113319876542897,6602680320762178166851882906088739930967430231717025380,0:13791162912037760034032073553476729414854543551593568277 -add:-1122742189773381273084251248143689561591037547534016,-968674210476153943757292285354448302755574664218668317,0:-969796952665927325030376536602591992317165701766202333 -add:-5630591882567573704954413450307476327113066874903314334,39824636924677667925199181345729096573735144801160,0:-5630552057930649027286488251126130598016493139758513174 -add:209583289465308712087487686838240265261210109472315151239,81969909236232824125903325576417695025146872644272065,0:209665259374544944911613590163816682956235256344959423304 -add:647747950632636576869808198783011688046450148232434870552,916898592764747488235431320315097102338752371550,0:647747951549535169634555687018443008361547250571187242102 -add:28135712883527960051641471442637534495815689268599701727,-38552244671238077902324238695360695260926661808213,0:28135674331283288813563569118398839135120428341937893514 -add:-831441344128176770720666876352870008663528096084544984455,-2692062828036480019863362944971350891750264323444185775,0:-834133406956213250740530239297841359555278360407989170230 -add:794701017798083397494303069423796491577530373372626,-72102207786198755767165144812992747956259847426428,0:722598810011884641727137924610803743621270525946198 -add:197485890851875072994741135376825653896503519991,138163469337810386780302197638192920802358090884502167,0:138163666823701238655375192379328297628011987388022158 -add:937892167666694076995649413871805692261114284540745180898,484506468570589158974739913192421910069689875922723630197,0:1422398636237283235970389327064227602330804160463468811095 -add:49513458769560636111865879434482526113781325925566233,9100294802196263191040735829862469546124284819589,0:49522559064362832375056920170312388583327450210385822 -add:6804265638701156312303584072108871897818849901582,-11345730118278439960458447085533973659139348981794,0:-4541464479577283648154863013425101761320499080212 -add:51279593637893634015629961349071462173442991832147136305,-630963561638139460898375258178326027272464749013574827807,0:-579683968000245826882745296829254565099021757181427691502 -add:-171297863190088468833128267336456231676696349106086723,25562345013839243089120015450478579141692354834498920234,0:25391047150649154620286887183142122910015658485392833511 -add:236820721337287547681130447452461282950000944868027,7910172708500900617141147757503793584328456508673025,0:8146993429838188164822278204956254867278457453541052 -add:6265195034976332988146228918664074473854894060855990323,7606251428765818252926521082377358210182682774550344917,0:13871446463742151241072750001041432684037576835406335240 -add:89597374568972918585799186543628138088356766678901,1813314149334378741507569909010462456324603409087645773,0:1813403746708947714426155708197006084462691765854324674 -add:195306949022209072289234099720202676610869290157465206,-994716438467019815849178678443452892613653602203942,0:194312232583742052473384921041759223718255636555261264 -add:-939205563958045162651332219711896963000039406190357,563202907700832072617064560363622275558376679989258989,0:562263702136874027454413228143910378595376640583068632 -add:80098286952047593891272622966959373457660113936107,5904947277434951020763542155046693897001992702425164,0:5985045564386998614654814778013653270459652816361271 -add:19798014000926405624727315383918920042183182364693,6487262615903993794908286483828887670955698777423148134,0:6487282413917994721313911211144271589875740960605512827 -add:84945814099981001691936754290990954291541653727223572796,-456805979472350610125202046336073888213752286874218,0:84945357294001529341326629088944618217653439974936698578 -add:2512089645159345096564730857111312670343564829071686,2455481799353124733391499423535890463012321535291607772379,0:2455484311442769892736595988266747574324991878856436844065 -add:73301381174453517580526931086388280775135813526768,4626165037419596821133153230043681255350276120564978,0:4699466418594050338713680161130069536125411934091746 -add:792820818959899903274588755045896284554931997668781703281,2595874074799206526967637468037895862567437806098280407872,0:3388694893759106430242226223083792147122369803767062111153 -add:31597081840709827246680247566853001879220752914725613176,2390964620594830956235541402980808255816375199839045,0:31599472805330422077636483108255982687476569289925452221 -add:31597081840709827246680247566853001879220752914725613176,=1,=1:63194163681419654493360495133706003758441505829451226352 -add:2037822438092847430389261539441146424774943894590,39916000644658200588230707520252700806573106896546,0:41953823082751048018619969059693847231348050791136 - -# Small integer addition tests - -addv:51776377,-46479,0:51729898 -addv:7494538123,-48092,0:7494490031 -addv:5,20101,=2:20106 -addv:626,15974,0:16600 -addv:927,14290,=1:15217 -addv:71398252,45970,=1:71444222 -addv:93063,60606,=1:153669 -addv:-4895,63134,0:58239 -addv:8033997,6091,0:8040088 -addv:92778437607,15749,=2:92778453356 -addv:807578710629,-16317,=1:807578694312 -addv:6722,34150,0:40872 -addv:484482964826,45791,0:484483010617 -addv:63333,19921,0:83254 -addv:757593394565,58611,0:757593453176 -addv:5848315192249,20055,=2:5848315212304 -addv:21778,35258,0:57036 -addv:639687980,-1547,0:639686433 -addv:-8993430803,-39481,0:-8993470284 -addv:-825483,40649,=2:-784834 -addv:375685401,51109,=1:375736510 -addv:134791583451863,4578,=2:134791583456441 -addv:53129115309,51316,0:53129166625 -addv:471178234304,3338,0:471178237642 -addv:-7636956216875810,23137,=1:-7636956216852673 -addv:-2312413443812,31719,=2:-2312413412093 -addv:5200691919,55510,0:5200747429 -addv:5715872742,43764,=1:5715916506 -addv:5568388095431485,6290,0:5568388095437775 -addv:76084126643,54578,0:76084181221 -addv:96531391779281,46438,0:96531391825719 -addv:-828922693,15465,=2:-828907228 -addv:769843302686441996,27790,0:769843302686469786 -addv:1414000736454,15931,0:1414000752385 -addv:606227414766,517,0:606227415283 -addv:717100323961,499,=2:717100324460 -addv:-85406334226225355,-50533,=1:-85406334226275888 -addv:-3753831486,-36277,0:-3753867763 -addv:-58465715745893828,12779,=1:-58465715745881049 -addv:2855399155447860,5468,0:2855399155453328 -addv:4552049505281749,-33297,0:4552049505248452 -addv:87837072754930,40967,=2:87837072795897 -addv:-42693214607695890,-30492,0:-42693214607726382 -addv:70742576302309,-20599,0:70742576281710 -addv:118600972756003,10194,0:118600972766197 -addv:-882812251166,55167,0:-882812195999 -addv:-416381834108529,5090,0:-416381834103439 -addv:2956620172683281,-15742,0:2956620172667539 -addv:2711117679184010399584,9500,=2:2711117679184010409084 -addv:1356315685039,40425,=1:1356315725464 -addv:100388100074891247,28468,0:100388100074919715 -addv:735453579551845,-55120,=2:735453579496725 -addv:9573520208716968,57962,=1:9573520208774930 -addv:22464333496911435917,45263,=2:22464333496911481180 -addv:2318330134061664645524,35817,=1:2318330134061664681341 -addv:40085116522469,35577,0:40085116558046 -addv:-9824195637526213,46625,=2:-9824195637479588 -addv:1387219546869173,16428,0:1387219546885601 -addv:519326948996459554946,16498,0:519326948996459571444 -addv:901089575144273153684,48818,0:901089575144273202502 -addv:-7267047498859484256669593,10213,=1:-7267047498859484256659380 -addv:2746871124496359442,58189,0:2746871124496417631 -addv:-1505797511965887167260747,10886,0:-1505797511965887167249861 -addv:816815491488878842,49097,=1:816815491488927939 -addv:16917424131349552780253,38836,=2:16917424131349552819089 -addv:957454833834708924361,39916,=1:957454833834708964277 -addv:202026277214860503572,-38223,=2:202026277214860465349 -addv:968746861113481671,1030,0:968746861113482701 -addv:895889431267844251,44333,=2:895889431267888584 -addv:-3357720693387242036833,6150,0:-3357720693387242030683 -addv:659201417242721199959654444,44813,0:659201417242721199959699257 -addv:-400853063392189225718219,-1010,0:-400853063392189225719229 -addv:7218879194561993107952676021,-44154,0:7218879194561993107952631867 -addv:4721568551140507782,28030,=1:4721568551140535812 -addv:17034283717006469465522672,-11569,=1:17034283717006469465511103 -addv:41795594273804830816397,-7668,=1:41795594273804830808729 diff --git a/polly/lib/External/isl/imath/tests/bigmul.t b/polly/lib/External/isl/imath/tests/bigmul.t deleted file mode 100644 index 72974f35827..00000000000 --- a/polly/lib/External/isl/imath/tests/bigmul.t +++ /dev/null @@ -1,10 +0,0 @@ -mul:1973284924569393016522181930166284437824113120930085705223363410232863255766399553325346410701486329074823374249547700471683909277697787590783678904983357211584574690370289495346677331618312561665754485123402827162476353576735207718451299565526093115255556962215997764515429748902159033904867393928929335369918394864191487555087825530530292436823694624357846430402766705368186347858763649288740551240105434820489955559033038872623623075504620415436212337263593361227009430895404467373404212231777284568356947010238293550872942631550054733886261493387307990754063500729850132294968984927109971586336754260617576297578,5023215555039217191451486096670046812323372237867852342682903508090873804207633443539517026163606065770027196694503291009850587117226026773591715017125540836707619882023150680605967194554434367524090941938814045780235333982097410791452776449214446635671357519707417878752761895933104747199582531838714305022614904134506738511247696618513698871318914624938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614063087964394912022421136928015233318011144243860597237613050611024432789921991289922378761307428111094457098264457145099945444765267932710530788173695233378407323077034767182,0:9912235527621363370177765461045903296757346464251250997934314384765381968455767811674327750035883028560327843635490083086230089733649800500491928845965808260177110097000550870708488183060088779215210481900113545281854124601490142211180660492441361405426298053896802091578235012988730731854809702026093664780523793649405978324745399501432045298507869343282835244908856693641856464415460033802080004246708824900236489959461486545994943320360059459917374730418136788819890973086342429995201653932338829740545718352667527142958499428354077966431655595175455785104618218647409782931121099857213491801531717606789462812743975739913830932552436532349361163108142395102143904119547756730321871557900417573185916761969667939077354954258105548072267528998411702020631497735552158986372677452750936969993423245268272976429454770189221077520557005286622417163333812030510164503314440581497599501417407932697447376958591635071781976491704916693799964449632893911830806101578411062044010045678256608720149155356874608716245388282176400921764516344436742619757576145128777884235797616593795005421758664915151768829194432974835591116318659671888399376705850603804666493415116788205809451378581533592708248188469927900316495904963905315042780485196 -mul:9281860481025428743103260720025399298938288092709373682664752121448026422364244176957076161560781963714610840062462308785533773682081509516924811454802263149810015499242805866671806182669824281823377004291671016071522932056033291108610609315306035746008726247945073883264784349702632503413711514594728450092072160898603477481125780254532680608704164997261749601100642928524030186658056860132922920804055208139127600955714414432667835794981195051773905850760614924210968557995928682559530646363463541164514351639956960443946215999260668876064044712007044169839741253208493501852117173644320085073436239558982298112600,6461820852819773895887891707090409545105222339300767589991593922286229155430279300935431963821489860557211392101557073166691740801924350342690481832500741574765066771636009594821433888176432105527291712269105001105197791973525400419521802156326222007905452621388581343089554119326311972031808789454501569850634390353513026195347029048776084662261279361336878277930892526127759184987426337401986666833244149616653136274450771865938000177859526607860886891713725823803723429415374914088095471203681073462945634413721478459297998380784046348477788577160851236668812562054262272695670208399244540961973019014052558168787,0:59977719609253892722042877572104051408101805397813781927843789294722416373486626629774528405272256981042258018309437739185326109543499153652843618549437079862481903741355077622392955980952291940377584494183016978345215858006577896133494138343531131577292900447484484933940153864330993312663423548963573589721592630804430303529313438416057807260878676382165577508312265364581705446497795257921765099792473625934500220786302375753400097833125635066325976636969158668550422583295871444269629329520664064347927080680043172866686997969891857469015379192927001271209231629114491574459392387236668293395718184725588195195152678956030072754849704861168107422055308610203187476081482745232498851974127247916788413967230550779676328898994935061206241398061433819969649590309647846577368325165533615473712118854791617654923496518553311816034223039109644818155748055376095608924486676004240127363839126636148993476097467363646856228375774851238347182483585640237087473022416289005469183518515797794634470718006577945646586807657786278665230204669208538087683902595460600395463199673225484879511079106227162215467672070600187376901683430397215820702335580004490264383605166178465290892905016286750248542616725432536301930399671042547182331416200 -mul:7912472862067339862128371179317677419131938894010486952786566311807271094923069332388514681475314477095129839383791878789616020411634591014351511065638534352498100902940229903010080076033147913858702310386781454704764453620638192722142673704997301635080657906841977228453431784636268795567399742877979696735712353260720882016758802630449316568009735495464820484500112849579042319792054180751808291492597692968145199206126879627571212323371773988020895279516215647740755736659817523229210171324629444663573614970129038286402265282862415058866062409919400686067571225883598025018993264993072866008153094783713777842233,3201725902397772208341447704654332382791919074661304465094673003562268414312780910138677841790209187781035267718271550359273576299056459823432739891496517659999050131295751440278895964609377686119310540452547253245263824257293859748569384694164098523184164132157046027096354720108308754361750383079701345225130461743071738716695085603994849362372761995341700678666090085339160622218852314697895484240550249851988347340743956951710723755778934782102893613303732727155104650554024190836124710855983325513102342105122420688920843770754330984726835478343584190293399561063733594503384748007915045169469662902517503038695,0:25333569314500437108599815772429501373680322608913314601365306943723819341950927345977940371140685035806629270878047237205018842387430734765189552850021696237198239642293495906804381299300903869208226135003940108018078759100293636602524498314852735550782128370170231188998120042175944314926905277276072583015211137886295474308983469549440318811455833426554950412383746982707726227053848985460478532792206103062118340221448441569085773835002535297094293453339349660395100207046263749435022808551287672469069089094272260153240006042417355640412016581090184175248699060812193046639667626562834648506089700951846853126579987123062116039551606757622165057350453806797625779923041984890801656780414838861143950031146465833755299675796593415374155208079244535350498995407594399059593691111928041690837178741233242536763431952235684501117687869354466659838302659999947981358427161420945738762676783164008518789595931971474305683979958242844858007484186182190899873321326797561319701242638077070008212803881009955276396752500690925651017578103332620257046368245654905509937113127728190752471098993165924776064643774593124028657833142320855925010595166301204722218705230663769696225288154861096367993176213914077427256483682770659737804205935 -mul:5808324187702080655474460793682039951322360995931125673869791371944228644211378816153373947301972618673468024419809216698234959175295640166063762988660558965367914554186920892629719688885314609703455963977845612750271884481278417471936841270780965441117412446282412169100969024758168373693942106624503929819630667668476732052476696223555182229399707506392013582768244824407047675765649910095793401597173883674841030712174173054018546762918277235618291532242003800812379951389007164665130775067356573065178773886633889021628231165391459939591112464657659598153999220909590051109791624395690563647765208381376662473375,918729402656599354295427509394488660812811650986545042142269515180033877242550175086096078333116750486296504860969753318764397360672070743283292590583724934273152632680100030114145522324231651230586226973102509131367913652288365962855153489305948459500758622220373494821215068462533405866936756424017653969429333910353069394383604797810245598567635036667927595346004843560767022814009296322200770357321286444971587792559784113298566437496673370692769029520191499051311630305921790132367949451008467412252240244679740653218546677567374795191493091691181895973054804640859501444377706515253377176192389740639658485554,0:5336278211403410225943519042620965615785619555317282219346015490965402490268953491398003239066178293858189178402401757111178985594855165207776985174779911791823768749096812598455271447538265382632879247518155595749750602819268050354139537957357918637213694511920007326845297089513356097333014041709972148731714014484445915988844776055070353805573753587598803658209910219837061261823670768974929077810129897859279877221144040999522002504993617242444634441005711709824155554871737671327646822053264060565735107228683619949429470582056504636832239947839478335167862425087205811476396561330661528512869808146764271405115946216597932921295579405822441084739925916695069723138186232413577801041059512270479551378420195541014794476699958865807286746222858840284109951768425928740087238483028034722002174473841150445679886458245212446868769523239331330174814615221560520986189551103233794829342754962915857263215385954151542007327435281109291419192156862517657537231189038431999019986573647246318902197844837896116701072282756311874936853442457550589683870364331449005930361210722151521672814074171107488735222046242474639960036313988979683887454104915755099621937143196324447593623621066203333451482527676410948714122996747858076347124750 -mul:4289351015617211853860547293440287163118502026849525600172204430479364457520139869848831815115110666309028281362257922027167887676604882712946357785774765671053291569361256480674248716110951095880149104811531028000846825692159030869973707804728263847551536308296065212083263317121194233870838444421131817712327319493025493358961844276996294363551631856740972199816713986701316425469067461982409331003038962007405485449957519072614334803913032240759760944833349605582847295426216585712797815837902507714668306750095431507743637803032894122691956397938532173109072764661515711293817060848120252743975673113125247753747,1129243400327281633151431371474891473455867467281646580615131416918186134500058210362967474476291935913056166817170589720180888384893984130837655605609160519483475686999411456978438146043336536562159220682249690564087391733538120293725815373571240283145745271266418667658265953408844001550460545760069911655331444115026283289502832470850559638590225665815329814544221402813003890575490644213046498706732967784948480361985741430703857522843819419578526133778265155095749489410876608829677795172822626775506026922427707604322446404480105940239935673644113523059324254840712255877427181434254002649024354681415060823887,0:4843721326072859217924739456975877871730592847101085181527790647663373107593901947296442009364096344634703274313593786101304850876247763256161098298112279311640124203085232376040570318789033357875445637660657625729801200284217407957188046703959398051857408830260318911921120701333722007653177281821055544288036482973644506286720667660669123827281708456990562589037743832216048193876408309523302257690396843316573270798223002206543082163754435230120328349462372851186274316082236306199355982964083210551564485517422220956818077182845893000928069354900697467244100517711217647512106740360746188198070167537230256896186561769720724666496535533088417070244576470000350911551644970207092820479716847918547327933258080841778598694603733794328556831506027782599545271976125608421461150637806657972513810116161800305056210665818016285706544698227685536076722128657311114222869723283459946629814469251976435853584113074214728600366960017102944781196949905674572781584251454518622141686465871411947838733201476173396601005947322753083122168399723089970121912770142886331646964005500389958994113759402037759299455183775918663007587029195358902062641122546567477401625532541758569470800211805386875050358317201026695356110634225798225911354589 -mul:2922598094751746153870691566295068444832682377449634443644452036808313025110180304221606287367480270511738542685007831198718549192848393891804644713550364054117828837916381145944541939810080376799967571912016414096689178814643326642017130538718508791191026602318951021214103395742936719511134851054150494365154144550755804519428501885962875546302716557826154750576355553275917160667544245815793363700075966760245307752621192750454214313695198971665682789483848832034351563529541544408090967307450920552147497375102711833800774226189505763460050841396334194550570633737523051548126923180438589141499584449356454157781,301263854476835865302831775981280157037775814731880717517906672139362327909576030289130356551031249856290116188787587208441664042085339381130045070287550419156538713298378724228993892995370333046698005135756870427773491796745257234813488146992861769360888649780752254778964967516001628591841720032608844779416229017746534677888032360001957340989928039014267141513178879025837777147645983010327629059951078283105727024828148762758710195230027569199491918547602586967248624457368763471524299806755969674122616318652168130325681600833992180785147209796398791957157839966041221298841443636110696808763448994316318819400,0:880473167111567810988117967961880121548976598870490103359907404451794288634314088754703982882682833177383915593219929916760062726336137217195565128836228831115945317704393055974317368390656797236936312760587634287099001130993733243945419647905839367532106871136628959505856124206216765869030390930116922779023015952215753780775710838592094598640777970191507874750041226456888332070206936111152887141719425417531881441970211071893599749277222881299254752348929477247066394923935790203657132250180904188191913717059363295447971852930353504673614060561262045695029116400460109271428627838849952738530831538881267424864968780605625590534156059660049417419319454100204293309555760730912655165939915172711384623654862226288504196439643394977024748646967678483943835665120965656012280087576516616128951989019537622931843487928203695095825088113381854602767942831065334578782746652133152957849781352666171117141170614812817658757480681486453133627351917446563065914034736341623821165223200244445057536369218334564861784940394704850907451562300721495943024972967062949640936264682263417359654728928172240308459032455914059483410980465823622773353548898797178794257922243219031264284831902460218578846768551900722035824054391273507243751400 -mul:5926829196540658675475456498963270367274167353270350161220559308972890667000611959077400634022036756298496888045889139127967069561321992685909920175362591913993270611799645183177425442645246583405296832015660977965704980797187259222752640840230405885131399744453603991696537021254629232292058451234918953535616811141856188592686058223965739982132693674564657697584188823828175787137971950097846827086108380914550087286625763777114003492300442812034505494306586173660076762683909293356952194336742697639190379957186138293602890079658463645699601808928093978909018729566309848085271814423786075811123687515222571521141,9951748549035347469939830875084342841213955171500540569908439680913759851880792256750294922770245208009299837781200411491572872855217655269162163547244594548791001649285963901760838066367556260426444830819384430864282488995682230931798936940632516431790824149442647895647799515499501451313199296478183164266650410143061944307590041145587301786773822623122005086984557462948454440882483631228680923933447857195870319437437969503685592935555841532972330863543676262890554252868386868097538156042902583850929860163229668324731088466679335541839144081462858536522998396202372335534127835253275227166439208550011362833647,0:58982313857053834210030369008701535470547846378883471574850906519661590920623239557155133816718872389461593523638664405853333986848705490618952594452832827902837873064739619027951652972791249957555491448326595877448003385631909355204580249078753687938446662770501781443141702574212326646295344874829910024290326910430502035229144841509314463725728935072109280568176044293667824135683356181998327810932214680277918878645875609893787816791489540198200526206052593279579085310784507516815859424425808996966049588369054806335526262661190188588991128921011359320086022801222253658894714772351423922462488376381753960122147656387949595523415175858244128147046721635779584519776716527922563179399569323397526878913784277530861145139796781253014531853594223956266367885067511225156573281630685001517329742811780233540173221050224903621919442416853554192768813644401915841492966828144740472647777117385889467734627421827100398019644421335032837486242511571228006782734808577532905812345873829690513970221918856437531183865939487578348802015996867422278241109287621714275599191991940919835845537011096714711601047529737712802340247704082674118292833054347839678093716883543951111177062577074608322061562989806239684134854317815924284926631227 -mul:4777034176054735892839001319154604024448982911062996662961434499047973311450046365095175854088514975567276445923641765710483565552588310101703859907398033663982963466700114736836981086820103724619793226902430054022230749484829232751622018429096822596030038641334221042974404610831943227778280482931541043539126216389807230921518942393713547539642721143788088068568685638257090375125430847183020265156489658843788411995875911054271475454361570597270062164847413843213234002767652983163982217031030775985346429845722052312845786262475405890214193945400669516695016006129145191835497619324112510419184839333823563038032,9827138548939292009245650065800975788958754975503505329013026058397999436949984425213239460163893334243646132127297454621612856901543246299673374601632283715496329281241648395821925002725694160249373602782352654357507333003611095526709537503510444389839900076419267762739355812530600135102575311854184301816642079363387499882043347624028484658998836131051290010878235398822043835106058212641700259728565297115088713153106682478432953135863939627050490807699853245333608896404452729513744632901892423136011428170599697693508420836045009263224191727733246096441225270861482533930349836055052069956275296881553010823844,0:46944576701107943679938938351717570276643024426351383376012128990331836851800394169999825926287789789923977857842224952030837018641751724128416777942347287817243085205947279140888810687502712653904720940250076045512070807034595001066901214351395013853583253749775182943641508176342644616344704991826014772126193902151538695286620417331840280282729602713896669409104608963314021947099534454163546746786314376632556034151803662894104512257731557376023921031478485341917927131527641804456632089758164963179174829067502841242835472135512255663254933420936078744362206666240251798031087309505320414834036730091215957763177449453464018931816818279479765564154397725457327968428958452351403338069002258937875534583660748382069795371892066725535235829019294948550962261648137489651867767182000050986894967544702207404744805388059998480229757580719768298728934644409403172897264279729988289280804868097625427040524002128803008253639601815039926425566665683322030827022419320049680101981176755790419161472786615666424889499802013777946532365772475376346129529789899467556777542539903184853306724757517591411008018192458452871055585402125971467717860280265556030939477806408511006676155314529119943122617934755061739058181638708393543824435008 -mul:4718526549709911993506825300392344853225467500177328568314994788126810717786579407393677363360732454086076553654622431077040278132967064493298016988387203796834942642515095105038480589941892582203464757978762451494680419073901829593050682173084623555079499639864808992561773015425098686639107710126506218374693057900167675112099207386871851914556838486427512658440072954892382195328941863291925131611709258615015617716874132201457077873908213746723440854928237000349411712082236090494727142820721728009499408048129273013743078395120046662079326001366135078211783789585155007423087104738440174209004586903786989164923,6864909625695099184857987413146793144809795231762816099678934112289429933759119594825554881121839952705699464175423549805747165577308703501708566885788095967212817910018877393281757866693495857986692383902136266802917073126657350936148259550527207353925931727830829709553153285795187708071469565512676957784213778578364574484904487858142015156737351049851111701482889769961092136069932966937675469744753107902213424358119650624652509775218017409565394932197216635621683624922457211807452760603826715508259815323885112220648677904268244358078258267292267766114067884100779411269652418038495358844980710175781452273298,0:32392258330201459760562074159505402666827022332133743824383722373771586724279936834893209475335792360740207288712753288966019272688772189727359830430112385377963211525866654614652734441343015702880600337106757047952016128925022121801109717569522414321736297039964518897435783148195384835215896781072440523968496981818936751998711792513353592722753606646586300140596112682346518934342989922440494425543851079417451668961455337221634115522324089759170630437711987215149300155598498709258144994089401776318144221493654769821130765906090094965112873750275198731396444109844761570671491936925731286931889673265998052517878340520697512644133898593713774598643978958986749813165344980644092219544151830910222269638171801555630525215918638130181021806972858430511411445741538921977552404857036735214137961033740561691592280961494473639844034425651660408422689100017005963792872277451240550916940855637560252384459024952693573633908574846415082397672705378909528200133322572418467010953663042748965810118650644957942518667994045551271839593077571232233290052571470146092765056400446256851048896070598829313006513443533069418336284379590405097307714842901615964467210622771049744023258299567880689880017261076464212353340481079608972991126054 -mul:9351359077717175899950414794158087603156751215661949004587120106073267545901109456791730860642333677736460489711278989024326442512123908471776539363116436679164824939981569343722408520504708037728468632659374071452933990971885163627008124264246742383054580586823189866118106292666120868893909093218961607925558747851310421259521224120112349616696032997520626166708182604366198593113508419711212092952552738381785471705126020208187067765049493707603435017168771840449365758256918178174456397001413868398658687746818925263901770782577181315131090723377262366519979729982933337084774328653741904208050516673656644156545,1216016766515133990299168668478735765845001733139931228142324729567294927452246949091528311290839436344864081129175577116760112996696086551953114162706042576570065867528105907714734959487715485323991160014202401109849117829323361272785163230303985302397208164280805555950490245017175800587222856847357832531423637659868015190810500399483016069191576487343684935319583093232012062136782881389216056886912824752493825582458023165949476390088955696767644291944525456085901327930362230500131946293930906615027984889540977885375442171280684232489081312736136944281636434187988121106769493755643246344604960317372762640669,0:11371409428207585816935645514971157399477456508122422645057323321908767523269456583816541352834881341044768023230578135410646986307902229480486969521756932041792070183404871499743753639195221172390950269396259738917572970086985537003463801797780611812023947668962735701914400160076584463668883897061046609698150079230869671219723047659413380098398681168541189318039580846097222930562274632561522358056585578630564543897574680699501191088545558042869487637213954033470545221407447339126024545625169695761828292387153041130103874335098480537357654083162452706238752455266859966099385082784949007603605080575226559633436587076629170515896969351447588541709062809148081408725380230173050904929264600376981651953193133627520880237674546041286603479563072447211757006563163317121555286268728294863795655638987849849029666001617848646789972884742730075162580289223257765499073795704140984717050187282907922384088916411395714743783224419377067797857302004785665907904680432071096387636727273241941645361614333739368488852077835547570517599052273376169343996742621847611518237883451876811880344515555813725251939567959622992970218067169395450107931883100562142495317614789690641680450835968600224117925675820963997683401725608775582419528605 diff --git a/polly/lib/External/isl/imath/tests/bigsqr.t b/polly/lib/External/isl/imath/tests/bigsqr.t deleted file mode 100644 index 67aaa506290..00000000000 --- a/polly/lib/External/isl/imath/tests/bigsqr.t +++ /dev/null @@ -1,11 +0,0 @@ -sqr:1973284924569393016522181930166284437824113120930085705223363410232863255766399553325346410701486329074823374249547700471683909277697787590783678904983357211584574690370289495346677331618312561665754485123402827162476353576735207718451299565526093115255556962215997764515429748902159033904867393928929335369918394864191487555087825530530292436823694624357846430402766705368186347858763649288740551240105434820489955559033038872623623075504620415436212337263593361227009430895404467373404212231777284568356947010238293550872942631550054733886261493387307990754063500729850132294968984927109971586336754260617576297578,0:3893853393532835086992417436028929533017113693729112812565021883956380915141255996799612067028873878620962721020287843580667785031474733116478946359424550361012589585752973317305997480128700704790709288646018647234120006459544716434681174565732418911811134893433511190240729608798717705538511464455525691334268473593164287128437946659209216966182223959978048461766767048994203857805328335121781687530460374272192439643337616561191454804340602152636521570315735724808211136112178623597726761562233624418966697972730157242837023392799098096001348791292540282769112707428306351952761016511009581482140339266124773156503871585331333229748575546970788710593878329700066394630525667688977999379996797554988699433650675888676455423881055671268822403174758764173450801472107412934932928242628018889547481661696413558606207836289835238941646919528531917854164993719517257318458050248512708310597280868179529982466268126947562915613777011430797948425936457263384797803263966764408262497707996175287022739124394402973694264968889229848339525935294695324028820522528376607382070267797540723336423743427176925087940756280955052040945732043168661526388800230588103529678940221446182218158117656968368051493245055497411735966238847890150408666084 -sqr:5023215555039217191451486096670046812323372237867852342682903508090873804207633443539517026163606065770027196694503291009850587117226026773591715017125540836707619882023150680605967194554434367524090941938814045780235333982097410791452776449214446635671357519707417878752761895933104747199582531838714305022614904134506738511247696618513698871318914624938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614063087964394912022421136928015233318011144243860597237613050611024432789921991289922378761307428111094457098264457145099945444765267932710530788173695233378407323077034767182,0:25232694512387950837246573965423768214659605305747920385364235438142069506752963638176638070663137697548178189512977583934503415751046457217304699834312165759735798834063392638459720554883875322668860726378103278773377069820923135889568597012480529331635521511826460253219709548240571066232289334814339006865253319737519393614525866345823654520523063598485936725991745466055344350193829007241842078415817997984841814058315445235956513287712770234190490867970313521815239706704426480962959318704528841466812066587818519893723352288704763970670959149274002543782704910304301127024275547153165875047466897500391977033070459139260182367193259631752968757844481234924736806232657312752696107333138306380229367277562995612116036553257307316583486420415930866764617533873750528784187657897741011800821517930103416987940072347360626799917296234474844881851193687709571104637725109465383256753161526510645230553484635324115139968700121652080718290604667285871496065225935146563937996599437542585972890644223726730952165788539505477436754054328420237106613886502086271044799562764032162609215838263998005175988570392248195621627510973258180359384380604104188938302848583871731189060087097132563112796351181762659883855872472102926784944221124 -sqr:9281860481025428743103260720025399298938288092709373682664752121448026422364244176957076161560781963714610840062462308785533773682081509516924811454802263149810015499242805866671806182669824281823377004291671016071522932056033291108610609315306035746008726247945073883264784349702632503413711514594728450092072160898603477481125780254532680608704164997261749601100642928524030186658056860132922920804055208139127600955714414432667835794981195051773905850760614924210968557995928682559530646363463541164514351639956960443946215999260668876064044712007044169839741253208493501852117173644320085073436239558982298112600,0:86152933989221603452383960579862529767754507451814327308106099502021338841158564739970946221037114450601947058545585968015185524235118008637093904307143275940199882886916868864207222193239426427361340073440244139751159451898557777069779343414467483495630400743470728307452356966341313677960852068933154671924573760734273611606091152908307935158991039816559413312322566981208062121327548308369676448001395998891570657014429725703319770781094147168569110700521525439009556347021461844081202006912863907929538746074819161945225863226888248444085706919956519264360573870762587910641782352656676156415732700656963630951402092115464901859063766186151616572411364019115388448066844528476234630236343390094769930168862863247247299575418570145375916876386437237082903988846801896214556691481561360799069054218343648585202335896476703207744614538742683914717622691916676976341150631784446520414431143406963418046854017770653263907209702756518001381533976295371716790304760562189392378368525802079624573216454183740278425217025651543107627286662679019527820835682239802308666416070981938963841923859050577866586430415553449794707717857305424419844800957514744493025148562704471289382692563184970909544450306975779736393494626043617522278760000 -sqr:6461820852819773895887891707090409545105222339300767589991593922286229155430279300935431963821489860557211392101557073166691740801924350342690481832500741574765066771636009594821433888176432105527291712269105001105197791973525400419521802156326222007905452621388581343089554119326311972031808789454501569850634390353513026195347029048776084662261279361336878277930892526127759184987426337401986666833244149616653136274450771865938000177859526607860886891713725823803723429415374914088095471203681073462945634413721478459297998380784046348477788577160851236668812562054262272695670208399244540961973019014052558168787,0:41755128733936470013419340614768581207469280475771932448759452471724306748308207056387185341042180822565865975190354615808904657250278538353955888696480598934323757476309374738685684994497716128880324468585630205909258071948935579506193339045950864572735480453777206082914955771593313309955856894724849311870450595834339482685071806743252667708340467642167114083116000124778596927193502323818049586734603742810042021276752915040017354940400178030129663940983913088794072426640243829816327008274324005485264616967551641307060646091607001504654635788964056297229985621142475464282158634817498369712218561902410195152713461864918871424016455091203930645713444133980971449546681537220327549312525941229246794507705534347619463146219624170792658352361826542837966194021639735363473953690177390313887375288592504393102090201580067126091162084412913867210871907813153659746483106875412725262090893163145926694590206586186591043900660223003982254816402106419038767972908977390372043067587105414843306130785601573472584510045946592593734424590918536936724371910844356800883765758566604517939781506812650805380392096724391320635856788305664509062325460162834870676905242982755100465091215613432199297726350243940958759758306993142242781051369 -sqr:6461820852819773895887891707090409545105222339300767589991593922286229155430279300935431963821489860557211392101557073166691740801924350342690481832500741574765066771636009594821433888176432105527291712269105001105197791973525400419521802156326222007905452621388581343089554119326311972031808789454501569850634390353513026195347029048776084662261279361336878277930892526127759184987426337401986666833244149616653136274450771865938000177859526607860886891713725823803723429415374914088095471203681073462945634413721478459297998380784046348477788577160851236668812562054262272695670208399244540961973019014052558168787,=1:41755128733936470013419340614768581207469280475771932448759452471724306748308207056387185341042180822565865975190354615808904657250278538353955888696480598934323757476309374738685684994497716128880324468585630205909258071948935579506193339045950864572735480453777206082914955771593313309955856894724849311870450595834339482685071806743252667708340467642167114083116000124778596927193502323818049586734603742810042021276752915040017354940400178030129663940983913088794072426640243829816327008274324005485264616967551641307060646091607001504654635788964056297229985621142475464282158634817498369712218561902410195152713461864918871424016455091203930645713444133980971449546681537220327549312525941229246794507705534347619463146219624170792658352361826542837966194021639735363473953690177390313887375288592504393102090201580067126091162084412913867210871907813153659746483106875412725262090893163145926694590206586186591043900660223003982254816402106419038767972908977390372043067587105414843306130785601573472584510045946592593734424590918536936724371910844356800883765758566604517939781506812650805380392096724391320635856788305664509062325460162834870676905242982755100465091215613432199297726350243940958759758306993142242781051369 -sqr:7912472862067339862128371179317677419131938894010486952786566311807271094923069332388514681475314477095129839383791878789616020411634591014351511065638534352498100902940229903010080076033147913858702310386781454704764453620638192722142673704997301635080657906841977228453431784636268795567399742877979696735712353260720882016758802630449316568009735495464820484500112849579042319792054180751808291492597692968145199206126879627571212323371773988020895279516215647740755736659817523229210171324629444663573614970129038286402265282862415058866062409919400686067571225883598025018993264993072866008153094783713777842233,0:62607226792952120707247651690259584550519870655409677855259967323970315280127523038352871914217595657318525178928588450738646984186124330548937584545791047411539195482412684246501620725878474982273096945918283314804856302186143180922532479221483774049169665661942575676028716750572824612078547029156326889126648510908500466713726943581967682677688720020286471235758599038656604686024251557579582894251121291196845804656311881653516178849444455844734491852772836158003590931403972989130702566686718563356156866003782202713979799591740568927365378424851203143470432976436058675581145034980081878073994378951069636407956044433595527157452771941753992894632221806355150244262738932228009536850616640523085668143546230350996800173647076957602749446577970514855423674477236535999309116324096409059875960147686741898480716484475884168020125576823399861877763053135612337099607591166573133277345115055382830446955279324436937777170960368837490516357978919384758079145639420844517829747508647571589827612402546568196379111371730312522985608775973653102317116479931771770023631636770509419737783921899453982796775527984382371135662826874391308916487368098573786023125281233044093938346589157068552970819362523463113448971217548940797438426289 -sqr:3201725902397772208341447704654332382791919074661304465094673003562268414312780910138677841790209187781035267718271550359273576299056459823432739891496517659999050131295751440278895964609377686119310540452547253245263824257293859748569384694164098523184164132157046027096354720108308754361750383079701345225130461743071738716695085603994849362372761995341700678666090085339160622218852314697895484240550249851988347340743956951710723755778934782102893613303732727155104650554024190836124710855983325513102342105122420688920843770754330984726835478343584190293399561063733594503384748007915045169469662902517503038695,0:10251048754084828769243329882069275971914890627613738671716877356696804611372225772535909788437192398839842991123901962510118430249474946611045135201967809016816348471137614785988048128241390515692315971455106778002837246102797924605981990933580811595517905674487926190125149743783912791172620685090710721294031418339826218705767020474113475213303982913823024270407367538077398654621734474924951831977997748681939864774457132880966130787121010568095721257658186826775993645732246207566570744542977468845272538470202747808100801988318054298959125301114504026010747921910115853973562914401985468980995690517283225637392666056494069338918735138921764426048557221613239082343742804403199476104847288722226052090168714977201702134281100828032952230896037194398681770354240611642273082773400855766704556982242260945911858324534827894030863019362601675206293366185548957348669774225514518006218467888321089699097391620575727815238097871345555390807646501726425056233120235063071527081727369212097120985047406879578675516214002560189818550388605034487273578377097275389460683099839403381468382578885231830676913607497216090992928203120279557550890527892898136710592601635774254477237306606095549841913591690732525191072433380838558667303025 -sqr:5808324187702080655474460793682039951322360995931125673869791371944228644211378816153373947301972618673468024419809216698234959175295640166063762988660558965367914554186920892629719688885314609703455963977845612750271884481278417471936841270780965441117412446282412169100969024758168373693942106624503929819630667668476732052476696223555182229399707506392013582768244824407047675765649910095793401597173883674841030712174173054018546762918277235618291532242003800812379951389007164665130775067356573065178773886633889021628231165391459939591112464657659598153999220909590051109791624395690563647765208381376662473375,0:33736629869445035074327166424244667388357269999486865605478076413334103798774353682775639542213830809145772052196100574522690756062172293340346900291485418359566994652736736860394553990711528438046447648607265759258849563437038985527522027887469536324986597076326498910837071795251458205904524980493828205498641172851466789655356761510862552511481361948668830231946389600859901152088906546349833795040838140061368522170448758952855372046595253341556353216263984297060270145341296413999867239761086030849655515473988519859922461900886021497209068404156115345891990869710785087691035884591154201820846643004027670616846756481869815422806896037776208720169056623748294226301861321525789456138753657995854650377786223245822168795756177015382020556433922740315469664231971951907243785787603463207205574424710054218646675174351835854569823483723752860910674029346480228748308601384452239082508478253308005445835634293503650832325029963894202698752252776230543203916010757514406789343217818289245459834266233887027255260435438561649500763399981546227245264080216426993032919933996719529973685635989795024502963596132673681479045820438921344384798517847291471865516742005312681288127831399544453631661789669782852521261353330598972583890625 -sqr:918729402656599354295427509394488660812811650986545042142269515180033877242550175086096078333116750486296504860969753318764397360672070743283292590583724934273152632680100030114145522324231651230586226973102509131367913652288365962855153489305948459500758622220373494821215068462533405866936756424017653969429333910353069394383604797810245598567635036667927595346004843560767022814009296322200770357321286444971587792559784113298566437496673370692769029520191499051311630305921790132367949451008467412252240244679740653218546677567374795191493091691181895973054804640859501444377706515253377176192389740639658485554,0:844063715305751868681971206141868238620448349106067649090713042117549119633369793955554348233719755746126280893464820812016005338079930881262278122705660442998154342355231619912542048747564579820455957515967658062579765882068075603317542476485725126614065677508294074683170609567910430859163617312267835677287917010092241479784627554606309976396139987941907937127453128868471672503456384949412832353492125047104125088327869349587314979541859707555223546684520169107982699720021602759206250992533576051949917523223132790224645209557953390063396322748548091847415504398952105342081716845349560247052750420294095678053428216713216713011181812689683492914196236985079977491424396246564512152250347194515570324811898058414788694226000558523630907238488791193859962605342734660937039255359759104296817461843423523782150363606482926217674814654230899763084537946295374731646288495775906239750491832422646745846855470956372588268290873333606787465192588104280578046176481855676139021153292248933293930046473039414083316216665998616344058420309846209053553460359073991880276416769133021195916404214034472772439130482850276889991434513090312643865962017932695340904893119106854707377145235453780149075870382271613690866218610061236826686916 -sqr:4289351015617211853860547293440287163118502026849525600172204430479364457520139869848831815115110666309028281362257922027167887676604882712946357785774765671053291569361256480674248716110951095880149104811531028000846825692159030869973707804728263847551536308296065212083263317121194233870838444421131817712327319493025493358961844276996294363551631856740972199816713986701316425469067461982409331003038962007405485449957519072614334803913032240759760944833349605582847295426216585712797815837902507714668306750095431507743637803032894122691956397938532173109072764661515711293817060848120252743975673113125247753747,0:18398532135176406809034490875693170758925004882141511261808766893882448134661308449674877552336295208917642945790156108898313095424805879501417605739586230929916416741917205011890576364165214842655074817157593175638265096642262911624804249958062053834777196200988231246651694562541632157282179693998749538692029970111424591747477697863942461566583625378474559289840644351696058468544250603519147443482666917127248552520455914618534358459972013595330956153533329148549282058238538359006965923000938192868814224682091707519285881336562876756579025080274645910079084625282553972963075141236187211115990844325515052297351541590023546664412131806032342665984009007162435318353241414465270052529631433227305387943571878454069329525592969380744392762518290885050324171445597112387157817625779490377052814617138025027758796703313537279036322299993462750908493008657797831919621067953926089315029584404727826473302371816974351550286725462756040416199337645083147388751639897989371703481110044912875697392570337540041944755640545845535510530045287632724843324253307769460477224412912973549722946229475760911133865605380194780577819320270517078651641752393246783502013220800728332790909778902389930435716496708472843056646872808640669152540009 -sqr:1129243400327281633151431371474891473455867467281646580615131416918186134500058210362967474476291935913056166817170589720180888384893984130837655605609160519483475686999411456978438146043336536562159220682249690564087391733538120293725815373571240283145745271266418667658265953408844001550460545760069911655331444115026283289502832470850559638590225665815329814544221402813003890575490644213046498706732967784948480361985741430703857522843819419578526133778265155095749489410876608829677795172822626775506026922427707604322446404480105940239935673644113523059324254840712255877427181434254002649024354681415060823887,0:1275190657182721248462063420980207026343022717532622175860219061730792418936740434742094796665906100480439897110257178409857469307077098501942134999624668547631597875340226548233364555044904897637802662331582604911532131450166620402887103231322314236615939231233057651679712668806821697694902550747299740911409056026074325413724541784521105637039150272466375734348928193048571410349655195899575836960732640894105648518962149080274129413128568380000791288924018568364735478182966987827049189244120982249845311602108211176904677903690707944807032554116276797233387539070384134761545289596978472118656073247977568361787904215232007927547273675655812990627547232348919520589298481108958425401154144890217117213559902391607690446197638363620347853484948687625457207482930736345600737267824848389507129569922536325291727973935250559919378188248920389764990722709984543141728260567769676565198058565461309218448131493714100586880045778660348267815919731674340804133476623427737669995140408727297933180816128182764727848278876101607499408120957922795369902531715310169128136970642349303253384538063850831674689811408417573400679901877915536329660371027882694070998224914758044726450736635586342639879086413949670062421005617619755229788769 diff --git a/polly/lib/External/isl/imath/tests/compare.t b/polly/lib/External/isl/imath/tests/compare.t deleted file mode 100644 index 98a11343aa5..00000000000 --- a/polly/lib/External/isl/imath/tests/compare.t +++ /dev/null @@ -1,31 +0,0 @@ -# Test ordinary signed comparisons -cmp:0,0:$#0 -cmp:0,1:$#-1 -cmp:1,0:$#1 -cmp:-1,1:$#-1 -cmp:1,-1:$#1 -cmp:123456789012345678901234567890,123456789012345678901234567891:$#-1 - -# Test unsigned comparisons -cmpu:0,0:$#0 -cmpu:0,1:$#-1 -cmpu:1,0:$#1 -cmpu:-1,1:$#0 -cmpu:1,-1:$#0 -cmpu:-25,15:$#1 -cmpu:#x-ffffffffffffffff,#xfffffffffffffffe:$#1 - -# Test zero comparisons -cmpz:0:$#0 -cmpz:-25:$#-1 -cmpz:105:$#1 - -# Test small-value comparisons -cmpv:0,0:$#0 -cmpv:0,1:$#-1 -cmpv:1,0:$#1 -cmpv:-1,1:$#-1 -cmpv:1,-1:$#1 -cmpv:499,108:$#1 -cmpv:499,499:$#0 -cmpv:499,-1024:$#1 diff --git a/polly/lib/External/isl/imath/tests/conv.t b/polly/lib/External/isl/imath/tests/conv.t deleted file mode 100644 index 23bedfa86ba..00000000000 --- a/polly/lib/External/isl/imath/tests/conv.t +++ /dev/null @@ -1,228 +0,0 @@ -# Output conversion tests - -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,2:1111011101001010001010000111011010100001010000110010011010011000100100100011101100000111011001111101101000011001110111001111001111010111000101111001010111101110 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,3:22012212212000122111011022212212002120111111102001120012102211211202200102022110202002000211111221202 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,4:33131022022013122201100302122120210203230013121331220121313033033113011321113232 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,5:404041130042310320100141302000203430214122130002340212132414134210033 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,6:44515230120451152500101352430105520150025145320010504454125502 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,7:644641136612541136016610100564613624243140151310023515322 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,8:173512120732412062323044435407317550316717172705712756 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,9:265785018434285762514442046172754680368422060744852 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,10:1411774500397290569709059837552310354075408897518 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,11:184064268501499311A17746095910428222A241708032A -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,12:47706011B225950B02BB45602AA039893118A85950892 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,13:1A188C826B982353CB58422563AC602B783101671A86 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,14:105957B358B89B018958908A9114BC3DDC410B77982 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,15:CB7B3387E23452178846C55DD9D70C7CA9AEA78E8 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,16:F74A2876A1432698923B0767DA19DCF3D71795EE -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,17:17BF7C3673B76D7G7A5GA836277296F806E7453A -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,18:2EBG8HH3HFA6185D6H0596AH96G24C966DD3HG2 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,19:6G3HGBFEG8I3F25EAF61B904EIA40CFDH2124F -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,20:10AHC3D29EBHDF3HD97905CG0JA8061855C3FI -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,21:3BA5A55J5K699B2D09C38A4B237CH51IHA132 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,22:EDEA90DJ0B5CB3FGG1C8587FEB99D3C143CA -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,23:31M26JI1BBD56K3I028MML4EEDMAJK60LGLE -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,24:GGG5M3142FKKG82EJ28111D70EMHC241E4E -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,25:4446F4D5H10982023N297BF0DKBBHLLJB0I -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,26:12E9DEEOBMKAKEP0IM284MIP7FO1O521M46 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,27:85NN0HD48NN2FDDB1F5BMMKIB8CK20MDPK -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,28:2D882A7A0O0JPCJ4APDRIB77IABAKDGJP2 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,29:MFMCI0R7S27AAA3O3L2S8K44HKA7O02CN -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,30:7IGQS73FFSHC50NNH44B6PTTNLC3M6H78 -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,31:2KLUB3U9850CSN6ANIDNIF1LB29MJ43LH -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,32:UT52GTL18CJ9H4HR0TJTK6ESUFBHF5FE -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,33:BTVL87QQBMUGF8PFWU4W3VU7U922QTMW -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,34:4OG10HW0MSWJBIDEE2PDH24GA7RIHIAA -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,35:1W8W9AX2DRUX48GXOLMK0PE42H0FEUWN -tostr:#xF74A2876A1432698923B0767DA19DCF3D71795EE,36:SVWI84VBH069WR15W1U2VTK06USY8Z2 - -# Conversion to binary - -tobin:0:0 -tobin:-1:255 -tobin:1:1 -tobin:97:97 -tobin:8492:33.44 -tobin:-69393016:251.221.37.136 -tobin:-218193:252.171.175 -tobin:662844:10.29.60 -tobin:8241131209300:7.126.201.178.194.84 -tobin:705223363410:0.164.50.150.139.82 -tobin:-28632557663:249.85.93.215.161 -tobin:-553325346410701486:248.82.49.135.113.248.93.82 -tobin:-907482337424:255.44.181.214.111.112 -tobin:4770047168390927:16.242.85.39.8.167.15 -tobin:977875907836789049:13.146.28.245.9.6.65.57 -tobin:3572115845746903:12.176.210.8.21.16.215 -tobin:28949534667733:26.84.86.186.243.213 -tobin:-183125616657544851234:246.18.159.29.228.28.174.208.222 -tobin:827162476353576735:11.122.171.227.198.150.95.31 -tobin:77184512995655260:1.18.54.231.215.68.126.92 -tobin:115255556962215997764:6.63.125.254.104.50.175.49.68 -tobin:54297489021590339048:2.241.135.110.149.175.144.125.232 -tobin:393928929335369918394864191:1.69.217.178.12.173.1.47.149.43.18.63 -tobin:-75550878255305302924368236946:255.11.225.199.59.30.217.134.166.120.200.174.110 -tobin:35784643040276670536818634:29.153.177.98.228.47.31.93.65.31.202 -tobin:-5876364928874055124010543482048:181.212.112.219.201.219.43.162.130.153.141.251.64 -tobin:555590330388726236230755046204154:27.100.137.45.209.201.206.212.69.137.217.165.34.250 -tobin:2123372635933612270094308954044:26.204.252.173.123.198.84.97.94.88.53.79.188 -tobin:373404212231777284568356947010238:18.105.6.21.0.246.144.164.13.115.91.8.162.190 -tobin:355087294263155005473388626149338730:68.99.39.192.10.100.204.157.215.128.79.45.43.110.106 -tobin:9075406350072985013229496898492710997:6.211.220.20.76.13.2.68.169.142.198.197.165.106.64.85 -tobin:8633675426061757629757850232155550:1.169.172.77.223.131.135.137.86.71.95.134.109.237.158 -tobin:-217191451486096670046812323372237867852:255.92.154.114.175.151.49.93.18.105.200.58.156.24.75.180.180 -tobin:26829035080908738042076334435395170:5.42.198.7.200.110.201.64.35.201.25.125.64.230.98 -tobin:16360606577002719669450329100985058711:12.78.240.46.160.248.51.247.149.232.48.220.205.240.69.151 -tobin:26026773591715017125540836707619882:5.3.56.17.26.95.176.214.116.53.154.110.71.84.42 -tobin:-315068060596719455443436752409094193:195.81.241.253.255.182.14.126.183.113.140.138.49.151.207 -tobin:1404578023533398209741079145277644921444663:16.31.175.15.121.161.137.196.26.125.240.115.59.220.1.85.25.55 -tobin:713575197074178787527618959331047471995825:8.49.2.79.246.51.45.90.242.199.86.95.47.64.104.90.91.177 -tobin:83871430502261490413450673851124769661:63.25.12.201.105.63.89.102.174.73.208.109.149.109.99.125 -tobin:1369887131891462493813741667459688172443624:15.185.188.136.198.40.60.46.152.22.161.146.105.88.210.253.87.232 -tobin:829432057166494966641315010911028795638578:9.133.123.83.146.186.254.230.112.155.225.249.127.219.248.43.131.50 -tobin:312089922808936140630879643949120224211369:3.149.38.92.196.150.155.232.60.223.247.126.50.176.14.127.177.169 -tobin:152333180111442438605972376130506110244327899219:26.174.219.37.168.212.28.162.39.139.47.209.114.56.212.157.2.33.192.83 -tobin:-2899223787613074281110944570982644571450999:222.183.242.113.50.20.39.238.192.239.78.170.102.70.102.231.209.137 -tobin:444765267932710530788173695233378407323077034767:77.231.246.225.189.253.236.180.85.80.95.147.220.91.211.171.195.205.195.15 -tobin:2928186048102542874310326072002539929893828809270937:7.211.139.211.153.76.242.8.164.101.41.243.188.255.255.239.194.98.21.205.38.153 -tobin:-826647521214480264223642441769570761615607819637146:253.202.98.131.34.175.212.21.119.210.126.69.61.176.197.180.182.201.116.60.110.102 -tobin:8400624623087855337736820815095169248114548022:1.120.178.112.248.52.41.234.187.122.100.10.161.143.20.186.83.68.157.54 -tobin:-14981001549924280586667180618266982428182337700429:245.191.228.168.55.2.155.157.248.12.207.194.168.98.220.91.66.110.69.189.179 -tobin:710160715229320560332911086106093153060357460087262479:7.106.23.173.245.150.209.228.252.222.62.180.93.143.150.200.182.76.119.140.239.205.15 -tobin:73883264784349702632503413711514594728450092072160898:0.197.120.251.47.105.95.210.233.70.183.8.43.3.136.2.36.106.51.96.215.206.130 - -# Conversion from binary - -readbin:0:0 -readbin:255:-1 -readbin:1:1 -readbin:97:97 -readbin:33.44:8492 -readbin:251.221.37.136:-69393016 -readbin:252.171.175:-218193 -readbin:10.29.60:662844 -readbin:7.126.201.178.194.84:8241131209300 -readbin:0.164.50.150.139.82:705223363410 -readbin:249.85.93.215.161:-28632557663 -readbin:248.82.49.135.113.248.93.82:-553325346410701486 -readbin:255.44.181.214.111.112:-907482337424 -readbin:16.242.85.39.8.167.15:4770047168390927 -readbin:13.146.28.245.9.6.65.57:977875907836789049 -readbin:12.176.210.8.21.16.215:3572115845746903 -readbin:26.84.86.186.243.213:28949534667733 -readbin:246.18.159.29.228.28.174.208.222:-183125616657544851234 -readbin:11.122.171.227.198.150.95.31:827162476353576735 -readbin:1.18.54.231.215.68.126.92:77184512995655260 -readbin:6.63.125.254.104.50.175.49.68:115255556962215997764 -readbin:2.241.135.110.149.175.144.125.232:54297489021590339048 -readbin:1.69.217.178.12.173.1.47.149.43.18.63:393928929335369918394864191 -readbin:255.11.225.199.59.30.217.134.166.120.200.174.110:-75550878255305302924368236946 -readbin:29.153.177.98.228.47.31.93.65.31.202:35784643040276670536818634 -readbin:181.212.112.219.201.219.43.162.130.153.141.251.64:-5876364928874055124010543482048 -readbin:27.100.137.45.209.201.206.212.69.137.217.165.34.250:555590330388726236230755046204154 -readbin:26.204.252.173.123.198.84.97.94.88.53.79.188:2123372635933612270094308954044 -readbin:18.105.6.21.0.246.144.164.13.115.91.8.162.190:373404212231777284568356947010238 -readbin:68.99.39.192.10.100.204.157.215.128.79.45.43.110.106:355087294263155005473388626149338730 -readbin:6.211.220.20.76.13.2.68.169.142.198.197.165.106.64.85:9075406350072985013229496898492710997 -readbin:1.169.172.77.223.131.135.137.86.71.95.134.109.237.158:8633675426061757629757850232155550 -readbin:255.92.154.114.175.151.49.93.18.105.200.58.156.24.75.180.180:-217191451486096670046812323372237867852 -readbin:5.42.198.7.200.110.201.64.35.201.25.125.64.230.98:26829035080908738042076334435395170 -readbin:12.78.240.46.160.248.51.247.149.232.48.220.205.240.69.151:16360606577002719669450329100985058711 -readbin:5.3.56.17.26.95.176.214.116.53.154.110.71.84.42:26026773591715017125540836707619882 -readbin:195.81.241.253.255.182.14.126.183.113.140.138.49.151.207:-315068060596719455443436752409094193 -readbin:16.31.175.15.121.161.137.196.26.125.240.115.59.220.1.85.25.55:1404578023533398209741079145277644921444663 -readbin:8.49.2.79.246.51.45.90.242.199.86.95.47.64.104.90.91.177:713575197074178787527618959331047471995825 -readbin:63.25.12.201.105.63.89.102.174.73.208.109.149.109.99.125:83871430502261490413450673851124769661 -readbin:15.185.188.136.198.40.60.46.152.22.161.146.105.88.210.253.87.232:1369887131891462493813741667459688172443624 -readbin:9.133.123.83.146.186.254.230.112.155.225.249.127.219.248.43.131.50:829432057166494966641315010911028795638578 -readbin:3.149.38.92.196.150.155.232.60.223.247.126.50.176.14.127.177.169:312089922808936140630879643949120224211369 -readbin:26.174.219.37.168.212.28.162.39.139.47.209.114.56.212.157.2.33.192.83:152333180111442438605972376130506110244327899219 -readbin:222.183.242.113.50.20.39.238.192.239.78.170.102.70.102.231.209.137:-2899223787613074281110944570982644571450999 -readbin:77.231.246.225.189.253.236.180.85.80.95.147.220.91.211.171.195.205.195.15:444765267932710530788173695233378407323077034767 -readbin:7.211.139.211.153.76.242.8.164.101.41.243.188.255.255.239.194.98.21.205.38.153:2928186048102542874310326072002539929893828809270937 -readbin:253.202.98.131.34.175.212.21.119.210.126.69.61.176.197.180.182.201.116.60.110.102:-826647521214480264223642441769570761615607819637146 -readbin:1.120.178.112.248.52.41.234.187.122.100.10.161.143.20.186.83.68.157.54:8400624623087855337736820815095169248114548022 -readbin:245.191.228.168.55.2.155.157.248.12.207.194.168.98.220.91.66.110.69.189.179:-14981001549924280586667180618266982428182337700429 -readbin:7.106.23.173.245.150.209.228.252.222.62.180.93.143.150.200.182.76.119.140.239.205.15:710160715229320560332911086106093153060357460087262479 -readbin:0.197.120.251.47.105.95.210.233.70.183.8.43.3.136.2.36.106.51.96.215.206.130:73883264784349702632503413711514594728450092072160898 -# -# -- From Tom Wu, triggered a bug in s_qmul(): -# -readbin:22.200.146.12.243.10.174.111.79.92.242.37.59.156.205.75.163.223.107.103.20.203.19.168.35.69.241.146.93.87.91.210:10305260085868809781027103920001537650251216529133196585936939957967423757266 - -# Conversion to unsigned - -to-uns:19:19 -to-uns:732849:11.46.177 -to-uns:2456939301:146.113.235.37 -to-uns:65221819301662:59.81.163.94.255.30 -to-uns:-844378241131209300:11.183.213.137.94.177.226.84 -to-uns:8570522336341023286325:1.208.155.227.240.84.37.160.100.53 -to-uns:57663995533253464107014863:47.178.211.118.41.71.211.74.100.90.207 -to-uns:290748233742495477004716839092:3.171.117.77.85.127.49.10.213.243.253.144.180 -to-uns:7769778759078367890498335721158457:1.127.20.101.49.86.0.169.68.4.237.33.216.119.57 -to-uns:46903702894953466773316183125616657544:35.73.83.24.98.4.211.124.18.69.32.88.95.142.132.136 -to-uns:-851234028271624763535767352077184512995655:9.197.141.78.121.20.132.41.143.246.59.33.126.2.92.102.177.71 -to-uns:-2609311525555696221599776451542974890215903390:117.1.109.101.2.62.220.206.134.57.198.156.134.252.135.230.114.144.158 -to-uns:48673939289293353699183948641914875550878255305302:33.77.214.236.147.20.12.74.7.55.12.207.229.43.143.81.121.102.216.82.86 -to-uns:924368236946243578464304027667053681863478587636492887:9.166.158.105.220.232.187.149.229.98.114.203.143.151.179.13.117.242.141.170.94.170.87 -to-uns:4055124010543482048995555903303887262362307550462041543621:165.97.120.89.181.168.202.95.163.0.0.6.89.126.141.209.204.168.88.165.194.166.83.197 -to-uns:23372635933612270094308954044673734042122317772845683569470102:14.139.121.201.25.49.14.230.89.139.204.223.141.232.201.189.74.36.63.100.115.152.44.110.42.150 -to-uns:382935508729426315500547338862614933873079907540635007298501322949:3.162.221.90.36.235.220.148.206.72.220.121.230.47.59.194.10.29.105.64.171.5.133.101.247.195.168.197 -to-uns:6898492710997158633675426061757629757850232155550392171914514860966700:255.225.26.217.121.147.85.123.62.227.155.115.151.17.14.226.20.151.216.70.129.251.123.127.200.253.229.131.44 -to-uns:46812323372237867852342682903508090873804207633443539517026163606065770027:26.126.173.147.234.225.62.206.132.172.56.142.212.124.86.139.56.123.128.83.59.140.190.156.37.116.71.8.107.238.43 -to-uns:196694503291009850587117226026773591715017125540836707619882023150680605967194:1.178.221.36.198.34.91.147.187.41.80.248.32.21.173.116.21.184.114.128.226.148.105.231.211.137.139.144.142.36.59.195.90 -to-uns:-5544343675240909419388140457802353339820974107914527764492144466356713575197074178:187.9.226.242.27.68.215.247.155.152.75.195.109.94.123.200.36.80.1.19.58.240.99.181.158.175.120.210.195.130.202.54.99.2 -to-uns:78752761895933104747199582531838714305022614904134506738511247696618513698871318914624:40.137.215.13.233.153.110.152.75.205.157.188.162.180.175.192.136.147.0.49.169.41.111.20.20.6.222.4.94.232.86.88.35.227.166.64 -to-uns:938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614:7.94.95.163.78.130.176.52.11.67.110.168.191.141.240.164.45.130.231.131.248.48.191.162.48.249.20.181.82.141.159.150.82.213.105.159.88.174 -to-uns:-630879643949120224211369280152333180111442438605972376130506110244327899219912899223787613074:19.91.70.129.236.212.139.74.185.0.218.23.135.137.133.202.56.181.112.58.173.172.130.179.124.221.173.55.223.123.126.130.88.154.176.35.3.43.146 -to-uns:28111094457098264457145099945444765267932710530788173695233378407323077034767182928186048102542874:13.41.35.240.41.168.225.145.107.18.87.253.43.231.202.150.209.215.163.157.127.252.45.194.199.62.14.60.97.225.213.204.55.37.185.133.79.239.24.46.26 - -# Conversion from unsigned - -readuns:19:19 -readuns:11.46.177:732849 -readuns:146.113.235.37:2456939301 -readuns:59.81.163.94.255.30:65221819301662 -readuns:11.183.213.137.94.177.226.84:844378241131209300 -readuns:1.208.155.227.240.84.37.160.100.53:8570522336341023286325 -readuns:47.178.211.118.41.71.211.74.100.90.207:57663995533253464107014863 -readuns:3.171.117.77.85.127.49.10.213.243.253.144.180:290748233742495477004716839092 -readuns:1.127.20.101.49.86.0.169.68.4.237.33.216.119.57:7769778759078367890498335721158457 -readuns:35.73.83.24.98.4.211.124.18.69.32.88.95.142.132.136:46903702894953466773316183125616657544 -readuns:9.197.141.78.121.20.132.41.143.246.59.33.126.2.92.102.177.71:851234028271624763535767352077184512995655 -readuns:117.1.109.101.2.62.220.206.134.57.198.156.134.252.135.230.114.144.158:2609311525555696221599776451542974890215903390 -readuns:33.77.214.236.147.20.12.74.7.55.12.207.229.43.143.81.121.102.216.82.86:48673939289293353699183948641914875550878255305302 -readuns:9.166.158.105.220.232.187.149.229.98.114.203.143.151.179.13.117.242.141.170.94.170.87:924368236946243578464304027667053681863478587636492887 -readuns:165.97.120.89.181.168.202.95.163.0.0.6.89.126.141.209.204.168.88.165.194.166.83.197:4055124010543482048995555903303887262362307550462041543621 -readuns:14.139.121.201.25.49.14.230.89.139.204.223.141.232.201.189.74.36.63.100.115.152.44.110.42.150:23372635933612270094308954044673734042122317772845683569470102 -readuns:3.162.221.90.36.235.220.148.206.72.220.121.230.47.59.194.10.29.105.64.171.5.133.101.247.195.168.197:382935508729426315500547338862614933873079907540635007298501322949 -readuns:255.225.26.217.121.147.85.123.62.227.155.115.151.17.14.226.20.151.216.70.129.251.123.127.200.253.229.131.44:6898492710997158633675426061757629757850232155550392171914514860966700 -readuns:26.126.173.147.234.225.62.206.132.172.56.142.212.124.86.139.56.123.128.83.59.140.190.156.37.116.71.8.107.238.43:46812323372237867852342682903508090873804207633443539517026163606065770027 -readuns:1.178.221.36.198.34.91.147.187.41.80.248.32.21.173.116.21.184.114.128.226.148.105.231.211.137.139.144.142.36.59.195.90:196694503291009850587117226026773591715017125540836707619882023150680605967194 -readuns:187.9.226.242.27.68.215.247.155.152.75.195.109.94.123.200.36.80.1.19.58.240.99.181.158.175.120.210.195.130.202.54.99.2:5544343675240909419388140457802353339820974107914527764492144466356713575197074178 -readuns:40.137.215.13.233.153.110.152.75.205.157.188.162.180.175.192.136.147.0.49.169.41.111.20.20.6.222.4.94.232.86.88.35.227.166.64:78752761895933104747199582531838714305022614904134506738511247696618513698871318914624 -readuns:7.94.95.163.78.130.176.52.11.67.110.168.191.141.240.164.45.130.231.131.248.48.191.162.48.249.20.181.82.141.159.150.82.213.105.159.88.174:938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614 -readuns:19.91.70.129.236.212.139.74.185.0.218.23.135.137.133.202.56.181.112.58.173.172.130.179.124.221.173.55.223.123.126.130.88.154.176.35.3.43.146:630879643949120224211369280152333180111442438605972376130506110244327899219912899223787613074 -readuns:13.41.35.240.41.168.225.145.107.18.87.253.43.231.202.150.209.215.163.157.127.252.45.194.199.62.14.60.97.225.213.204.55.37.185.133.79.239.24.46.26:28111094457098264457145099945444765267932710530788173695233378407323077034767182928186048102542874 - -# Conversion to small signed integers -to-int:0:0 -to-int:399392010000012093849283940182938492839481928349823984:$MP_RANGE -to-int:-29381082039841029384018230948203801985928309481203984:$MP_RANGE -to-int:-25:-25 -to-int:101:101 -to-int:-1235:-1235 - -# Conversion to small signed integers -to-uint:0:0 -to-uint:1:1 -to-uint:10:10 -to-uint:-15:$MP_RANGE -to-uint:101:101 -to-uint:100000000000000000000000000000000000000000000000000:$MP_RANGE - -# Tests to trigger off-by-one bug in computing number of digits needed for string -tostr:99999999999999999999999999999,10:99999999999999999999999999999 -tostr:9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,10:9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 -tostr:832136388736902947561088644572239329432528812529007215254079045034263648726187965907662527121488680217097287175564480588901672671661161,10:832136388736902947561088644572239329432528812529007215254079045034263648726187965907662527121488680217097287175564480588901672671661161 diff --git a/polly/lib/External/isl/imath/tests/div.t b/polly/lib/External/isl/imath/tests/div.t deleted file mode 100644 index 36a4831d408..00000000000 --- a/polly/lib/External/isl/imath/tests/div.t +++ /dev/null @@ -1,963 +0,0 @@ -# Division tests - -# Tests for error conditions - -div:102233,0,=1,1:$MP_UNDEF,? -div:0,=1,583922,-12345:$MP_UNDEF,? - -# General division tests, verified using GNU bc - -div:0,847887705,0,0:0,0 -div:80000000000000000000,25,0,0:3200000000000000000,0 -div:65000,25,0,0:2600,0 -div:800000000000000,25,0,0:32000000000000,0 -div:-4,58,0,0:0,-4 -div:36869,818935,0,0:0,36869 -div:364,921,0,0:0,364 -div:5169,898,0,0:5,679 -div:#x100000000,#xE424,=1,0:#x11F42,#xD2B8 -div:-6144,15855207,0,0:0,-6144 -div:680441,-8247,0,0:-82,4187 -div:-31218529,577983165,0,0:0,-31218529 -div:3,6280,0,0:0,3 -div:-2,39790,0,0:0,-2 -div:-310,611711,0,0:0,-310 -div:46573596,6038351,0,0:7,4305139 -div:4525534,39110,0,0:115,27884 -div:5938,7789378,0,0:0,5938 -div:19732849245693930165221819301662844,18446744073709551616,=1,=2:1069719901075515,6029073732495380604 -div:9,456578633,=2,=1:0,9 -div:538090499,1858,0,0:289607,693 -div:572,3804550,0,0:0,572 -div:288850,21164,0,0:13,13718 -div:-5190106,34726,0,0:-149,-15932 -div:7795,72811,0,0:0,7795 -div:781579692,-5,0,0:-156315938,2 -div:781579692,-5,=1,=2:-156315938,2 -div:781579692,-5,=2,=1:-156315938,2 -div:453020143,-3473628,0,0:-130,1448503 -div:8,853320290,0,0:0,8 -div:852316479,2925,0,0:291390,729 -div:8,5,0,0:1,3 -div:859848,9,0,0:95538,6 -div:70,48,0,0:1,22 -div:253385147,659538174,0,0:0,253385147 -div:-455686878,87344,0,0:-5217,-13230 -div:28271,635389,0,0:0,28271 -div:-86,2692,0,0:0,-86 -div:8591158476,73,0,0:117687102,30 -div:9082,275389,0,0:0,9082 -div:-582874,74264,0,0:-7,-63026 -div:237,4104,0,0:0,237 -div:7076150589,92653,0,0:76372,55673 -div:28665011462,-1272,0,0:-22535386,470 -div:-8056787359,8082209,0,0:-996,-6907195 -div:53192266,900107,0,0:59,85953 -div:91513,740,0,0:123,493 -div:-98721211,8015090320,0,0:0,-98721211 -div:11450,-36952886107,0,0:0,11450 -div:13925193,949882,0,0:14,626845 -div:683469315,-73092992,0,0:-9,25632387 -div:1164719,42872,0,0:27,7175 -div:-83594243092,3591081825,0,0:-23,-999361117 -div:87138285,266592788,0,0:0,87138285 -div:936091,704216,0,0:1,231875 -div:142238814011,709885571028,0,0:0,142238814011 -div:580,-60286,0,0:0,580 -div:5794931,-5726480,0,0:-1,68451 -div:88764678929,-2091175751,0,0:-42,935297387 -div:950181713208,-13449,0,0:-70650733,5091 -div:97846262,387939152,0,0:0,97846262 -div:32321004,4640815041,0,0:0,32321004 -div:9059,24970299,0,0:0,9059 -div:-223020,974872432,0,0:0,-223020 -div:628713585932,70889408675,0,0:8,61598316532 -div:5404031582279,-4343762403,0,0:-1244,391152947 -div:-27687,92528708054,0,0:0,-27687 -div:71252,-444744751915,0,0:0,71252 -div:2821624059,830276221,0,0:3,330795396 -div:77957,604211270,0,0:0,77957 -div:4336867764,377604023491,0,0:0,4336867764 -div:-1183882,537011618,0,0:0,-1183882 -div:7224227137658,26159,0,0:276166028,11206 -div:40420610021,29600662602,0,0:1,10819947419 -div:-53857,7190456320,0,0:0,-53857 -div:9365,85703,0,0:0,9365 -div:84454441,7874100414786,0,0:0,84454441 -div:-692,-92802,0,0:0,-692 -div:-31682292914,2103996,0,0:-15058,-321146 -div:675174791229,617791,0,0:1092885,274194 -div:151503,-7352433026033,0,0:0,151503 -div:-5675649814790,-45077421077,0,0:125,-40972180165 -div:-259966,4211178684,0,0:0,-259966 -div:99243,8777962733,0,0:0,99243 -div:-603163384555,4331787866,0,0:-139,-1044871181 -div:602983,3355548,0,0:0,602983 -div:-6945091776175,64113609219877,0,0:0,-6945091776175 -div:637048330,39484763123,0,0:0,637048330 -div:-268774166,54251789102520,0,0:0,-268774166 -div:96621785,-44159202070842,0,0:0,96621785 -div:259095,798144185517,0,0:0,259095 -div:673478104612,6115944997,0,0:110,724154942 -div:64865142,-7529340145,0,0:0,64865142 -div:62901084202908,923068964,0,0:68143,395789056 -div:857311552,30222,0,0:28367,4078 -div:6646483,1292987,0,0:5,181548 -div:855267457921,77070194891856,0,0:0,855267457921 -div:930905,-429874001253,0,0:0,930905 -div:-82732,973702689,0,0:0,-82732 -div:7498877,33402368,0,0:0,7498877 -div:2891132,3009602159727,0,0:0,2891132 -div:-16580361,45469862,0,0:0,-16580361 -div:28811879,1156690,0,0:24,1051319 -div:681237481,42215447,0,0:16,5790329 -div:952119,65641,0,0:14,33145 -div:669100,32909317724335,0,0:0,669100 -div:406354444955,4811582310504,0,0:0,406354444955 -div:-87218901,5441737753,0,0:0,-87218901 -div:262693,279060,0,0:0,262693 -div:950539838,98609240829243,0,0:0,950539838 -div:8061719120,-28536222,0,0:-282,14504516 -div:-3551675,11288323481405,0,0:0,-3551675 -div:3133528691,1315285,0,0:2382,519821 -div:1588170591121,9023526203,0,0:176,29979393 -div:1709754910,343280090631449,0,0:0,1709754910 -div:7694474,6311674489334,0,0:0,7694474 -div:285071476,771758808364462,0,0:0,285071476 -div:4473571504184,5027949393624517,0,0:0,4473571504184 -div:-314089112111113,-8919383,0,0:35214219,-5804236 -div:919605168565,-857045700084,0,0:-1,62559468481 -div:-2803909388714,46792205688194,0,0:0,-2803909388714 -div:-864476,-809506582,0,0:0,-864476 -div:157477674603,932718332239208,0,0:0,157477674603 -div:-86938062350,44113358240184,0,0:0,-86938062350 -div:7332602805,35651734,0,0:205,23997335 -div:40677613,7075290162,0,0:0,40677613 -div:6636106412767060,-388484912,0,0:-17082018,153254644 -div:9453362014,-644867786149524,0,0:0,9453362014 -div:123163311944389,-16324640549,0,0:-7544,10223642733 -div:55603403145688,-51970044763,0,0:-1069,47425294041 -div:-54436610546,-9254821627256041,0,0:0,-54436610546 -div:34541223746384523,408005019,0,0:84658820,283766943 -div:23462284247353823,2661546,0,0:8815284142,350291 -div:417392442148,-30391736401961,0,0:0,417392442148 -div:-718458863,-73668989433156990,0,0:0,-718458863 -div:-1215789,25426915315,0,0:0,-1215789 -div:8299846204145462,9023932210324,0,0:919,6852502857706 -div:-82615892630,85109462984880568,0,0:0,-82615892630 -div:828237348372,822759132224411,0,0:0,828237348372 -div:35003657,287087229590,0,0:0,35003657 -div:741329413510689,600380266222,0,0:1234,460164992741 -div:-454795890210,66807881739,0,0:-6,-53948599776 -div:442416942,-79456387864,0,0:0,442416942 -div:7067406608460,507872176187,0,0:13,465068318029 -div:57674203676661022,3315186364,0,0:17396971,2642557578 -div:-6677233842,881012314,0,0:-7,-510147644 -div:828372724537918527,2204184463,0,0:375818239,1222097870 -div:-97445457356928,3845827480,0,0:-25337,-3726496168 -div:644919922824665106,692147849,0,0:931766130,174110736 -div:-54599915326211,-274657876971100,0,0:0,-54599915326211 -div:3507375128,373578606,0,0:9,145167674 -div:19124901,485472050038835999,0,0:0,19124901 -div:687842561,49925524361,0,0:0,687842561 -div:193224391137090311,84335903540,0,0:2291128,41131297191 -div:388138056,66626944,0,0:5,55003336 -div:-656523898932,84101085851135799,0,0:0,-656523898932 -div:86004003567986,713613577148692,0,0:0,86004003567986 -div:7992270343,87209595913499289,0,0:0,7992270343 -div:-890969253231921,739402045213270955,0,0:0,-890969253231921 -div:6345032414365,821532347711110478,0,0:0,6345032414365 -div:-2988926571013999683,766437559276027,0,0:-3899,-586527396770410 -div:-15464671727416040,-618822744180643,0,0:24,-612925867080608 -div:21542413221581,-12802725163,0,0:-1682,8229497415 -div:210193665939,3964410139763307,0,0:0,210193665939 -div:-79273337971,91480286016,0,0:0,-79273337971 -div:6859567649816379680,-89417752889,0,0:-76713710,85837971490 -div:4244108501419250,1773608945178,0,0:2392,1635904553474 -div:-7873175456557395,-541450782136,0,0:14540,-481084299955 -div:2898452653,8240117642629,0,0:0,2898452653 -div:-8585567176400751363,39056741283,0,0:-219822926,-27546697305 -div:4923064817310182,488568656518880796,0,0:0,4923064817310182 -div:3946741285053501,-8922249541453011,0,0:0,3946741285053501 -div:438914382542168,98348892578,0,0:4462,81623859132 -div:257824992496,-9594074905801512,0,0:0,257824992496 -div:6213773111135227489,251684062660,0,0:24688782,155248147369 -div:-851789213354610296,395154960128827139,0,0:-2,-61479293096956018 -div:234318209260,31123149038286353070,0,0:0,234318209260 -div:243854015291982,52511298700,0,0:4643,44055427882 -div:7259566528156,6524807428024562671,0,0:0,7259566528156 -div:-887488809078966765,845297673812,0,0:-1049912,-637771662221 -div:65325904373281379,40360887138954,0,0:1618,21988982453807 -div:85548880813,9240276773237567918,0,0:0,85548880813 -div:7737568342993115224,69017119565996596,0,0:112,7650951601496472 -div:-2862875578129,87167074447,0,0:-32,-73529195825 -div:48121669474016423,812759701293155,0,0:59,168847097720278 -div:-82120995972822350,9793327794599,0,0:-8385,-3942415109735 -div:96669753363716639,3137138094734,0,0:30814,1980112583163 -div:44554701178616,52377515472783262637,0,0:0,44554701178616 -div:12903174971697,577437337389558244582,0,0:0,12903174971697 -div:38970472084822,-12255774904287,0,0:-3,2203147371961 -div:-371784186042,36063372236212364134,0,0:0,-371784186042 -div:-5423240799687893943,69598779690234855,0,0:-77,-64134763539810108 -div:78261697698230901561,532057670838,0,0:147092508,494031019857 -div:-867163311151035436254,1681644368464785,0,0:-515663,-1531175379008799 -div:425847772644293,726262561530005,0,0:0,425847772644293 -div:623414319659742,26868506006719423291,0,0:0,623414319659742 -div:3999344581644,6784937040418183244,0,0:0,3999344581644 -div:-418166904889870721653,99856664384501754791,0,0:-4,-18740247351863702489 -div:4737717701335,43868455388327,0,0:0,4737717701335 -div:-170318802370599286974,88681362021061351331,0,0:-1,-81637440349537935643 -div:-401236499756120675284,617234855370415616,0,0:-650,-33843765350524884 -div:8507669577483416,1708320712715767,0,0:4,1674386726620348 -div:-779872398090729,9483722067689467,0,0:0,-779872398090729 -div:-6974404749995800334378,88119801211272782297,0,0:-79,-12940454305250532915 -div:1644424212644083246063,6570040442718779,0,0:250291,2220195557331374 -div:380529423855576,-66584160392695795292,0,0:0,380529423855576 -div:-59486508603350002,3049574533592654270009,0,0:0,-59486508603350002 -div:4670852164286,194818165100985439247,0,0:0,4670852164286 -div:-9242375894510748,427966685403010,0,0:-21,-255075501047538 -div:-2547406540907066001,9156772267145703887,0,0:0,-2547406540907066001 -div:41045576141401448,295376215711793,0,0:138,283658373174014 -div:-8596645367243,618616563342036461,0,0:0,-8596645367243 -div:-8190662465572761,4614103375660380354519,0,0:0,-8190662465572761 -div:13625026664287920203,962611652006092322040,0,0:0,13625026664287920203 -div:-140239543538185,-36750209483049,0,0:3,-29988915089038 -div:19272745315539563545972,4913276356215789258,0,0:3922,2875446461238076096 -div:81488845695775561589,6137038314233733147,0,0:13,1707347610737030678 -div:59682455708892,188993136701455,0,0:0,59682455708892 -div:-45017621011770980,5037281596391885620833,0,0:0,-45017621011770980 -div:12784502496583369914436,66775897063651761451,0,0:191,30306157425883477295 -div:69627779066297453,44437721988866612,0,0:1,25190057077430841 -div:-9837326629633299,980665943940704469610,0,0:0,-9837326629633299 -div:1548374752880296357809,-3696277363166782287,0,0:-418,3330815076581361843 -div:-708439719674935281,5147784263606738,0,0:-137,-3193275560812175 -div:-7570135590104019,22684260196955,0,0:-333,-16276944518004 -div:7197857209654848797343,5395261067987895097519,0,0:1,1802596141666953699824 -div:42034917537094135582,97988383165721711085970,0,0:0,42034917537094135582 -div:231126155949672582,9057297455411228,0,0:25,4693719564391882 -div:-911497664257321106698,-18662736693873,0,0:48840514,-11481903135976 -div:64066981598227998719,731669238473176,0,0:87562,559739039761807 -div:35960724694947949779,-747063649911230162,0,0:-48,101669499208902003 -div:624879014956928,17179603356281093930126,0,0:0,624879014956928 -div:-3559399723529186749748,153806520430475822650,0,0:-23,-21849753628242828798 -div:-375790972015605,113007880734109473,0,0:0,-375790972015605 -div:-8787548671098011,8921111513701891873,0,0:0,-8787548671098011 -div:-4332240904268358207600,202327025748990,0,0:-21412072,-61385130400320 -div:9234628706335936400446,65579862120113054437,0,0:140,53448009520108779266 -div:-598537435499087,-2334884709153191798659,0,0:0,-598537435499087 -div:-8778093680300813378318,-5335331111760467,0,0:1645276,-1450067999274426 -div:834964892558660,4731312923556947,0,0:0,834964892558660 -div:697663848949724,16714097460480423,0,0:0,697663848949724 -div:660124536913505493,-400393621100679,0,0:-1648,275849339586501 -div:67401867410433679076,433247521397462506,0,0:155,248501593826990646 -div:-3192841130293725192,94067632460761922343048,0,0:0,-3192841130293725192 -div:-888171986451016091961,61046771373537922044313,0,0:0,-888171986451016091961 -div:5413476093760118894,436643671457387927452325,0,0:0,5413476093760118894 -div:3390818445571570,71193890227980923543296,0,0:0,3390818445571570 -div:3709278299197858947885,622346666342073,0,0:5960148,60492485241081 -div:61046636418932697473,752452096310648123,0,0:81,98016617770199510 -div:-9490582336573659,6796700304740895609,0,0:0,-9490582336573659 -div:-6770091537873296360125723,894260210116688124412,0,0:-7570,-541747289967258326883 -div:8265260740385351513048054,-37568692482712647407307,0,0:-220,148394188569083440514 -div:29941612974211919398,17117150207877877221595,0,0:0,29941612974211919398 -div:904565427385797381401147,732377327803549406181,0,0:1235,79427548413864767612 -div:828695336330867,665449887430200916,0,0:0,828695336330867 -div:583964043448404224,-159103379771833684164472,0,0:0,583964043448404224 -div:68659884135230073,3794043309187845772,0,0:0,68659884135230073 -div:-19577883397074285891599,89166539289139219809001,0,0:0,-19577883397074285891599 -div:47123114739550322,81879863505548403487,0,0:0,47123114739550322 -div:2081796666654613977139,-5323946267713561205491896,0,0:0,2081796666654613977139 -div:5580573071674875331019254,48049594740533118,0,0:116141938,18394751853316570 -div:-827318924045362735,6765606250148903029558502,0,0:0,-827318924045362735 -div:74355428058748494058359,-21632036475261687692382908,0,0:0,74355428058748494058359 -div:-704818230891696889912403,4179012972972804984179,0,0:-168,-2744051432265652570331 -div:54203012886802530,8642657915176877761716,0,0:0,54203012886802530 -div:99602518405709989487439,181452400672924186,0,0:548918,29533129791156691 -div:669551881716343753,65924540094419185740265,0,0:0,669551881716343753 -div:17773767489747228176421376,99265471480253104908,0,0:179052,86290264949236434160 -div:68861552761996536283999,3032962718342296259044166,0,0:0,68861552761996536283999 -div:-13017342749140884149199232,79805947528944429,0,0:-163112439,-988735239546901 -div:-846660807407559032521972,77200873303583960046,0,0:-10966,-76030760457326657536 -div:20732670221446843791112897,158830667623944099,0,0:130533168,938387893737265 -div:87479614966913872614027,-20093149492209048359,0,0:-4353,14135227327885107300 -div:815811689877913117,-96853054749489063852925232,0,0:0,815811689877913117 -div:88424170141166441101228,41882896205789554161109080,0,0:0,88424170141166441101228 -div:8907792217571919630,1822019507410919085762,0,0:0,8907792217571919630 -div:508794162072510930223084886,-69410487054586064946,0,0:-7330220,21655243065234616766 -div:7560829661415328254781,71577097034806313439,0,0:105,45234472760665343686 -div:7451615053542910305,1115867448037197150640,0,0:0,7451615053542910305 -div:1420226199720665341735779,832064548724686659546,0,0:1706,724079596349900550303 -div:-389977371089920999571936723,8114703647013040404,0,0:-48058116,-1916145250323817859 -div:675206408971175566604,36474013799024907341535694,0,0:0,675206408971175566604 -div:-502561109202609111272,-414660684126386698299,0,0:1,-87900425076222412973 -div:-7443609476960080458698600,-92469297206353960522,0,0:80498,-15990442999344598644 -div:24688964911945445107348,-799787361463460092976944,0,0:0,24688964911945445107348 -div:74622389634816941348941747,361423050927986753697692,0,0:206,169241143651670087217195 -div:57087631963106216588129,60933956374125435992007156,0,0:0,57087631963106216588129 -div:24667793118599351096874664,944711324818117322023856,0,0:26,105298673328300724254408 -div:564352217106369256763287,81622332712601232269,0,0:6914,15408731444336855421 -div:-419643083493336850638945386,-90994516601676379,0,0:4611740346,-16619082369458252 -div:3968897352690734435372,22251724057784007850845,0,0:0,3968897352690734435372 -div:657621764031152559636,1284248378184585349838990,0,0:0,657621764031152559636 -div:478747162724364955902006,88051418458918816631123,0,0:5,38490070429770872746391 -div:6665622554429783258955137608,694490725232295413492445192,0,0:9,415206027339124537523130880 -div:739043574063917325584775,6568858167203582304319770218,0,0:0,739043574063917325584775 -div:488239617545415130712260,-175755600464230772602,0,0:-2777,166315056246275196506 -div:-45020591983716715,29238208588753924571931348,0,0:0,-45020591983716715 -div:7127560906474483695,2443668648642679038,0,0:2,2240223609189125619 -div:56992002738244984812189281,5608720362174497796029,0,0:10161,1795138189912706738612 -div:6460467352419769344150698,317411399503484718457,0,0:20353,193138325344869395377 -div:-932907356818921691594434039,-97184909630029367110035347,0,0:9,-58243170148657387604115916 -div:3995705323622443163782,89030590085262709211588,0,0:0,3995705323622443163782 -div:767569373426935379750,1549154787571680632324257,0,0:0,767569373426935379750 -div:931318846320283067427330537,-86130685020277950106,0,0:-10812857,65883975492678017695 -div:31826303162303263286188,5737442550621928753,0,0:5547,709334003424493297 -div:57706427262137233402480,76482797550886260948017,0,0:0,57706427262137233402480 -div:72853807229779038632,3169975417424853790892514721,0,0:0,72853807229779038632 -div:656860988961860702860500038,2051614607117987332942,0,0:320167,1695044716052434458724 -div:419136122263611128595,629629147994291589835819893,0,0:0,419136122263611128595 -div:21718233877577237636870231772,28954985957426921952977486934,0,0:0,21718233877577237636870231772 -div:8137115583255366542038482,-53056312894008476008,0,0:-153367,28043639968602119546 -div:350144503855608500819,279913875130875757713464,0,0:0,350144503855608500819 -div:67536193348303696626965587175,157462565791912473045994827,0,0:428,142215189365158163279801219 -div:-6653909716122388287977917,-456461036794945909189066,0,0:14,-263455200993145559330993 -div:37893238038459578489871345783,58476986428077111625242,0,0:648002,33879092754002491279299 -div:9750862793806595478546835,831707298467569713898,0,0:11723,758133871275722520581 -div:82929154752623245294293,793446150807998771837734747,0,0:0,82929154752623245294293 -div:966515993017183338978310,77669990894453129707640,0,0:12,34476102283745782486630 -div:158090994204861340057333,31910675611432229121455470549,0,0:0,158090994204861340057333 -div:1330572162878429717062,21084117694617750279966598211,0,0:0,1330572162878429717062 -div:832245616705658749585054836,-6079221966362676227357795958,0,0:0,832245616705658749585054836 -div:-566340281799124821634,146366719895661144175,0,0:-3,-127240122112141389109 -div:4970340520764553911461,91205816337394717102255090410,0,0:0,4970340520764553911461 -div:3278473198323030526681,2105717666245284028185,0,0:1,1172755532077746498496 -div:2122422503626206527321754,17148805521927416661130,0,0:123,13119424429134278002764 -div:1912021218223919631352475809,38185948805565948914414505595,0,0:0,1912021218223919631352475809 -div:941796603263493070268724375,444845019508763781185108406,0,0:2,52106564245965507898507563 -div:104754716329414707284533930,43667472164404259911976738073,0,0:0,104754716329414707284533930 -div:89122706354696915439758538,31455209252293039108428126,0,0:2,26212287850110837222902286 -div:118480448597792962897533,67244410472175197017373,0,0:1,51236038125617765880160 -div:352695831583961620878034763371,8582622957634803011445036406,0,0:41,808290320934697408788270725 -div:-624005759812006640839,8172000984425101361637221854,0,0:0,-624005759812006640839 -div:7384400794640347039203,-628293484000022806320912136,0,0:0,7384400794640347039203 -div:-2828685708623719356215,7634212328177549702763918762,0,0:0,-2828685708623719356215 -div:-86550506492571342719558,666034531900739098444599,0,0:0,-86550506492571342719558 -div:642452648202950019476496886617,604805196719437392366385471,0,0:1062,149529286907508783395516415 -div:4662456248509569207839,-33567555776748285848111,0,0:0,4662456248509569207839 -div:62996041896426933131446657891,763936004120034809021339118482,0,0:0,62996041896426933131446657891 -div:8345367673768217736530,3642617362546668617513754,0,0:0,8345367673768217736530 -div:-84451394313979740929245775,1334835508641575600458674242637,0,0:0,-84451394313979740929245775 -div:1176029794050678765470272286249,40628825039402391375029153,0,0:28945,28453285176547120053452664 -div:7707482263998465479379,-2829972969411199798203141,0,0:0,7707482263998465479379 -div:-11136894339272544791100807454,67013816338042624404219,0,0:-166188,-2229685917126612460282 -div:-428729652188276782322695284232,-774565897177367154457859446208,0,0:0,-428729652188276782322695284232 -div:626676530287556077206017712837,908674926870287524187734,0,0:689659,688897120453562229270131 -div:2773148741407028218531427,557528937606955521382821134,0,0:0,2773148741407028218531427 -div:75539539184325529932345561314,-502273785664131486016696176,0,0:-150,198471334705807029841134914 -div:3606180022705211288777456393,122973836595862158705454565,0,0:29,39938761425208686319274008 -div:-30856676793350414230630,38692347037119733077452,0,0:0,-30856676793350414230630 -div:28070532442085800846842,6911568634505880039237117,0,0:0,28070532442085800846842 -div:94746783288740489316741633573,86780043180255118744681,0,0:1091803,71804408409905942683730 -div:-24888475865091602999453808074899,-2607720766137261712927817388,0,0:9544,-388873077577211270718923827 -div:53207047214418054977598334400421,4391350648985919720756952364,0,0:12116,1442751304651640907099558197 -div:944627096784739396211350732172,47554680361438235326247368315,0,0:19,41088169917412925012650734187 -div:90507814687564826997063490,263428140883010973433496,0,0:343,151962364692063109374362 -div:40830360719924046206003172846797,289018741615486979391301844046,0,0:141,78718152140382111829612836311 -div:46815309089103159131589670878273,844714076577304483690089137,0,0:55421,410251112367341001240816596 -div:766097719529863726042659,864954870692483641146857,0,0:0,766097719529863726042659 -div:36588837904828449995291554992448,5981291437419281216117821938,0,0:6117,1278182134706796298838197702 -div:744905055097349284759083504,-402232162933870784393172,0,0:-1851,373321506754462847322132 -div:-496174511680228005426626189898,6850190505814392535531175627173,0,0:0,-496174511680228005426626189898 -div:117807976873474930026716,72472466715338440688738889,0,0:0,117807976873474930026716 -div:29688886500382323149926912509,171231756792519788711530194,0,0:173,65792575276399702832188947 -div:95600026518374000257859,99155834015695214013381,0,0:0,95600026518374000257859 -div:947283711638216525748681460035,375183675933541675266484,0,0:2524853,81906386026327073533183 -div:41432664026918887246001356,89293848269510580767075145704,0,0:0,41432664026918887246001356 -div:347133325715091646723859014383300,8007256671477794251698509596618,0,0:43,2821288841546493900823101728726 -div:-72131155022320848089529987358,607237864853852225127081848,0,0:-118,-477086969566285524534329294 -div:52607679919645038811433035271755,-86393659667162016384842618430,0,0:-608,80334842010532849448723266315 -div:507690908006392398957998748,2764904388542893841465155862,0,0:0,507690908006392398957998748 -div:65723044947927998584588839362573,-414671665541745655865677654655,0,0:-158,204921792332184957811769927083 -div:58581181220230933312243002393,727812383468376773626369395972,0,0:0,58581181220230933312243002393 -div:55621061599265643370130457,75058109335016054327498821167125,0,0:0,55621061599265643370130457 -div:8042490680681402413656869107,985374040566072816763255884821,0,0:0,8042490680681402413656869107 -div:205865392688566277909245217913157,188746850681839171579701059,0,0:1090695,146384137702663123171367152 -div:645469876768555458540596006480343,-1176209889279660120170867010701,0,0:-548,906857443301712686960884616195 -div:-372748268475137934411499506,-6952751051457138928077564508,0,0:0,-372748268475137934411499506 -div:-53726448220098738825476944862,666316374954612779881255280093902,0,0:0,-53726448220098738825476944862 -div:3999043104096914451698824,53972081370928852391234278,0,0:0,3999043104096914451698824 -div:6875840365821778484266515548732,-48235349383818088293481585385242,0,0:0,6875840365821778484266515548732 -div:464946247859367335487708854577230,-91038566114714256247221434416,0,0:-5107,12290711521628833148989014718 -div:774638812953340934130134234932,1781076313255841252742417918164985,0,0:0,774638812953340934130134234932 -div:181439807984506382551684665,983773852096178563301436779,0,0:0,181439807984506382551684665 -div:-16817917749776745039099453680,29825644384864912855101360,0,0:-563,-26079961097799101677388000 -div:22133214432524045001245001353,-198976752808774771294935518769806,0,0:0,22133214432524045001245001353 -div:2921499120428770523924215,57361572214425723589097781,0,0:0,2921499120428770523924215 -div:123171649003149782751271079,-73094968897222766037958236983376,0,0:0,123171649003149782751271079 -div:769172117059026460908975826,97495810773186124439901474,0,0:7,86701441646723589829665508 -div:94112063717361782849247888341,9764365600045726199272325886020217,0,0:0,94112063717361782849247888341 -div:9469809875854665598033283678676801,13423826176729482294685830678,0,0:705447,11970959382501694048484373735 -div:-842464855184253146889699,56551832462429857048225522,0,0:0,-842464855184253146889699 -div:598571783530686410412162091727492,943878487966896512387279950152,0,0:634,152822159674021558626603331124 -div:6953911548504792867117243682880,-1243290077624733705142673151816,0,0:-5,737461160381124341403877923800 -div:-9281561117131091717433858956,24045037010263371696747810870864,0,0:0,-9281561117131091717433858956 -div:143976137737540251569359185478383,265536580911922810877928898030231,0,0:0,143976137737540251569359185478383 -div:40928612217108238156488248958516,652899471410195581619563697,0,0:62687,303052817307731502659484677 -div:-70884981920443005098389267,994979502748896336180903347917699,0,0:0,-70884981920443005098389267 -div:6634749014277303650696175833,495438828683857357740137178054,0,0:0,6634749014277303650696175833 -div:7422909929360831470432375670687378,44420776675922024505687379448537,0,0:167,4640224481853377982583302781699 -div:46314400055365971953154263039,8152799875814716360460312147,0,0:5,5550400676292390150852702304 -div:6591812486274558813658703427,17421702938564211067047963695822,0,0:0,6591812486274558813658703427 -div:124008796997131146663153333663944,123778079237035114605937158,0,0:1001863,119198477435638705314738590 -div:7901064786124799043739659032,5571379890858077238984496202525017,0,0:0,7901064786124799043739659032 -div:-6965802504602789618852220893,639736224353884761032877844589149,0,0:0,-6965802504602789618852220893 -div:971873099542038287548098257,33891065268003504765508649367,0,0:0,971873099542038287548098257 -div:675025802085588841328307981424510,5883130258364185867146732282508,0,0:114,4348952632071652473580501218598 -div:3002202702401536393223671580,32010263936497485071510555,0,0:93,25248156307270281573189965 -div:34972912833617921349910233,474530829196480379440614753566093,0,0:0,34972912833617921349910233 -div:276535788922741466724367182792751,-9977731202427442856055105791931326,0,0:0,276535788922741466724367182792751 -div:14688056569711843047315045,33632661368158430395335244297,0,0:0,14688056569711843047315045 -div:-879571497507836359459742179631,46691865250496831422027355865479980,0,0:0,-879571497507836359459742179631 -div:494117042357580878818138056,29316968901414007402594292795459,0,0:0,494117042357580878818138056 -div:1256269358576514580546391822558882,-5715622931835594771199373401675,0,0:-219,4547936504519325653729047592057 -div:-7954432693582559842284447426278,-1415175992700551307691498753891217,0,0:0,-7954432693582559842284447426278 -div:9290637525511632506517536450,31193173758140935479273605091020135,0,0:0,9290637525511632506517536450 -div:741965597318745797468077425593,5090853342489379493387893,0,0:145744,4267770973672583752348201 -div:28726807242801656618422278445,-66260445037131724567939080371803922,0,0:0,28726807242801656618422278445 -div:600680612706025211965401567803,601606994582634974447563159467,0,0:0,600680612706025211965401567803 -div:-66914527546382741959361703369956,7595234786937152212557447828,0,0:-8810,-509073466430966730588005276 -div:-477200248767482289180868434831103210,299754033389841609330851428,0,0:-1591972736,-104820787767789757788436202 -div:1602055237860095405473195539557021,-482613481963019529862911261825616,0,0:-3,154214791971036815884461754080173 -div:5847782734638264086149188726633444,856996324395574391409855532415801398,0,0:0,5847782734638264086149188726633444 -div:79271780305017072764462340,334727107872141024597713303,0,0:0,79271780305017072764462340 -div:-8309528822503909832876248028239283,-280321240085800591419535364757,0,0:29642,-246623880608702018380746112289 -div:-7036110366628173318660022670592,28316814714059617609323292157,0,0:-248,-13540317541388151547846215656 -div:948009776246268508005837034128,9919518492899054009114568949283,0,0:0,948009776246268508005837034128 -div:18836117763174709382287464458,-95991422838941512823432481785039,0,0:0,18836117763174709382287464458 -div:46329535017445104282274302989008943,2426057049787109955278434918171122342,0,0:0,46329535017445104282274302989008943 -div:297935043427322209379153089088,5013180436585374804022483003677803281,0,0:0,297935043427322209379153089088 -div:-118750521055580916050992218218817,60015490720625049417386142837,0,0:-1978,-39880410184568303402427687231 -div:575684179239053603789472576628353,7053037456193336012438564397416,0,0:81,4388145287393386781948860437657 -div:-22678246623112702170004970988490199,56088891589189424871010131732,0,0:-404326,-49442422098769608928465817567 -div:6471427876906983381994784223,7282306840714785835314255152341703,0,0:0,6471427876906983381994784223 -div:603142728037804458149682405206,-650651299197030110194378722974,0,0:0,603142728037804458149682405206 -div:95931851622486456387293188404091,30758076059621180125667261744973187,0,0:0,95931851622486456387293188404091 -div:-726881908942360166762114252209703,363140012331598428300964292698,0,0:-2001,-238744266831711731884702521005 -div:615441001400268210176031416893518,64796591895996509835103891278541,0,0:9,32271674336299621660096395386649 -div:-84863286321984569539608600726350943,95803928515186040910470967405915312,0,0:0,-84863286321984569539608600726350943 -div:127629355200690947978534550183,797344806129236668518995114759425,0,0:0,127629355200690947978534550183 -div:2288916268196725535426416610805794415,4632856553925567389796050303893057,0,0:494,285130557495244867167760682624257 -div:976908939861250135603632878187851391,-6608040757199335387091406901838035,0,0:-147,5526948552947833701196063617660246 -div:-12183790198926859582276525192366339,3503085624005426351029343283863,0,0:-3478,-58398635986733396469251090825 -div:162265381015355009933791722345838,7623537904684559645894301151112382716,0,0:0,162265381015355009933791722345838 -div:-593766143424589564713907089125639,224331769330731597387481028255128,0,0:-2,-145102604763126369938945032615383 -div:604869729619335696245226863211466041,93942209533557682128293773108407,0,0:6438,69784642291338703271551939541775 -div:742895297953619211242501957373791,531142018450802021651202332570,0,0:1398,358756159397984974121096440931 -div:27653047597891730507139754824,5480890077990244820355276983606,0,0:0,27653047597891730507139754824 -div:3784487646863079978435416373977,694796147453752363831293132728,0,0:5,310506909594318159278950710337 -div:2973223272105672225946453215625903,19361627619874023404230915287,0,0:153562,13011542577443945945402323609 -div:245900231135215525853387549499,-7177692471091872136903418261273,0,0:0,245900231135215525853387549499 -div:9997981965333038339861175645427,-4045879607573312864719096965459966764,0,0:0,9997981965333038339861175645427 -div:6806842983457720589405220668623962,-927052066456609430942182858322,0,0:-7342,426711533294147427714122823838 -div:-122270014267619817663497887649323141,-2162707234463692663424997827917303191,0,0:0,-122270014267619817663497887649323141 -div:-73410057200050892585310982601,-2781563564880350086545084449330,0,0:0,-73410057200050892585310982601 -div:41074074074626336295845220577523,73580647879659031572628791338989878719,0,0:0,41074074074626336295845220577523 -div:38518920335521852358928552909455,934752467373574138232063654381123270465,0,0:0,38518920335521852358928552909455 -div:4300545050696782443239516173845124,-9078020631753897849258060104921396,0,0:0,4300545050696782443239516173845124 -div:9125102035522831694438174632387280948,14030892071253083076166776508287771,0,0:650,5022189208327694929769902000229798 -div:10049229592281672286226252965830,-947015519470033748849687371329705317719,0,0:0,10049229592281672286226252965830 -div:74199952025194030063111669270731296,53730729670173947678290654632594,0,0:1380,51545080353982267070565877751576 -div:62962644403023975314385553509953336,18661881999119919255366397124335,0,0:3373,16116419992487666034696009571381 -div:-48885268599530160005042589357517742267,1224963343286960109782754733806,0,0:-39907535,-1103588784380283462421739114057 -div:8260532189465861184106347872307,8068023378797368816499164870542708410,0,0:0,8260532189465861184106347872307 -div:-873293644410280888333970242222255556855,-53468033733881855748079429886216144,0,0:16333,-249434788538400588913890687276903 -div:8118527378780784121252739484687134,7449409022714146507892440406735208908,0,0:0,8118527378780784121252739484687134 -div:28529491283005611559168619648453262781,-883723803503785940933815830371,0,0:-32283266,663961158020941954801575391095 -div:899559711064017522862617539102500,-566535897303370911043077254061825,0,0:-1,333023813760646611819540285040675 -div:15574337293150371571515035679594790928,-55555266615224096139156320494291715,0,0:-280,18862640887624652551265941193110728 -div:4585681465427957919096525629579,66250889555016187900342661335447207,0,0:0,4585681465427957919096525629579 -div:740366425347027728645955294884621471,-8981847007405192941035608249485839462,0,0:0,740366425347027728645955294884621471 -div:995741708152482543471981480782324347091,21342276145547465497291491758534,0,0:46655834,15123660154109622191683793959735 -div:-3250628989112846425058431588079956,188350448043333903099558871335715,0,0:-17,-48671372376170072365930775372801 -div:876756580410958121101100042110445,700377806984105935223010779109492,0,0:1,176378773426852185878089263000953 -div:273777021637125264614902200521817247,5596822025834012700584044296044,0,0:48916,2875421428699353133089736528943 -div:-464090250274653177412801749314226,331074623300822560323451165878,0,0:-1401,-254703030200770399646665919148 -div:396075925225537300206063956732379,43995671606762821537409289353046922,0,0:0,396075925225537300206063956732379 -div:-18658324380438997683615076571716,5092778408442460759386491384527084996615,0,0:0,-18658324380438997683615076571716 -div:-3965312367885757866883408465644,62732726984931603243998191276757746,0,0:0,-3965312367885757866883408465644 -div:18384490431288410418670437084794892,251064583418108672333112094297258,0,0:73,56775841766477338353254201095058 -div:5162911931645462592809376061314438,276766756569293637905979057590818,0,0:18,181110313398177110501753024679714 -div:8135417534757202149267580550442399,57219388491890904146726624261571751057,0,0:0,8135417534757202149267580550442399 -div:182770016919229728734188047616685,-40885421527209929308823628618058876,0,0:0,182770016919229728734188047616685 -div:92048299381294008029880374643382,11111217138310865417953673269446,0,0:8,3158562274807084686250988487814 -div:5200981870655088437520091813182496782,8050665661143383427978138223450564832,0,0:0,5200981870655088437520091813182496782 -div:756533369514441505798425699358577956,213131801093410029221386684045445047,0,0:3,117137966234211418134265647222242815 -div:799371912191908595027684426426504203412,17112684578666430604042990191541053858717,0,0:0,799371912191908595027684426426504203412 -div:1298725911189943981172370165599649,65794189885654690328812265324475773,0,0:0,1298725911189943981172370165599649 -div:860525228612860972598185202071685976152,151574827288199259902280707159394761797,0,0:5,102651092171864673086781666274712167167 -div:3584182117338772880305442381515310406513,415718227605762773246300051378162,0,0:8621662,71682816997193200587950163461269 -div:3468267249506034567392210570575412440358,2065367734321219422680254672539,0,0:1679249264,1757779312273888004381735679062 -div:50367071916831078065713924791723412318,65724451969804512659247548060987947789728,0,0:0,50367071916831078065713924791723412318 -div:79874071719000306927937931805669,6145217682421427626924604560525904590,0,0:0,79874071719000306927937931805669 -div:423797068560673311763985503147656006,69667145306964427593061472412068457736722,0,0:0,423797068560673311763985503147656006 -div:41523275633578269444354516606248777741194,-694978110274856348249211949536413124775,0,0:-59,519567127361744897651011583600403379469 -div:-87407113783597425860610212435025646,22427444695442827429769682014306,0,0:-3897,-7361805456727366797761625275164 -div:-5398995964042513456203407110806239,759328487523337723297727841375739581,0,0:0,-5398995964042513456203407110806239 -div:-486450683665060870587027665253017864,98034404319738594732566595585128,0,0:-4962,-3969430517963524032217959612728 -div:82802462159510025179539722591174489656,-7995658647747583535810574975199511344136,0,0:0,82802462159510025179539722591174489656 -div:-9247518837150320354892251517725,95037788396291796059988855373871527896146,0,0:0,-9247518837150320354892251517725 -div:-5710350451928497877474611321475359,884522303455599132933755693677751985,0,0:0,-5710350451928497877474611321475359 -div:-6247471877283545360155543727272765071,675373004151999159209581260366203727893602,0,0:0,-6247471877283545360155543727272765071 -div:549120950829660962410197911937811,48123906347804179379843793292937012521427,0,0:0,549120950829660962410197911937811 -div:-106448127960021997407899520808890,9065012874636494312839056387435045253097,0,0:0,-106448127960021997407899520808890 -div:69560159021211857117768649206402791,351520915367913488351778070201730208854,0,0:0,69560159021211857117768649206402791 -div:603624320694634013723571987622589,2701844331050375027455889272518786,0,0:0,603624320694634013723571987622589 -div:67014256406500009956329723823638317486,-1091809123530714597985512683792998,0,0:-61379,104213308278646576940805107893244 -div:235637292979855521853832255322576,-189051691838200548750099363324518519845,0,0:0,235637292979855521853832255322576 -div:46621760725175766077357844382212912326,382903788461287808084560177696868561667,0,0:0,46621760725175766077357844382212912326 -div:17972807610345735075506894651990254671255,55415225623081699101048670679962759717300,0,0:0,17972807610345735075506894651990254671255 -div:-99369177703763557258065488925907194288158,6888487468349330333818924437618675770942,0,0:-14,-2930353146872932584600546799245733494970 -div:6974086110297401606708008289033796059,298190885369602196463446343967843,0,0:23387,295874158515038017388642657851818 -div:22082353893401399289701395360491738,34004577923140732261317680713467602,0,0:0,22082353893401399289701395360491738 -div:3021321469279908093607775280467343863,54418828629265035058612376701138652,0,0:55,28285894670331165384094561904718003 -div:-773023736068095185985747288307356,62254616741081128985277622196480901,0,0:0,-773023736068095185985747288307356 -div:-2914004549648558380597177821180027971982,41945684266123534509905568470747536706,0,0:-69,-19752335286034499413693596698447939268 -div:7760354325840316590533609759835164008896,868363194633558774643668133661139838,0,0:8936,660818594835380317791317439218416528 -div:62481824056284557813538132809580514163491,3063406952822650811300655756477238,0,0:20396187,2989413594030548244777844306671985 -div:999032777586519798809642100185769791083086,53063722362186015952243063915405514648,0,0:18827,2076673643676476761935850430166805190 -div:1470131951969797494200280446936328952439,-985834190529311083948780402821210768,0,0:-1491,253173890594668032648866329903697351 -div:695257822575467619322639555633582443264,6467796678447835413755920250534956,0,0:107495,2018625717551520946908302327348044 -div:34431866058056304430649293119014790521,-66121478435132244087535870280208408759829,0,0:0,34431866058056304430649293119014790521 -div:458534877296422067611914397253412590469,229983379105475980155252782290948271559418,0,0:0,458534877296422067611914397253412590469 -div:2185065840509747880280098827050369,-23363950333069346956170201374188305,0,0:0,2185065840509747880280098827050369 -div:660127414048214811857806676633782977984,64123543109305824067686258949394280427,0,0:10,18891982955156571180944087139840173714 -div:748036409612739266280596599738236249637,-89094948094100676872295250639398845430367,0,0:0,748036409612739266280596599738236249637 -div:9049727473118706892393777842066328396165263,3856651773197697798307166289847038513869,0,0:2346,2022413196907857565165726085176042628589 -div:980189895420499303642948634803744800389758,-3190314421704305860902855244770982859,0,0:-307239,882810490075245016292255552797773457 -div:6108171433112534565184964245024814724366,4260996317082295106607737650284809362606641,0,0:0,6108171433112534565184964245024814724366 -div:358196359808272615858599795581371458918250,9543484816419438536292482064209522533404722,0,0:0,358196359808272615858599795581371458918250 -div:44482449128693269579458765976093879533678,400743721350983175894244132476709300635,0,0:110,400639780085120231091911403655856463828 -div:832339795151923812236511477767777941,2368224477252854985783540371974941967671687,0,0:0,832339795151923812236511477767777941 -div:-27251313242004640465020477977011074115415,2399123426123186914483922523780597130907,0,0:-11,-860955554649584405697330215424505675438 -div:434369443368140265771072488323999183210887,7582603002573727151808563609276596120660,0,0:57,2161072221437818117984362595233204333267 -div:-797664602996630747189073160786968930897788,8488149668482536480367533655921312940145901,0,0:0,-797664602996630747189073160786968930897788 -div:59063238214543857057620510112580247310883,28114133320457432516252314750546246,0,0:2100837,26711994025902474545948986923502981 -div:1573691164802147334879722389254185849497882,-7127075045154454822615337483298105005772756,0,0:0,1573691164802147334879722389254185849497882 -div:-40379721983479963451044525213342063379,5752617301360961501951105993116579979599761,0,0:0,-40379721983479963451044525213342063379 -div:-66553094204238345681366812314746973,179491260943660304940853680122139916257,0,0:0,-66553094204238345681366812314746973 -div:41557707370513928375878448109901883,632935174723424546856310964927309397,0,0:0,41557707370513928375878448109901883 -div:87216666974663503011714591959065214272591,-362212517956666997849487067083877113331,0,0:-240,285662665063423527837695858934707073151 -div:600930802118279524585230000011936249444105,276956438642688260499397309603052638,0,0:2169766,138070288388354494697143759139301397 -div:-9062026573948610573181435477111972535105632,26459705612915075584081819752039455108,0,0:-342484,-756815003826842757521154491791897360 -div:17653370013085499100472199530821555711,-7698383733180213420749857647904028433762549,0,0:0,17653370013085499100472199530821555711 -div:30662369693082036358310810281385879664,22236287546685236318100930067052020060194,0,0:0,30662369693082036358310810281385879664 -div:-512521060439171480106970932632563580,89514481912211104455621084880967327358452,0,0:0,-512521060439171480106970932632563580 -div:21086477798868875028201033077501739509,-32949987996179141109692270028847703801843,0,0:0,21086477798868875028201033077501739509 -div:-708751005350456170908462092345570661,20771494122418135637231294901492781698,0,0:0,-708751005350456170908462092345570661 -div:4761140473028193547540165802031057658,6168913684826084448506253549769822795,0,0:0,4761140473028193547540165802031057658 -div:1006721746946704053236444265263223831,-68339952093888456017995310177868766706,0,0:0,1006721746946704053236444265263223831 -div:49477930040212907700651237822802690917,932149775404881165633388914278605445476133039,0,0:0,49477930040212907700651237822802690917 -div:191141779546296204030941021563218099367,3656389331006196783212925046242222356116162,0,0:0,191141779546296204030941021563218099367 -div:52321773961113824095699208419101883834511175,3945419458824649179733387424219698232106948,0,0:13,1031320996393384759165171904245806817120851 -div:1778145454400348709637901904657092758,878609889134331105537302232981688580,0,0:2,20925676131686498563297438693715598 -div:74713594237827753439495191401245889889,5392802592936410381907322733518534312,0,0:13,4607160529654418474699995865504943833 -div:270095098083877602963826744218949767,47636389981971696673999931157764182609,0,0:0,270095098083877602963826744218949767 -div:7520391039221099182471773929113536857,381897415343050691905932641495648269699614,0,0:0,7520391039221099182471773929113536857 -div:63508808128380210731820150543656327585,-616515868713883945771114329692765309888882,0,0:0,63508808128380210731820150543656327585 -div:500726636417051241894505979036450257584284510,-2188106361907716060317149708820198851710,0,0:-228840,376558089498651529439670035952358968110 -div:9644202180018661897773323824784604735459,889341707658332087101739860527895964627301119,0,0:0,9644202180018661897773323824784604735459 -div:2169616399713342398130612752657502922,-320164160717395068313105728380324945,0,0:-6,248631435408971988251978382375553252 -div:-5377162725601993828110678056377142779006,55796345170536010537794307342731868052,0,0:-96,-20713589230536816482424551474883446014 -div:2037294950563567811082451474155649111,2834014022081568485840663386191616163,0,0:0,2037294950563567811082451474155649111 -div:614981246208238240735840654289003858288,59358494220000869333484696079415051563764262,0,0:0,614981246208238240735840654289003858288 -div:-869974954402953214631782702522562619117445900,461625972083775526198257072077692914743043,0,0:-1884,-271622997120123274266378728189167741552888 -div:502948632448506662993366487259075217376090892,42616114515034714091468739214068502864104,0,0:11801,35865056582001999943895793852815076799588 -div:6366779403200391484287273535628255514,82250958048563873223556347205141650947263970,0,0:0,6366779403200391484287273535628255514 -div:23811157225570913409830665082241103895611,7476929574668972035850358498197955282806,0,0:3,1380368501563997302279589587647238047193 -div:4433024520272083942063140827835336668419,-6814734610056822899976511626133696026724,0,0:0,4433024520272083942063140827835336668419 -div:968786326198881698061088417967223975939,599601873015338765622213846860944593816,0,0:1,369184453183542932438874571106279382123 -div:9195492262506042027630313206086692630450795,64887542474450141869346719067771980637953781,0,0:0,9195492262506042027630313206086692630450795 -div:167036152523476713010727258508768159942500,515803210529897970656947678674520384659564747,0,0:0,167036152523476713010727258508768159942500 -div:8138478748257408221805876607659300558448,49661986735515173743313027014090079675,0,0:163,43574910368434901645853204362617571423 -div:59222143484521909529262811142486420090033691,-51030363360606792052118776207857821648905144,0,0:-1,8191780123915117477144034934628598441128547 -div:-467669865565641334900015053005237790,-4166801708575196388168955453453946582052,0,0:0,-467669865565641334900015053005237790 -div:77373277085707339767125359451768440817535,1763315960012269607653138271304663086,0,0:43879,736076328961652913305245191129266941 -div:55495442705704588053146646518531149753186,-5663458625155167579301715514248517944795126414,0,0:0,55495442705704588053146646518531149753186 -div:488849922299811997818757217594597733202150566,939685030270889494431285974083671162411745,0,0:520,213706558949460714488511071088728748043166 -div:2400821515253609347478984845179365395392,174683346240076973534036449659865563554754338,0,0:0,2400821515253609347478984845179365395392 -div:94256886099064494671287831080381327786727083,933612219301830695726258097049775646275143622,0,0:0,94256886099064494671287831080381327786727083 -div:423105830682881413387057917631404228266134,257145583503215058907245918993287651344,0,0:1645,101345820092641484638380887446041805254 -div:9725239973027586290174961618324279259233,128059695274170533356219539907244279505,0,0:75,120762827464796288458496125280958296358 -div:8575857564646639781619620979013176021242222,-79327770769273229627122866232866675878,0,0:-108106,49577863588019549876402042891158775154 -div:8813097514151610923608219242438159700407184937,7989256671292882171963354392382046005647066,0,0:1103,947405715561887932639347640762956178471139 -div:-4220854853661426119955083509997540633581226963,-3143361547579787840091976435701544993088232,0,0:1342,-2463656809350838551651133286067252856819619 -div:18064088683968825697348480535147810355871,5304724916018022284963666250494765425823768215,0,0:0,18064088683968825697348480535147810355871 -div:668152482128694155192224637784736382693510,-95257956151627868536527340956566505149833532,0,0:0,668152482128694155192224637784736382693510 -div:61701221596016091555562189539716738900156785,-204037550501076287029400288051994390707,0,0:-302401,62286940121281584513032505583155969278 -div:9028974806172994844965393599047382592,34693980268705780311458320694963675758359651,0,0:0,9028974806172994844965393599047382592 -div:89063698366423052530435721631252853122745595691,-559482379459044468566903354300289497747749008,0,0:-159,106000032434982028298088297506822980853503419 -div:-1824554464595257659941777994663246309941052,73623748997742382675661945460325724770677,0,0:-24,-57584488649440475725891303615428915444804 -div:-55142421317035129657275321126826228423017036239,28826110399433506733627712523209314338730651,0,0:-1912,-26898233318264782579134782450019407364031527 -div:756782070286814928506227576085403683630,4000214993529718974257266487592194977145045820,0,0:0,756782070286814928506227576085403683630 -div:13159677289487357602217280155496420963004939,767301253318942647744497962442472942956,0,0:17150,460795067491193399140099608009991309539 -div:-88187589231094865339990742097539889292776818,510825751942051438265912944524438114392912,0,0:-172,-325559897062017958253715639336533617195954 -div:489109845016577010833075435898092017791090,110123269200994712057868031610104395461351967,0,0:0,489109845016577010833075435898092017791090 -div:19217131883780524110230989478044970954979,970929416394097229812264700944439582834558,0,0:0,19217131883780524110230989478044970954979 -div:24527357215769113990068349908153315315362058,-266862918096402442472122404915934028297493384268,0,0:0,24527357215769113990068349908153315315362058 -div:187180335008792237327827003721933462481,-854140420436008308741513900838309996093,0,0:0,187180335008792237327827003721933462481 -div:545261221970766906869881791377703238778715469,-8788464536650499527970204831752102396425142510,0,0:0,545261221970766906869881791377703238778715469 -div:-8978883239491077969334655758351790550761758569,404693816228247849601154967878424829635,0,0:-22186855,-219438296026172022653503521227250310644 -div:1672482949489286830657071584694755544154,-16569314415512041409298987093228138867183570,0,0:0,1672482949489286830657071584694755544154 -div:774730270533571544207396913338620375028137352997,48786260906229317422119214339872570992323,0,0:15880091,7792907516676258376772939019266087811604 -div:8223377606023157629124739253629162465167167,520715840696524916222797841353549481506911,0,0:15,412639995575283885782771633325920242563502 -div:19134961218524422663618095601519767611971718057,3320597299770542518684500859989485655905,0,0:5762505,2675610172546986065973326056572390876032 -div:9685331182266568794457591582614487872504040,213566802520062116223869626405725301078500,0,0:45,74825068863773564383458394356849323971540 -div:59252244414367138020160608470582658601544,-3576888946047794041513522160303428731243100275,0,0:0,59252244414367138020160608470582658601544 -div:9042130790289921021769539257940643994441439005,7080061253408914683252703075136834100504476,0,0:1277,892569686736971255837430990906848097223153 -div:37181356995874904748900986598480003983051,519027821181254318600589595065858229824972513884,0,0:0,37181356995874904748900986598480003983051 -div:4809573571268875241068163376639283894303,397857290741686940249008741474516933138008,0,0:0,4809573571268875241068163376639283894303 -div:57672160438267186781489366189915687528444846039,4311847164079124929339394059428992929411,0,0:13375279,1613350112775719684954110326408545415370 -div:8624907898892313136658244150578480770110291,18756723497726238453263886656453055357901904440,0,0:0,8624907898892313136658244150578480770110291 -div:4229153408642008158454182552166239580124743197222,723306877996286799790273745169628337170848,0,0:5846969,515510937124971245462645522951165247237510 -div:6302453408140626668691370469108993823368172,-26870693985061276927685322296318387971972897857,0,0:0,6302453408140626668691370469108993823368172 -div:-26183394096110224783461710144582526395666,8931365187310300822957876202988418128476294,0,0:0,-26183394096110224783461710144582526395666 -div:1337734304086488205388200603174151745237404,-37555196523265867970637056819130422860022,0,0:-35,23302425772182826415903614504586945136634 -div:1394934047175944473993592421680155397883435756719,3316595803755393152259408400413331925963184238,0,0:420,1963809598679350044640893506555988978898376759 -div:-3923445604156694953553293681269071976204126084324,-2385865039714571024603149142302411580843310590047,0,0:1,-1537580564442123928950144538966660395360815494277 -div:-4666574422365035446555661286742673507442477825880,6511395679936223490637275038009230986077915234,0,0:-716,-4415115530699427259372359528064121410690518336 -div:25682320341721789029990750876038989350503,2075225204575110735785546638041462321365144552208,0,0:0,25682320341721789029990750876038989350503 -div:507066551593936721924672174902109570507318,-90150385867099161583728850458645628165485311877,0,0:0,507066551593936721924672174902109570507318 -div:56460765920562193755877284769059649453013,106293089508542656937426290853822589311742,0,0:0,56460765920562193755877284769059649453013 -div:113389347059878790962060029189435317366606631,9123943931303946176502291145148092536746735300,0,0:0,113389347059878790962060029189435317366606631 -div:90965037743938985628689890077906379958065298745,355159479956085299356917050991168761100055,0,0:256124,171099666594416198867309844272190074811925 -div:-165340776845080586286334926027619556728505,4315813260375908780045944338058657645416510920831,0,0:0,-165340776845080586286334926027619556728505 -div:9675893678882076470951813438529414802324809,-49138410559062258960736821789190923818163376047,0,0:0,9675893678882076470951813438529414802324809 -div:52196020861900342939093799976830869614855,898691237498364401852494744239741816001653191,0,0:0,52196020861900342939093799976830869614855 -div:546701462352913231490095779602087905799659,27796772128829838971566803617855813694963277,0,0:0,546701462352913231490095779602087905799659 -div:-239361790908041495849499565651036682869595828,59582341264073879085346989042621623014587677976339,0,0:0,-239361790908041495849499565651036682869595828 -div:26247208631803295885744522675941429011719441867,94578293352355651122868883826971735945985150768,0,0:0,26247208631803295885744522675941429011719441867 -div:7151462784689393204933488144237700308252236907106,4869138896069717850331723402637093025616552,0,0:1468732,2675587124367180075367635717394552387255042 -div:444179011665054388522294113788022095382753092,87809235040601661387269133961569114730886240155,0,0:0,444179011665054388522294113788022095382753092 -div:9396002262631352355829080408353148431716175837629,627009066609807681311137500374921292105192019668,0,0:14,617875330094044817473155403104250342243487562277 -div:-67404859652885739843969210485993809184078129851,46946911826310720654816125341841364822782750,0,0:-1435,-36041182129855704308070620451450663384883601 -div:-857317750867775465958757317203227431120067,92423921722813825213538574566017075976934245071208,0,0:0,-857317750867775465958757317203227431120067 -div:-604814342197174902063835288834217421426135297,30987537976824612265560882867080135947080229,0,0:-19,-16051120637507269018178514359694838431610946 -div:537582514919678675297229509855601144545558,97995250751872994415105767317261578435382881110966,0,0:0,537582514919678675297229509855601144545558 -div:39007116647886661941726367331622958240358112679,-5144176915242189162509107363545822402755422,0,0:-7582,3967276520383711582315301218532782666503075 -div:720186514683083735071865829645724624020144283905,921875961665713476662472782679559347600188961,0,0:781,201388622161509798474586372988773544396705364 -div:4925300524276512099528492538263141469746686350,-21746080565844400504762758043901034656358047765835,0,0:0,4925300524276512099528492538263141469746686350 -div:5966000116741864064364725002160835848207074879,452383546194102189149587219685512801821102583315,0,0:0,5966000116741864064364725002160835848207074879 -div:1730022951574373079411594826626220707013971004,867119495065650306148038934759853852208599,0,0:1995,119558918400718646257151780312271857815999 -div:565379733109542105910214574424401953032077613,51059839129853759630343322732850868439955821491756,0,0:0,565379733109542105910214574424401953032077613 -div:380859104711500390575977473068323845888716252660,6180121353081961565969801679654221330060450855,0,0:61,3871702173500735051819570609416344755028750505 -div:68068921222429620875809588817152460375197553199,70847310210650369483877621724938884574632970327227,0,0:0,68068921222429620875809588817152460375197553199 -div:-722057802895969286253197273768040930277501,24306448094583832291685007488076569960645346636,0,0:0,-722057802895969286253197273768040930277501 -div:317592535736773933828600449815426639893020969423190,-93086204599568503148872348535005098881410913,0,0:-3411810,92021920119100246282360210893478434402340660 -div:611020260549327414799176188444349897969388695,3705943065234383781833374645394121853197511,0,0:164,3245597850888474578502746599713914044996891 -div:311597138605996430909903314778924265380533841573,900097580338833508210694004713940730225636589400,0,0:0,311597138605996430909903314778924265380533841573 -div:1471368037568797633184945517471946826925463570,-51986614090044718428104256857291140310189522,0,0:-28,15742843047545517198026325467794898240156954 -div:764577682558529028045406367446280331248422324968,3284529318538080158133345096780067681846690345,0,0:232,2566880657694431358470304993304629059990164928 -div:25345733340779680384223438130261035483720695,-4963832661075587414370207844502105067515360717435242,0,0:0,25345733340779680384223438130261035483720695 -div:9728219568997241790958216942026281594007662902,4830901363966824643813184028118279269292788953297,0,0:0,9728219568997241790958216942026281594007662902 -div:378990675295147250343254009937685278864098648256945,1608729233755427518873468676407616643664376791798088,0,0:0,378990675295147250343254009937685278864098648256945 -div:898267137520595727470006439782753575720539020,-10549538784345819645739254144254774260670381268575,0,0:0,898267137520595727470006439782753575720539020 -div:5995515572054268086933479746008640056780766451925,8030600055411670042494710011412948461403231,0,0:746583,6090884857231597651661557926755620958042252 -div:-29108480583332747319862771298993930146421704,1070825121844450385018502033657868394429345713,0,0:0,-29108480583332747319862771298993930146421704 -div:1309351864286127912492763722652139231241412,67215284518814518103811333196815587050385227,0,0:0,1309351864286127912492763722652139231241412 -div:5057770892603033060848565127774886456638357230325,4560833131311412489432012223910819044848375100332,0,0:1,496937761291620571416552903864067411789982129993 -div:633417011776645191559278275893992860044140785076,9267459276776555758115340080177517575774981964493,0,0:0,633417011776645191559278275893992860044140785076 -div:81198441395376013971576012512699341529160887275,7447901692377824339480278247455048336927582640790763,0,0:0,81198441395376013971576012512699341529160887275 -div:9051874321306026560005193316581192573940541867187,37537551211896722531771511300407567291038941024813,0,0:0,9051874321306026560005193316581192573940541867187 -div:2608213478636475749024179986585033501198860091868353,4860413071332838243659712432305837800300477,0,0:536623830,915784885941031884462459089442842973301443 -div:407598478820396357158686484143933270533665010845,4355992703916618082567359020934982484449368723357,0,0:0,407598478820396357158686484143933270533665010845 -div:630711778218873882494940824096903507347713330,57238514966674350042018295073350807282445218805,0,0:0,630711778218873882494940824096903507347713330 -div:93688378632955946315197302995234838965963790793683,3160654096505987021546437056562511465114160,0,0:29642085,1248727276013620984317459066303575325370083 -div:-2525656519498119353338247264242041272975381031,327276040767955818809485641052992513513655213981074,0,0:0,-2525656519498119353338247264242041272975381031 -div:66016468795885111884527337073458991710229978420,16320322768232010844919027662356786278707098868275,0,0:0,66016468795885111884527337073458991710229978420 -div:-2302712368656752027279644835027749767667073228557819,9316845119063833412338569173366972112730895383,0,0:-247155,-7513254530280253105770984235775145068780172454 -div:48838864669737321321234466529333448212306449830,-32564162155964258347156982593283846680395226572752488,0,0:0,48838864669737321321234466529333448212306449830 -div:-220645217365027594041560662624047120760954694026473,478332284603296206017913627846840038736821534931564,0,0:0,-220645217365027594041560662624047120760954694026473 -div:-72981125020238190928338132724424652132640002,39188164680782185128568299727848835374297549277320,0,0:0,-72981125020238190928338132724424652132640002 -div:848294406307295588337784985646050321749073734744419,1894284566269937543645699304914191326539279181,0,0:447817,1574693990967354998860017291904472233349746542 -div:88331621619959932308180786862825270799091494710705534,2178577739962310780960655130496700895938054790,0,0:40545544,2006897502197066182000445542767995672948349774 -div:-6856699040860275517650307648299585141626669701068,271009865938172922862180983261519271114664396,0,0:-25300,-149432624500569237128771783147582425660482268 -div:-88407824671930579360204282767163259115148101495,999762964506455261651611324045254876016161327250,0,0:0,-88407824671930579360204282767163259115148101495 -div:77210128389009986005731678815189051918123188603393,1004893588971319006745864695885807127204177369,0,0:76834,134373987661441419910771498947106517424633647 -div:297784613656392099571586950531714472282249229,38243230119670761105711715396092668555574825,0,0:7,30082002818696771831604942759065792393225454 -div:-35509945917648756037422888630539391852716391754248754,597284352710239029652457972715277271026334934549395,0,0:-59,-270169107744653287927868240338032862162630615834449 -div:801533871821359460893588251165565622439064765617,822025202425769092976017224921611946029366105,0,0:975,59299456234595241971456866993975060432813242 -div:-522010146755299559121351482887404344773949966,-3932667350437494585764045269025085811459344224177389,0,0:0,-522010146755299559121351482887404344773949966 -div:-58459624214325180544444869117416512994249719120541094,42099937836886376971951088854357470492133289729419,0,0:-1388,-24910496726889307376757787568343951168712976107522 -div:-253345562577317672511220652744246967807793182895907110,5749989880936090964050051849193062955356828797,0,0:-44060175,-2175044340819256659509727005208754118655047635 -div:929733472033240998779303334258721213318162598707,767612759141593942240674520830211174476840069251,0,0:1,162120712891647056538628813428510038841322529456 -div:964194291196691142924085838110342670268423649945,95195593030727305502485226537387747371662899678,0,0:10,12238360889418087899233572736465196551794653165 -div:-930824010798502796427972044794470458904018793646,59612624490118074742886336029812178788101136417100079,0,0:0,-930824010798502796427972044794470458904018793646 -div:4496931676886813794791418684601244183539575641824,17411178665119193136820706152905856572839870547600463,0,0:0,4496931676886813794791418684601244183539575641824 -div:-538173513290298732583524004704645684413620731176123,5191614740631357425621901873779740989648663178,0,0:-103662,-346046970959128706412664890173944661008818287 -div:645223072897535515198700423081805044495125969741938129,-4527829932821589910817760274407207149545929368,0,0:-142501613,4080777311682643434931455406859698817217867545 -div:99627943961043088669512673603139357672824609930416,466295743266513578268755141190344363951636566,0,0:213658,128046206330563766987646692761559645844511988 -div:8378463829762121913631626419465685262621092341,277603732177643189147101934156154702276101226001738,0,0:0,8378463829762121913631626419465685262621092341 -div:9842615010830513092601043514307725085136324358384,982829207195358411241726125114558021029115376,0,0:10014,563329976193962426398097410541062550762983120 -div:62320220612711436764404545275083408051364828569716359,29238061288213780350752248589890807799224738132935,0,0:2131,13912007527870836951503530026096631216911608431874 -div:-95796294809205390217092020218600576789023181059,165301144024373968274096547718999489219277029418,0,0:0,-95796294809205390217092020218600576789023181059 -div:87456781258209959765037687145068876793116934415493249,12068929953842578406244505715637579551016022265904027,0,0:7,2974271581311910921326147135605819936004778554165060 -div:4650729780737505464243409512735245030691695372618246,84864736041440063700547247893177477447164617313268,0,0:54,68034034499742024413858126503661248544806037701774 -div:-625358026462075054949936252035182773523079306781808,-7037095653882435960759081957329932874958248091338799,0,0:0,-625358026462075054949936252035182773523079306781808 -div:2568284414900282086629402504199999865573825319657504,5768783213527705673129403864116463929738223137152322675,0,0:0,2568284414900282086629402504199999865573825319657504 -div:21872791887330497853718749618057463060198347580531402,1324557936763556387760743907736237330887941028,0,0:16513276,1099563344481062563504290440813742452313443674 -div:-33663209218662096950671228753577152738857975888365,64455980252274430283628664249222461742909356825,0,0:-522,-17187526974844342617066015483027709059291625715 -div:897547639705131822906931936065160910250510030878007,5363864878695927157573012052790958211464944313132948910,0,0:0,897547639705131822906931936065160910250510030878007 -div:5009490811735999584822449253729050585733274306709319,2406843316925106774841027948556192949607544362335487460,0,0:0,5009490811735999584822449253729050585733274306709319 -div:26946852936100376197741904167965017845209833397099,308919640253848342394664627646584079095578466190402123,0,0:0,26946852936100376197741904167965017845209833397099 -div:1985893148050510215060586789904119885262534441,5866449806057188251900630030898916114586086296,0,0:0,1985893148050510215060586789904119885262534441 -div:5562239080137747796995442181907475991350284893459206265,156398892363409903713342341853412785128113829406,0,0:35564440,56612798080976501265602288199428588294379283625 -div:65178480098314895239449345070432724637440125039775,1290757832744933770056846180890168907973673153410496,0,0:0,65178480098314895239449345070432724637440125039775 -div:23657300680705528280619872949865464121904006372229057,54009346128207976631438579725539802296822123315,0,0:438022,18870935613940563883381325068840245386273546127 -div:2465896601579984309597565211236176792392608862458577021,-40289404326330144787151484318600863409012051557183,0,0:-61204,23899191274128044745765000529548307435258952748689 -div:4530895653520455283627656673385442171856783842314,-93233120674213574021733372853213159559027357138117667,0,0:0,4530895653520455283627656673385442171856783842314 -div:916112574807335146788888377531188026131378675176,967597859681274796485056494940030314717751207208858625,0,0:0,916112574807335146788888377531188026131378675176 -div:2836353387405193828295144729357504288167954496834813,-47750867938530360881039623534374164321838133495716184,0,0:0,2836353387405193828295144729357504288167954496834813 -div:888544290269727108571429100899398323213047387976643,232593764199419096127199419642853734112674182121501231,0,0:0,888544290269727108571429100899398323213047387976643 -div:-95528231285086139734583293340171808952248738222733284,793897402237626526946706417222476481392026422526754,0,0:-120,-260543016570956500978523273474631185205567519522804 -div:5037223546635984893254983907596574271648794864585,-135600768236385462209166458097331958573087149090026,0,0:0,5037223546635984893254983907596574271648794864585 -div:3597926907607703532951852295319420299540575082900605212,32397904521210638837288370977004776603517163371689911,0,0:111,1759505753322622012843116871890096550169948643025091 -div:2949870570599287735739111770944723963347077343574168440,13426005226039726224409657686289401061489856647303547,0,0:219,9575426096587692593396737647345130880798737814691647 -div:-6292945917085019054270321590350396947352956870846986425,341295410748594067077010194722238510564411359595737,0,0:-18438,-141133702441645504407620061763289566340222620787619 -div:576504230473861553261538972452278105135349421005,-435859823015036299275541119431403593387201588094,0,0:-1,140644407458825253985997853020874511748147832911 -div:513271751605046021061398181450246519536581003892,1804974737576433978846636236205909460681769870983,0,0:0,513271751605046021061398181450246519536581003892 -div:518565283589729505911763776861051767197425505162856,80256044584676536034995400588268683853363345693,0,0:6461,30979528134406589658493660247800820844928640383 -div:-8803453406819218000000306371196263081095678566028295082,-55765725990796735310893334087719738405325766157271534,0,0:157,-48234426264130556190052919424264151459533279336664244 -div:30910800403711655057148039026242334689849626271558314256,83948578597192063348545167380196449977141674761638849,0,0:368,17723479944975744883417430330041098261489959275217824 -div:49242996359867738984900367600384020935433157154372,2708783714074411929119022487862398012033030877105302717,0,0:0,49242996359867738984900367600384020935433157154372 -div:21379071756862143968426604961644165060562036140310,461158186026323145332549423710888480451753865883923090,0,0:0,21379071756862143968426604961644165060562036140310 -div:890497438806243182741322174370053431770114463163083,-553230364990398459699806691827737650133760743598577997,0,0:0,890497438806243182741322174370053431770114463163083 -div:3023647463972332206442886065358904974207929712372177354,954649340832479585995977185409104558411042237463566294,0,0:3,159699441474893448454954509131591298974802999981478472 -div:35489760963836552056324219511199170577078030263500,9911937794382297889765816250290479042378434631444578,0,0:0,35489760963836552056324219511199170577078030263500 -div:4135741741874158916022517640987066604514941788107532,-28163724964933933312984726177284380068495757852680949,0,0:0,4135741741874158916022517640987066604514941788107532 -div:545414705998769838413644038929944315836407586765492978003,40142701966897036750492630938275806447937324811027279,0,0:13586,35957076506697121451155002529209434731091882876365509 -div:75058649832069709510468311408895020488684235853480,-2888974200822060946807576793636547307530522265641548,0,0:0,75058649832069709510468311408895020488684235853480 -div:-66933551184377520017610837511897921700694960480368326,653887787579904832254964727311893728850303235046236,0,0:-102,-236996851227227127604435326084761357964030505652254 -div:2435629492619014604053848939625684854601784871657,-291893351983540450002470218001632642526157243983032264,0,0:0,2435629492619014604053848939625684854601784871657 -div:4353873124828196561972948174190449777941113312128,54820424043864696600903577780832618011158946935730643,0,0:0,4353873124828196561972948174190449777941113312128 -div:6563332558449452126564485551259042246419252988238165,698324403420861093632423144820174865039557171760521,0,0:9,278412927661702283872677247877468461063238442393476 -div:6651389855462289995786489027518276832180673970627,-491461095877924735369902036753617462691001210108931850366,0,0:0,6651389855462289995786489027518276832180673970627 -div:6927903135341590486179736781500384096788524701827,218829613953562480451106314783086433106706968172108955440,0,0:0,6927903135341590486179736781500384096788524701827 -div:545264621820945020606844611617845056531423301824882054149,875522645453735240583714479359375422140055663654,0,0:622787571,103319057246612448860090001299718413253014409715 -div:86684332448285178538540680259953842278268190530391877,1004758465343373611009533596159290181785288025548175925,0,0:0,86684332448285178538540680259953842278268190530391877 -div:-92317828450423143272179560065430627651793040689272,22070418041935886277960894290327131047538612473095276,0,0:0,-92317828450423143272179560065430627651793040689272 -div:7971256552090299009697202541746345670252715480656564528,201282600297357182844197939592816412476029915756077647398,0,0:0,7971256552090299009697202541746345670252715480656564528 -div:51609533271954429925110080029550304256694456133044809,485763884901242868745815971537580121006369686192,0,0:106244,35084506782578079607949511641880493715193261961 -div:55881591305337924534730793672599558668292512146650104410,2222509574710359486675225376172946110121737537397794673,0,0:25,318851937578937367850159268275905915249073711705237585 -div:19368449809775464181696546358821387683250538685332,24510908730652135218597094611704093063219507437128,0,0:0,19368449809775464181696546358821387683250538685332 -div:-2935049511482530629217049856269086660794528627329678715946,37471582465832914952060760873346941905859586735847868746,0,0:-78,-12266079147563262956310508148025192137480861933544953758 -div:36100788373557792247173517969159682950517798879230,5080501101336645920307905996377195554239168429725057140,0,0:0,36100788373557792247173517969159682950517798879230 -div:-619343993545565489581918826619755522056336720755028240,5722220737779420639556807213632172372985391133964,0,0:-108234,-5154212747676080127354659490977438635896761568664 -div:2214624479709129652867518274099800744215833156381,596426619358648105117142458022253139919252174606588,0,0:0,2214624479709129652867518274099800744215833156381 -div:5033621023669077052146401601213685801870950098584920712831,6799225107652133581418467714714131055036511563510,0,0:740322749,902228583435466263288772550060049562516909423841 -div:5358032037701639498140968139141468348228418868104,8558469544431829473340967206378658910509072615323310050,0,0:0,5358032037701639498140968139141468348228418868104 -div:9748963428125495559040360700047156483695054417931835757,89907138812423274211888428791450791283996367956807224600,0,0:0,9748963428125495559040360700047156483695054417931835757 -div:-37234857139625248358511007131249688678503673691725663734,-9768451005959695483831603140151504358763270636290461,0,0:3811,-7290355912848869628767564132305567256849296822716863 -div:14140350728384927368127641043017594043341305190489552,678387465698256214286200006608789600890351284725416,0,0:20,572601414419803082403640910841802025534279495981232 -div:16226406385251314022733101915283965938409231292486,-3756447461810096116929418499028120801376280771059460,0,0:0,16226406385251314022733101915283965938409231292486 -div:6545974979782747370293360546030862327851785067995680,-8744885285916351107220120754451051904389636789416979493,0,0:0,6545974979782747370293360546030862327851785067995680 -div:1152408063163445395815670313984522609667667839270597239381,95249480242199210996494814595420706184321580039151,0,0:12098838,32128876378241260984354491943697962902472875632843 -div:1690204685535914155988172971158586449220783297513957809,9929613337808118536737016690304412293482744573038,0,0:170218,5762400891834901871464168349997448737481780575525 - -# Division by powers of 2 - -divp2:6650822,18,0,0:25,97222 -divp2:-22,3,0,0:-2,-6 -divp2:626665862,11,0,0:305989,390 -divp2:382,7,0,0:2,126 -divp2:-8554783,11,0,0:-4177,-287 -divp2:80613086,5,0,0:2519158,30 -divp2:2476669303,30,0,0:2,329185655 -divp2:234993203,12,0,0:57371,1587 -divp2:78175,1,0,0:39087,1 -divp2:1092697,3,0,0:136587,1 -divp2:-51601200,8,0,0:-201567,-48 -divp2:-133,8,0,0:0,-133 -divp2:67494772097,28,0,0:251,117472641 -divp2:81070756,20,0,0:77,330404 -divp2:597,10,0,0:0,597 -divp2:-6061,14,0,0:0,-6061 -divp2:914736,17,0,0:6,128304 -divp2:5146181168,8,0,0:20102270,48 -divp2:908169,16,0,0:13,56201 -divp2:99131,5,0,0:3097,27 -divp2:828749,17,0,0:6,42317 -divp2:57934632020,24,0,0:3453,2905172 -divp2:374659,20,0,0:0,374659 -divp2:881062175551,18,0,0:3360985,123711 -divp2:8978255,9,0,0:17535,335 -divp2:-306454,22,0,0:0,-306454 -divp2:455535314,22,0,0:108,2550482 -divp2:-7013481097,8,0,0:-27396410,-137 -divp2:1902116776574,7,0,0:14860287316,126 -divp2:57980384,6,0,0:905943,32 -divp2:-6429952,10,0,0:-6279,-256 -divp2:-121080553817,25,0,0:-3608,-16163161 -divp2:9486785,18,0,0:36,49601 -divp2:-264976349260,22,0,0:-63175,-1194060 -divp2:-9957437441589,16,0,0:-151938437,-34357 -divp2:42280023,10,0,0:41289,87 -divp2:9445756856,10,0,0:9224371,952 -divp2:542833427595245,43,0,0:61,6271753240557 -divp2:-1989040985179,37,0,0:-14,-64895636571 -divp2:-842046065662,21,0,0:-401518,-1788926 -divp2:-36486783654,37,0,0:0,-36486783654 -divp2:12161238,12,0,0:2969,214 -divp2:522437544246,12,0,0:127548228,2358 -divp2:5771713949080,24,0,0:344020,16100760 -divp2:-192975675937641,21,0,0:-92017972,-1921897 -divp2:51399227509,40,0,0:0,51399227509 -divp2:76781489061746141,15,0,0:2343185090995,21981 -divp2:624421287579358777,15,0,0:19055825426616,5689 -divp2:585792449987,17,0,0:4469241,93635 -divp2:64111034807,16,0,0:978256,49591 -divp2:-4872049514614819145,60,0,0:-4,-260363496187431241 -divp2:-513726738058624,27,0,0:-3827562,-62639488 -divp2:-5129414645415250,35,0,0:-149285,-21103148370 -divp2:9777073958585027,20,0,0:9324144323,950979 -divp2:4917705257,31,0,0:2,622737961 -divp2:9309157350108809,25,0,0:277434508,16969353 -divp2:549889891480003,40,0,0:500,134077592003 -divp2:43259632605223,33,0,0:5036,721999911 -divp2:80760535636025,12,0,0:19716927645,2105 -divp2:95148114869248768947,22,0,0:22685078351318,2276275 -divp2:72784357307196492,23,0,0:8676571525,9292 -divp2:8695487295473310914,48,0,0:30892,162314927725762 -divp2:-999894977194,21,0,0:-476787,-166570 -divp2:422873004052896,16,0,0:6452529969,4512 -divp2:5850059500167,33,0,0:681,314043015 -divp2:279461298693250805,55,0,0:7,27259719560503029 -divp2:-2391765116812271696,39,0,0:-4350595,-221690208336 -divp2:93848076004932,44,0,0:5,5887145782852 -divp2:54463987988137594412,48,0,0:193494,268844485922348 -divp2:9735669349328114,31,0,0:4533524,691512562 -divp2:-96573804848256945392306,69,0,0:-163,-355587759787924163250 -divp2:693910684713664114,18,0,0:2647059191565,48754 -divp2:56085146568929935461,53,0,0:6226,6324008912519269 -divp2:7090107398039299,30,0,0:6603177,81864451 -divp2:767239571830013898753,66,0,0:10,29369808881631834113 -divp2:-74636360117262549362461,43,0,0:-8485171760,-6890174916381 -divp2:5461169750136459,50,0,0:4,957570122765963 -divp2:976702847245116276,37,0,0:7106448,71221928820 -divp2:3617864287401198,48,0,0:12,240164566873326 -divp2:-1309978694518086461,40,0,0:-1191418,-749976460093 -divp2:-2386749120888691269,33,0,0:-277854167,-244046405 -divp2:7266512965529689,33,0,0:845933,3826315353 -divp2:-6961513563355648932180971,48,0,0:-24732264461,-193888863384555 -divp2:5143351773441402886258,50,0,0:4568214,56404232132722 -divp2:900799510679250396,62,0,0:0,900799510679250396 -divp2:30978095034050773575947556,48,0,0:110056301970,184099523155236 -divp2:398942302365209775391228,57,0,0:2768218,44660240185115132 -divp2:914903526125867075664,27,0,0:6816562459810,77563984 -divp2:2551094792632393428431439,87,0,0:0,2551094792632393428431439 -divp2:6909886286515846175008,60,0,0:5993,427709407012247840 -divp2:461670131377821667,44,0,0:26242,15985200256995 -divp2:7884527998899506514865191,44,0,0:448183527561,3748608715815 -divp2:-17784618887403951072,44,0,0:-1010938,-9512034128864 -divp2:-2928855265612995457576576,88,0,0:0,-2928855265612995457576576 -divp2:8468445340017772238,58,0,0:29,109764431618131662 -divp2:97699128177500917404004263,94,0,0:0,97699128177500917404004263 -divp2:-901210903909447624384117,51,0,0:-400218038,-507572120280693 -divp2:-9099254471589743272646814275,80,0,0:-7526,-878753170044103808133699 -divp2:88420842262358445100031098,32,0,0:20587081616362194,3379223674 -divp2:5920604485769478876616913,30,0,0:5513992612966782,320526545 - -# Division by small integers - -divv:-5721818303,-31144,0:183721,-11479 -divv:100359289911028,16,0:6272455619439,4 -divv:-80498620,-41490,0:1940,-8020 -divv:37386622,55859,0:669,16951 -divv:501578,15096,0:33,3410 -divv:6823,11067,0:0,6823 -divv:-56695604,31395,0:-1805,-27629 -divv:396,1627,0:0,396 -divv:82237128,16423,0:5007,7167 -divv:274600467,39390,0:6971,12777 -divv:258805,22852,0:11,7433 -divv:5139922232,23459,0:219102,8414 -divv:8755497783395,46470,0:188411830,43295 -divv:56370361453114,52292,0:1077992072,24090 -divv:81119249096,17631,0:4600944,5432 -divv:3925148017708459,17729,0:221397034108,7727 -divv:-289130964,59901,0:-4826,-48738 -divv:-2394107507926474,13709,0:-174637647379,-7763 -divv:-50229865870,26540,0:-1892609,-23010 -divv:3694598237147,64566,0:57222040,2507 -divv:-158417511658676756,-64615,0:2451714178730,-37806 -divv:4290308067505999,15193,0:282387156421,1746 -divv:560784439224,18032,0:31099403,4328 -divv:9207709447044,43308,0:212609897,27768 -divv:42833310641849859264,57815,0:740868470844069,10029 -divv:-95089845960500,-61243,0:1552664728,-23596 -divv:80687877739837,-30796,0:-2620076559,28873 -divv:87851714436662969875,61349,0:1431999126907740,28615 -divv:-5469457537,11848,0:-461635,-6057 -divv:-87902672172139257996,27307,0:-3219052703414481,-25329 -divv:-694576880064214,41179,0:-16867259527,-1881 -divv:47595892116434828,47204,0:1008302095509,27992 -divv:-505437926464614447947,63863,0:-7914409383596361,-45404 -divv:-747214784268033231559289,38881,0:-19217992959749832348,-36701 -divv:40648086806090824914,-26501,0:-1533832187694457,19957 -divv:23860923193973296,51883,0:459898679605,27081 -divv:-54927711987466879,-11937,0:4601467034218,-6613 -divv:4311756940677447464744993405,57924,0:74438176587898754656877,50057 -divv:6015889311543917179186719299,-50635,0:-118808913035329656940588,45919 -divv:3915173119649887691276,20797,0:188256629304702009,10103 -divv:209840208083311316090,36847,0:5694906181868573,6759 -divv:80000000000000000000,25,0:3200000000000000000,0 -divv:65000,25,0:2600,0 -divv:800000000000000,25,0:32000000000000,0 - -# More regular division tests, all with remainder zero - -div:2546905999569583642767,14957376976449,0,0:170277583,0 -div:8820890915810513585008,1290654714992,0,0:6834431249,0 -div:32722399167479650872,485171756,0,0:67444979562,0 -div:281565136283209685892638788,662476076955569,0,0:425019326852,0 -div:378946105625441540737303,730177609549,0,0:518977986547,0 -div:4582336996784637790714331883462,524659399010705751,0,0:8733927201962,0 -div:30908196512568974558050436710,558351619821782,0,0:55356150882905,0 -div:22323179841972640636983704753,52956211127329649,0,0:421540351297,0 -div:52861155259463695471936251160,9468000366853,0,0:5583138277489720,0 -div:63260535208765360919938678377,42122224781389,0,0:1501832715082893,0 -div:28984143265639802151626094051438,400082299653446,0,0:72445452574997853,0 -div:3317964166851176108015612343691026488,4043377664512227983,0,0:820592198441457736,0 -div:66344183633702866132053676311141052606577,91178778320288608847,0,0:727627468320008374591,0 -div:5695550794829300030546270882518324992076491,700880200540761512031,0,0:8126282908883599504661,0 -div:39037424763225371397599506194643545880,7823304879274443640,0,0:4989889230399751117,0 -div:436302766535175847931361924986715811355695802824125,539874776595118725233603625,0,0:808155493551392334022517,0 -div:346745970223883677972239586841121624456285168,91526846077189641641348,0,0:3788461911289433710716,0 -div:52724986995800116311347732059133990047851510404883234,568154076534742483223872266,0,0:92800508125151146767566749,0 -div:2377848542111935708145523356022435793438514852230023651,78161062689778162572883876143153,0,0:30422418276855244470867,0 -div:232771550187355002750375300477927538332648185231317422242,385169380058229884085331084789,0,0:604335552717520311627548378,0 - -# Bug fix regression tests -div:#xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,#xFFFFFFFFFFFFFFFFFFFFFFFC7,=1,=2:#x100000000000000000000000390000000000000000000000CB1000000000000000000002D369,#xA11260 - -div:#xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,#xFFFFFFFFFFFFFFFFFFFFFFFC7,0,0:#x100000000000000000000000390000000000000000000000CB1000000000000000000002D369,#xA11260 - -div:#xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,65532,=1,=2:#x100040010004001000400100040010004001000400100040010004001000400100040010004001000400100040010004000fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80fe03f80,#xfe01 - -div:#x0144E8D32EFB430AB38966D6CF217276A50D882C9BB1956E47F0C11F809819482F6671C7CDD70EBFD40A67E96E8728B1FB26092168F13A2689FEB0B86D689F12949DDF22AF0A030FDF2A27BB4CE09998ADFDD014B507C487D2BB6C71122AF93F13E99F22A7C5F2E728A50C7761551C4E9322502DB31D03BDED78A9301C50D57AEA88C1FEE4EAC7F0B38002C0F86D434B7D8311D4C410A0CECD6B81D40E8289F31045CC6F6C4EC203BF2A6BCF549759C92875BE633E20801C130874CAAEB8FD7276BE101898F12FE7648FB2C76C09D3643386B7F99B26FFA462DF54DBF401C8B73B5101B0A45D83774DC307ABB9F52A54E152E6FE5EBA1F5C91E0CFC2B84791413448023D6BAA4BB3B765DAC3C7D679832378C6737EAAFDB1395DDA29887653C17A4F16330550D9F71C99BD7D81777943CA1437F0C6C9AE89472A5CDC304DA0952AB154FF9F0B73A68FB5B7E661389AF3E407B4456A9FB5EC7FD7F78D0FA97C09DF4BEE8048687BFFA8B6231D9893ACCB75904A16BEB45C9B58DD4C63C9902D0C5015D2325EF7294EFD442CF7C6F837A8D6661DA492459429F9D7CE1251CA3375CFDD74A1C8EF5FFB8370245295E3C09B47D697EA3B5924F7181B1F9810FE479D2B17E63F1886053C32E53B4D6990DFE036BB50CCE32E76EB5BE5F2E0B40EFAB32D19968C0275277A4FFBABD2C5A24C982218DA3B32703381399A653A3CB9FA3009695581F18A7023727D6BE13E5D9829E9788BBC94DCFC493307101A0D7A8A212AA5FFAA45CAC31212202C23DC6ABB39D6192FEFF6FC3C084547036E2DBD6AE3DBB16D0101E10E899B32C70CEF1056DDFAD104E165F7D147C8143C6E6D08C0315D01D41D5FCDF528A8E2AF9B68526949742C691DD8EA545D9F450B54F447E52ACF59172A9BA2284703A6A525BA28664EAADA9CC9A1AA7875CE0273AA591F2AA8C20925EAA62037D109CA0EEA3824C1ABC869978B5B62F853980C,527,0,0:#x9DD4AE7AE3F3E047AB2F86F36EF8F04867BA224C9A45AC9596780B6AAC0290D95539B3274501D2411CDB86482673F35C5E41A4638DF46A28CD54634DEBE64A1E6ACE84760F8CE729DB28303CA956C1AA8026E69908252D172FCFA340B05236EDFBEE17A29F4EA5B964178B1D4EBF8AB92495B4130001D154C0AF742703CE32F707A796896EA61A92758FAAF9E4705B13ADF05F952998701DD5FC07CCC198FE167A50D95812D3CD5B67AC5AFFCD2A28654365B6C44FE8BC83A8C8856E9ED769A317D54C8E4D53FDC310DAF9677CC203032B951E697C5B26903614D1D448C2A7B3E357C60508FE4886ED8E2B9614F7E72AE7AA0410DE8A9EA328B6885D67423030B6A7388DAE88D78B1F8119A3A00C649F13525064648CB92FC88CF3A1038F2EDDA916ED8D06BA84AB4840D869A372C51EA44BC04179C5F7E08164001776D50CB6038FC968F29E30D97BBBF19C865DBAF7C1AD8D133F7EBFA2A80F5394F77DD530B88F0F323B7FC1A7EF8CEDD48FA12CE9EDAE6F1DF95FFDBD62452B214E4B51467A53A5D3C73E5408632E9E4097AA56DFA5B40BEF9DAB8E518867FD3D972BF155EA5C9A5EB17CD58074A742D5AF3DFCBC664CB5CA3FB4B0613485DFF8B5D03507D1513E399332A257DF90E7E9719BDF125430F7339462926404D531677F42E3E937A9CC83613A86394FFDF89A4BECDBA1CEDD9F6D82C4FB406A16F10E70AFF07927FECA0D60E176BEA8C4312E535AEB11B7665E858517F109BA90CEF68464219955024423D88981BC0DAF6E33B1A9283D412F16D06335EF9D86142025C37B54F0CAC5B5AE55097D9F6DACF547ECBBED87ED107543819C8DBD0099B65EBDD07D04DC74A3E2C2496D9E4E0E61D6615A7E08D3FE996DBE187750C4C1FB9B18B928B6550DAEAFAB8D7E4E8662AEBE7F77299D516BBCC8F2242B9FD28EA7460282819525F63E7E5C66E4D0C73181CE8577D3342D76CABD26D8CFB6,98 - -div:#xC085B984D2F30F92A00B8814DCF9A909C8672B081225AA88A7293D276E46B240B96E345B76A5E2D4E5CE7F4C208616DD38CA2029C37FAA8EF2561C688DA55150788FF7F34E484596590DDE971387608FB88D92A8868F4A2F165D0222A272C5AC300AFEBB152B25D3FAB5999458B1AC27FAE5E2ED6D50E7F8FDE7E22178E4C954,#xD607ECBE4F4608C16A0FBDF0F4DC57278E937A73D2226CE8388C6B9B9DF9C58464CF3E05F29FC58B59CD34CBA4F47810D92B7B4FCAAD1860C76E091D0B1491B9,=1,=2:#xE64618B3D9A1E9B5DC38D204743994492C406B98FFFFFF95EF529A267E06AF4364F984172C9569DC33FCA47F08195C2937CD1CAAE1F954A2A78AA08AF59EC954,#x5BAA50658645474B56E43FF89470E38A4D69E90D43F0E1D5DBCAFDE8853AEDBAC364F06CE50511DEA15DE5D944D9ABBEA76EF56D1E1E2732AC396304B28CB7A0 -div:#xFFFFFFFF400000002,#x7FFFFFFFE,0,0:#x1FFFFFFFF,0 - -# Spin in s_udiv(), rep. by Andres Navarro. -div:45035996273705000,45035996273704960,0,0:1,40 - -# ISL test failures -div:-110768999339257979395151936604514986,384307167128540502,0,0:-288230376151711743,0 -div:-1141798147252782335678234520236874583761538254,990352029122461210705605426,0,0:-1152921500311879679,0 -div:-11417981504429295188771564013355757832033533955,2475880072806153026764013565,0,0:-4611686014132420607,0 -div:-19746054620424668475119147467564405598366894325375493578959094720,137015778031883893401769208133025156060969696320,0,0:-144115188075855871,0 -div:81791893044,81791893043,0,0:1,1 -div:66461399479760783996783510248698675,57646074961906893,0,0:1152921504606846975,0 -div:4951760153682756594365890554,8589934586,0,0:576460752303423489,0 -div:9903520270472025075672416238,25769803758,0,0:384307166770626561,0 -div:11141460315522012760862883825,48318382095,0,0:230584300062375935,0 diff --git a/polly/lib/External/isl/imath/tests/egcd.t b/polly/lib/External/isl/imath/tests/egcd.t deleted file mode 100644 index 8d9b695c54e..00000000000 --- a/polly/lib/External/isl/imath/tests/egcd.t +++ /dev/null @@ -1,752 +0,0 @@ -# Extended greatest common divisor tests, including -# constants satisfying Bezout's identity - -egcd:7,328492456,0,0,0:1,-140782481,3 -egcd:930165221,819,0,=1,0:1,-85,96537294 -egcd:166,0,0,0,=1:166,1,0 -egcd:44,37824113,0,0,0:1,12894584,-15 -egcd:0,93,0,0,0:93,0,1 -egcd:70522336,34102,0,0,0:2,-2785,5759331 -egcd:863,25,0,0,0:1,2,-69 -egcd:66399,5533253,0,0,0:1,1229584,-14755 -egcd:4107,14863,0,0,0:1,-1643,454 -egcd:7,482337424,0,0,0:1,206716039,-3 -egcd:477004716,83909,0,0,0:1,26067,-148185319 -egcd:76,9778759,0,0,0:1,2187354,-17 -egcd:0,8367890,0,0,0:8367890,0,1 -egcd:8335,721158457,0,0,0:1,-159892121,1848 -egcd:90370,2894953,0,0,0:1,591452,-18463 -egcd:67733,1618312,0,0,0:1,-106035,4438 -egcd:166575,4485123,0,0,0:3,-397448,14761 -egcd:28271,6,0,0,0:1,-1,4712 -egcd:763,53576,0,0,0:1,-18397,262 -egcd:52077184,5129,0,0,0:1,1375,-13961031 -egcd:6552609311,525555,0,0,0:1,173606,-2164516163 -egcd:6221599,7764515429,0,0,0:1,2913991310,-2334941 -egcd:89021590,33904,0,0,0:2,-5437,14275908 -egcd:739392892,9335369,0,0,=2:1,817116,-64718359 -egcd:8394864191,48,0,0,0:1,-1,174893004 -egcd:55087825,530530,0,0,0:65,-1805,187423 -egcd:243,6823694624,0,0,0:1,2218402779,-79 -egcd:7846,430402,0,0,0:2,-77457,1412 -egcd:67053681,8634785,0,0,0:1,-3793089,29455346 -egcd:6364928874,55124010,=1,=2,0:6,4571384,-527837761 -egcd:3482048,995555,0,0,0:1,328872,-1150261 -egcd:33038872623,62,0,0,0:1,-13,6927505550 -egcd:75504,62,0,0,0:2,5,-6089 -egcd:15,436212,0,0,0:3,29081,-1 -egcd:72635,93361,0,=1,=2:1,-22347,17386 -egcd:7009,4308,0,0,0:1,697,-1134 -egcd:40446737340,4212231,0,0,0:3,100060,-960797387 -egcd:728456835,694701023,0,0,0:1,99101538,-103916923 -egcd:9355087294,2631,0,0,0:1,790,-2809015189 -egcd:54733,8862614,0,0,0:1,-1246171,7696 -egcd:38730799075,40635,0,0,0:5,-514,489913393 -egcd:72,98,0,0,0:2,15,-11 -egcd:1322949,68,0,0,0:1,-15,291827 -egcd:49271099715,8633675426,0,0,0:1,-3947828585,22529669726 -egcd:175,762975785,0,0,0:5,-34878893,8 -egcd:321,55550,0,0,0:1,26131,-151 -egcd:217191,451486096670,0,0,0:1,198071748991,-95284 -egcd:681,2323372,0,0,0:1,917749,-269 -egcd:78678,523426,0,0,0:2,98880,-14863 -egcd:90350809087,38042,0,0,0:1,7341,-17435079373 -egcd:633,4435395170,0,0,0:1,406402717,-58 -egcd:16360,606577002,0,0,0:2,-128322922,3461 -egcd:9669450329,1009,0,0,0:1,293,-2807878044 -egcd:5871172260,26773591,0,0,0:1,6401741,-1403835749 -egcd:5017125540,8367,0,0,0:3,71,-42573911 -egcd:619,8820231506,0,0,0:1,270734085,-19 -egcd:60596719455,443,0,0,0:1,-151,20654863742 -egcd:6752409,94193,0,0,0:1,3303,-236782 -egcd:14045780235,33398209741,0,0,0:1,-7792585660,3277209961 -egcd:9145,27764492144,0,0,0:1,-4065243847,1339 -egcd:63567135,7519707417,0,0,0:3,-485762107,4106344 -egcd:875276189593,31047471995,0,0,0:1,-4089317138,115284166233 -egcd:531838714305,22614,0,0,0:3,-2211,51998558297 -egcd:4134506738511,2476,0,0,0:1,-377,629527076098 -egcd:6185136988713,1891462493,0,0,0:1,-495247968,1619475161045 -egcd:374166745968,81724,0,0,0:4,9131,-41805547421 -egcd:62423829,4320571,0,0,0:1,-1655596,23920135 -egcd:4949666413,1501091102,0,0,0:1,494932087,-1631978715 -egcd:956385784303,12089922808,0,0,0:1,1485803831,-117536040949 -egcd:6140630879643,9491202,0,0,0:3,631459,-408542209367 -egcd:211369,28015233,0,0,0:1,-7466081,56330 -egcd:8011144,24386,0,0,0:2,4799,-1576539 -egcd:9723,761305061,0,0,0:1,146419877,-1870 -egcd:24432,7899,0,0,0:3,892,-2759 -egcd:9912899,223787,0,0,0:1,82520,-3655317 -egcd:30742811109,445709,0,0,0:1,100330,-6920269141 -egcd:6445714509994,5444765,0,0,0:1,1710399,-2024833698457 -egcd:7932710,53078817369,0,0,0:1,-4132035559,617539 -egcd:3337840732,3077034,0,0,0:2,723227,-784527093 -egcd:718292818604,81025428743,0,0,0:1,34254894424,-303670650665 -egcd:326072,253,0,0,0:1,-45,57997 -egcd:29893828809270,93736826647521,0,0,0:3,-7295461626941,2326612589313 -egcd:4480264,223642,0,0,0:2,-23286,466493 -egcd:176957076,161560781,0,0,0:1,-31655390,34672061 -egcd:37146108400624,62308785533,0,0,0:1,28939329218,-17252518260107 -egcd:368208150951,692481145480,0,0,0:1,61559555031,-32732631176 -egcd:6314981,15499,0,0,0:1,-3877,1579662 -egcd:2805866,671806182,0,0,0:2,45436714,-189771 -egcd:98242818233,77004291671,0,0,0:1,37912166082,-48368707255 -egcd:607152,2932056,0,0,0:24,13034,-2699 -egcd:329110,861060931,0,0,0:1,423790795,-161979 -egcd:6035746008,726247945,0,0,0:1,-51545008,428383417 -egcd:388326,4784349702632,0,0,0:2,-1147292297345,93121 -egcd:34137115145,947284,0,0,0:1,456621,-16455174641 -egcd:9207216089,860347,0,0,0:1,-394196,4218585935 -egcd:8112578025453,2680608704,0,0,0:1,-855589147,2589349837748 -egcd:4997261,749601100642,0,0,0:1,-67513226341,450081 -egcd:852403018665805,68601329,0,0,0:1,-30001234,372779110814299 -egcd:92080405,52081391,0,0,0:1,-12636003,22340576 -egcd:60095571,4414432667835,0,0,0:3,-74437007062,1013343 -egcd:4981195051773,905850760614924,0,0,0:3,-146240346450057,804163027486 -egcd:9685579,9592868,0,0,0:1,1793043,-1810372 -egcd:59530646,36346354116,0,0,0:2,-4115037905,6739902 -egcd:1435163995,69604439462,0,0,0:1,7586354849,-156421967 -egcd:99926066,887606404471,0,0,0:1,169670756253,-19101407 -egcd:70441698,3974125,0,0,0:1,58887,-1043777 -egcd:849350185,211717364,0,0,0:1,-59186631,237440024 -egcd:20085073436,2395589822,0,0,0:2,-341128500,2860085191 -egcd:1126006461820852,819773895887891,0,0,0:61,-706362472938,970229368007 -egcd:70904095451052,2233930,0,0,0:2,400136,-12700165688899 -egcd:6758999,15939222862291,0,0,0:1,4123564111309,-1748590 -egcd:430279300935,431963821489,0,0,0:1,98776246963,-98391051236 -egcd:55721139210155,7073166691740,0,0,0:5,-369561824033,2911341799388 -egcd:192435034269048,1832500,0,0,0:4,7198,-755878513871 -egcd:15747650667716,36009594821,0,0,0:1,7200472117,-3148897400951 -egcd:38881764321,552729171,0,0,0:3,63876322,-4493383429 -egcd:691050011,51977919,0,0,0:1,22745801,-302406990 -egcd:52540041952180,2156326222,0,0,0:2,-170294052,4149305677871 -egcd:7905452,6213885,0,0,0:1,2027303,-2579183 -egcd:3430895541193263,119720318,0,0,0:1,-12421015,355956329656547 -egcd:78945450,1569850634390353,0,0,0:1,-213574967886499,10740367 -egcd:3026195347029,48776084,0,0,0:1,709073,-43992736549 -egcd:22612793613368,78277930892526,0,0,0:2,14856095743435,-4291603305253 -egcd:775918498,7426337401,0,0,0:1,-3568692411,372864079 -egcd:66668332441496166,5313627445077186,0,0,0:6,-18855448933863,236573103938824 -egcd:3800017785952,66078608868917137,0,0,0:1,-5030282046793581,289279111249 -egcd:8238037234,2941537491408,0,0,0:2,282888965705,-792255696 -egcd:9547120368107346,29456344,0,0,0:2,-2851235,924116168074373 -egcd:721478459,29799838078,0,0,0:1,-4113566985,99592822 -egcd:463484777885,77160851,0,0,0:1,-38346752,230338774171 -egcd:6668812562,5426227269,0,0,0:1,-1878258319,2308372291 -egcd:7020839924454,9619730190140,0,0,0:2,1676947567713,-1223899236455 -egcd:5581687877912,4728620673,0,0,0:1,-1477827499,1744435091593 -egcd:86212837117,93176774191319388,0,0,0:1,-16333778951401391,15113008971 -egcd:10486952786566311,8072710949230,0,0,0:1,162596692991,-211223200405940 -egcd:332388514681475,314477095129839383,0,0,0:7,-4152534349932681,4389046916654 -egcd:1878789616020411,634591014351511065,0,0,0:3,-55735306584035142,165011657725421 -egcd:853435249810090,294022990301,0,0,0:1,-71973674612,208911796010781 -egcd:800760331,479138587,0,0,0:59,2283452,-3816219 -egcd:310386781,45470476445,0,0,0:1,9204755541,-62832736 -egcd:206381927221,426737049973016,0,0,0:1,-51635348161827,24972293048 -egcd:80657906841,97722845343178,0,0,0:1,-44940641023991,37092841744 -egcd:3626879556739,974287797969673,0,0,0:1,-416739368163900,1551352175437 -egcd:12353260720882,167588026304493,0,0,0:1,-4766112882926,351320057681 -egcd:5680097354,954648204845001,0,0,0:1,-206590628821018,1229201373 -egcd:8495790423,19792054180,0,0,0:1,8077970807,-3467489852 -egcd:1808291492597692,96814519920612,0,0,0:4,-3825789187820,71457690917437 -egcd:796275712123233,71773988020895279,0,0,0:1,16421100444870785,-182179140537376 -egcd:62156477407557,3665981752,0,0,0:1,1292733717,-21918214413059 -egcd:2921017132462,944466357361,0,0,0:1,-167559490864,518222951729 -egcd:70129038286402,2652828624150588660,0,0,0:2,61204814273941601,-1617984186560 -egcd:4099194006860675,712258835980,0,0,0:5,-46544273205,267871728840131 -egcd:18993264993,72866008153094,0,0,0:1,-10126377677909,2639543177 -egcd:37137778422333201,725902397772208341,0,0,0:3,36710995342741392,-1878165459827929 -egcd:77046543323827,91919074661304,0,0,0:11,-3080180234575,2581806232959 -egcd:50946730035622,6841431278091013,0,0,0:1,790206978840254,-5884508662999 -egcd:778417902091877810,3526771827155035,0,0,0:5,-62143495200058,13716115340897371 -egcd:7357629905645982343,273989149651,0,0,0:1,-10489681694,281687051588686593 -egcd:59999050131295751,4402788959646093,0,0,0:1,2181599081375342,-29729763077344837 -egcd:68611931054045254,72532452638242572,0,0,0:2,5482399071936641,-5186064629726171 -egcd:8597485693846941640,9852318416413,0,0,0:1,4640854869916,-4049776069443081003 -egcd:570460270963,54720108308,0,0,0:1,16083505887,-167671472335 -egcd:43617503830797013,452251304617430,0,0,0:1,76760132288467,-7403152472886549 -egcd:73871669508560399,48493623727,0,0,0:1,15908333574,-24233601655059575 -egcd:99534170067866609,8533916062,0,0,0:1,-3636610149,42415108188475141 -egcd:1885231469789,5484240550249,0,0,0:1,1215645072521,-417883264932 -egcd:1988347340743956951,7107237557789347,0,0,0:11,216195821117034,-60483750895153609 -egcd:1028936133037327271,5510465055402,0,0,0:1,1073852868395,-200514113917520622 -egcd:908361247108559,833255131023,0,0,0:1,70168847825,-76493572911138 -egcd:105122420688920,8437707543309,0,0,0:1,1099150493096,-13693928112891 -egcd:7268354783435841902,933995610637335,0,0,0:1,177721439316803,-1383028419904388383 -egcd:50338474800791504516,946966290251750,0,0,0:2,-82754441959453,4399029230620270937 -egcd:38695580832418,77020806554,0,0,0:2,7049841355,-3541870284322 -egcd:460793682039951322,360995931125673,0,0,0:1,-12872500500857,16431118446002835 -egcd:9791371944228644211,37881615337394730,0,0,0:3,-994456930616087,257040192279396732 -egcd:726186734680,24419809216698234959,0,0,0:1,-2766640019167190414,82273258719 -egcd:529564016606,376298866055896536,0,0,0:2,28277719651140475,-39795131343 -egcd:145541869208926297,19688885314609703455,0,0,0:1,-4361261236227472297,32238803887896062 -egcd:39778456127502718844,81278417471936841,0,0,0:1,-7120109086823404,3484651347093815497 -egcd:7809654411174,1244628241216910096,0,0,0:2,-284584948977462005,1785681883582 -egcd:247581683736939421066,245039298196,0,0,0:2,-51357390229,51890244702955249521 -egcd:667668476732052,476696223555,0,0,0:3,60657763034,-84958248556823 -egcd:2229399707506,39201358276824482440,0,0,0:2,-5131877014016252583,291852262700 -egcd:4767576564991009579,340159717388,0,0,0:1,-29682941117,416027199034854288 -egcd:748410307121741,730540185467629182,0,0,0:1,-213318504992896387,218536599371724 -egcd:2356182915322420038,81237995138900716,0,0,0:2,5252342047370707,-152336090720664004 -egcd:6513077506735657,306517877388663388,0,0,0:1,85680643466766665,-1820594206381108 -egcd:216282311653914599395,911124646576,0,0,0:1,429112007291,-101862393081040854019 -egcd:59815399922090959,5110979162439569056,0,0,0:1,-1114788966780819601,13046726616842810 -egcd:477652083813766,624733750918729402,0,0,0:2,-154413302241487321,118059630163644 -egcd:659935429542750939,44886608128116509,0,0,0:1,15839652572247565,-232878989079292726 -egcd:54504214226951518003,387724255017508609,0,0,0:1,31301361124239357,-4400178916414896230 -egcd:783331167504862965,48609697533,0,0,0:3,-629742688,10148120643700831 -egcd:7643973606720,70743283292590583724,0,0,0:12,1182943528930131602,-127819754647 -egcd:4273152632680100030114,1455223242316512,0,0,0:2,12098554144849,-35526486240961014982 -egcd:5862269731025091,3136791365228,0,0,0:1,-386529556073,722375272334573 -egcd:659628551534893059484,5950075862222037,0,0,0:1,2470161881316403,-273843450328876151623 -egcd:9482121506846253,34058669367564240,0,0,0:3,-1589045402569649,442399009322730 -egcd:65396942933391,3530693943836047978,0,0,0:1,1333698073169157271,-24703295773820 -egcd:24559856763503,6667927595346,0,0,0:1,-250002320323,920829011695 -egcd:4843560767022,8140092963222,0,0,0:6,-479036307613,285038693786 -egcd:7703573212864,4497158779255,0,0,0:1,1735016188064,-2972059668409 -egcd:8411329856643749667337,6927690295201914990,0,0,0:1,57955419569688883,-70367197465289023043 -egcd:311630305921790132,36794945100846,0,0,0:2,5335676048581,-45189858410215015 -egcd:12252240244679740653,21854667756737479,0,0,0:1,7408241549029968,-4153234277439483257 -egcd:914930916911818959,73054804640859,0,0,0:3,3000864169057,-37582516567124740 -egcd:144437770651525337,7176192389740,0,0,0:1,-2917598661927,58723543558714060 -egcd:9658485554428935101,5617211853860547,0,0,0:1,449096244749153,-772196190086168116 -egcd:344028716311850,2026849525600172204430,0,0,0:10,4273604619400616489,-725383257448 -egcd:936445752013986984,883181511511066630902,0,0,0:6,37504920718991502298,-39766823953131263 -egcd:8136225792202716788767,6604882712946357,0,0,0:1,-763274997603269,940240423932206378732 -egcd:577476567105329156936,1256480674248716110951,0,0,0:1,165865135596220858037,-76231358802105687681 -egcd:58801491048115,31028000846825692159030,0,0,0:5,2620151256531588957285,-4965476229559 -egcd:9973707804728263847551,53630829606521208326,0,0,0:1,16368451878013344235,-3044035631088017117934 -egcd:17121194233870838,44442113181771232,0,0,0:2,-5375949729958541,2071068923785980 -egcd:194930254933589618442,76996294363551631,0,0,0:1,-38281520562566769,96916697409778838629 -egcd:6740972199816713986701,3164254690674619824,0,0,0:3,304736351600199807,-649195300386062944621 -egcd:33100303896200,74054854499575190726143,0,0,0:1,-30231828546967434629772,13512722683807 -egcd:80391303224075976,94483334960558284,0,0,0:4,9695304929308312,-8249266378534037 -egcd:954262165857127978158,3790250771466830,0,0,0:22,53714840833849,-13523654091347297164 -egcd:50095431507743637803,32894122691956397938,0,0,0:1,11834908275426407707,-18023731548159747940 -egcd:2173109072764661515,71129381706084812,0,0,0:11,-844279059631827,25793988931499293 -egcd:52743975673113,1252477537471129,0,0,0:1,198187508901071,-8346015665318 -egcd:3400327281633151,431371474891473455,0,0,0:1,205422443946739001,-1619262239320730 -egcd:74672816465806151314169,181861345000582103629,0,0,0:1,27254332141007722192,-11190710933415108645643 -egcd:474476291935913056166,8171705897201808883848,0,0,0:2,-1170007477720025417249,67934506766326698557 -egcd:984130837655605609160519,483475686999411456,0,0,0:1,30260545442548343,-61596346486657707977136 -egcd:843814604333653656215922,682249690564087391733,0,0,0:3,38030549017256981789,-47036639393790777318635 -egcd:81202937258153735712,402831457452712664,0,0,0:8,13421756749885189,-2705563458591282665 -egcd:6676582659534088,44001550460545760069911,0,0,0:7,1211181274540019933457,-183778794394919 -egcd:533144411502628328950,28324708505596385902,0,0,0:2,-1398171989606979473,26317219908236327476 -egcd:66581532981454422,14028130038905754906,0,0,0:6,517088823759485624,-2454252026321337 -egcd:2130464987067329677,8494848036198574143,0,0,0:17,-7062764335631653,1771305627228686 -egcd:38575228438194,1957852613377826515509,0,0,0:3,129868619328885840117,-2558778747355 -egcd:49489410876608829677,7951728226267755060269,0,0,0:1,3860693946871021816365,-24027917399688934216 -egcd:42770760432244640,44801059402399356,0,0,0:4,5296495695549791,-5056468564505481 -egcd:6441135230593242548407,122558774271814342,0,0,0:1,36997056041193015,-1944398045028139827512 -egcd:264902435468141506,823887292259809475,0,0,0:1,120342636882041621,-38693469240520931 -egcd:4615387069156629,5068444832682377449634,0,0,0:1,-2198712149475939054985,2002173834082799 -egcd:36444520368083130251,10180304221606287367,0,0,0:1,3547776565155412457,-12700702501188462318 -egcd:2705117385426850078,311987185491928483938918,0,0,0:2,48604570190513342423426,-421430988026778607 -egcd:6447135503640541,17828837916381145944,0,0,0:1,-5783155035268931939,2091262724234125 -egcd:193981008037679996757,19120164140966891788,0,0,0:1,-1586493554887429351,16095553194700936591 -egcd:64332664201713053,87185087911910266023,0,0,0:1,19609332567597552767,-14469453865385550 -egcd:95102121410339574,293671951113485105415049,0,0,0:1,106953417739910482828300,-34635575105438351 -egcd:65154144550755804519,4285018859628755463,0,0,0:3,-609852871996317628,9272874514298907745 -egcd:7165578261547505,763555532759171606,0,0,0:1,-174953906015578927,1641852952316256 -egcd:5442458157933637000759,66760245307752621192750,0,0,0:1,29074397305494111881389,-2370215838375818515507 -egcd:42143136951989716656,827894838488320343515,0,0,0:1,370905938581526544116,-18880586083238491373 -egcd:5295415444080909673074,5092055214749737510,0,0,0:2,-79624725963726612,82804680196255688279 -egcd:118338007742261895,5763460050841396334194,0,0,0:1,39330742550539324473,-807556862613311 -egcd:57063373752305154812,692318043858914149958,0,0,0:2,-70368857818416495450,5800057458900243919 -egcd:49356454157781030126,38544768358653028317,0,0,0:3,-1638594177535601368,2098214669607345263 -egcd:98128015703777581473188,71751790667213936232,0,0,0:4,1131009376775245397,-1546772628993544572326 -egcd:95760302891303565510312,49856290116188787587208441,0,0,0:3,-3088248308134997399905293,5931680690668486327459 -egcd:40420853393811300450702,87550419156538713298378,0,0,0:2,-17578959514036280337967,8115969657005769255362 -egcd:422899389299537033304669,8005135756870427773,0,0,0:1,1826207874406781724,-96475839795446732840135 -egcd:179674525723481348814,69928617693608886497807522,0,0,0:2,-17176881265197584758274313,44134262860096480672 -egcd:7789649675160016285918,417200326088447794162,0,0,0:2,-94835249783231044512,1770692222592009406889 -egcd:177465346778880323,60001957340989928039014267,0,0,0:1,24984084908903832591086708,-73894410929202849 -egcd:151317887902583777,714764598301032762905,0,0,0:1,183810322507486902798,-38913216802619989 -egcd:51078283105727024828148762,75871019523002756919949191,0,0,0:3,11485911105291504406000748,-7732604924142639690250403 -egcd:4760258696724862445736876,3471524299806755969674,0,0,0:2,856359023818037629295,-1174265290574387452901557 -egcd:261631865216813032,5681600833992180785,0,0,0:1,709538151924588968,-32673500929505135 -egcd:720979639879195715,783996604122129884144,0,0,0:1,376019130933410843211,-345795040670644006 -egcd:36110696808763448994,31631881940059268291965,0,0,0:1,-2383142920549669168891,2720576398805277667 -egcd:658675475456498963270,36727416735327035,0,0,0:5,3298655738340100,-59158629436863579657 -egcd:61220559308972890,667000611959077400,0,0,0:10,-26640911325438571,2445232377004423 -egcd:40220367562984968880458,89139127967069561321,0,0,0:1,26548285035112330181,-11978822394062224915657 -egcd:268590992017536259191399327,61179964518317742544264524,0,0,0:3,600487671783052773266369,-2636248332740054832357965 -egcd:834052968320156609779657,4980797187259222752640,0,0,0:7,-284790928354963265969,47689297559175644596626 -egcd:2304058851313997444536039,9169653702125462923229,0,0,0:1,-130649054522071275152,32828187439358617259301 -egcd:58451234918953535616,811141856188592686,0,0,0:2,-99923944925714621,7200562927828430183 -egcd:822396573998213269,36745646576975841888238,0,0,0:1,6092800501072128894693,-136361684305643132 -egcd:17578713797195009784,68270861083809145500872866,0,0,0:2,10088182822145144907111889,-2597554443418689739 -egcd:76377711400349230044,28120345054943065861736,0,0,0:4,-2062007766043178352451,5600622387542163743 -egcd:76762683909293356952194,336742697639190379,0,0,0:1,-75512400432970134,17213541871304020806343 -egcd:718613829360289007965846364,56996018089280939789090,0,0,0:2,-2524732262127936558957,31832180208715887766629415 -egcd:7295663098480852718,14423786075811123687515222,0,0,0:2,-3469836111463770997012649,1755070072665297072 -egcd:15211419951748549035347,4699398308750843428412139,0,0,0:1,6946404824215205904662,-22484725489054469667 -egcd:17150054056990843968091,37598518807922567502949,0,0,0:1,-7518057558796082945642,3429259918338934660227 -egcd:77024520800929983778,12004114915728728552,0,0,0:2,-2120493047554731255,13606164385813996546 -egcd:6552691621635472445,9454879100164928596390176,0,0,0:1,227870736946333719833045,-157925516866534574 -egcd:380663675562604264,44830819384430864282488995,0,0,0:1,-16273991432157066610391981,138184344602692003 -egcd:2230931798936940632516431,790824149442647895647799515,0,0,0:1,331133100467518126491471001,-934133541615045780146562 -egcd:95014513131992964781831,6426665041014306194430759004,0,0,0:1,239158098260009820460949479,-3535813695397102752012 -egcd:45587301786773822623,12200508698455746294,0,0,0:1,-4813378778407164821,17985229666126454386 -egcd:544408824836312286809239334,47857195870319437437969,0,0,0:1,-3285821056099126073737,37378495485205612484001511 -egcd:368559293555584153297233,863543676262890554,0,0,0:1,182689982444744817,-77971841749691835919840 -egcd:286838686809753815604,290258385092986016322966,0,0,0:42,-3439904517337276235112,3399377055680475215 -egcd:247310884666793355418391440,8146285853652299839620,0,0,0:20,77671205038431135851,-2357999065620583642815591 -egcd:723355341278352532752,2716643920855001136283,0,0,0:1,-647343221413917008844,172366784345707798483 -egcd:4747770341760547358928,3900131915460402444898291,0,0,0:1,-48191502504962163320631,58665242939847808459 -egcd:62996662961434499047,9733114500463650951,0,0,0:1,-2609387863316684519,16889016126666164094 -egcd:85408851497556727644592364,176571048356555258831010,0,0,0:2,10373200197110227040698,-5017601262696030666591307 -egcd:3859907398033663982,96346670011473683698108682,0,0,0:2,23114207598170766553332033,-926017483502444222 -egcd:372461979322690243,540222307494848292,0,0,0:1,-216390837474738389,149192949855933584 -egcd:7516220184290968225960,300386413342210429744,0,0,0:8,-15749172306804321015,394073238736743444182 -egcd:6108319432277782804,82931541043539126216389,0,0,0:1,14516925059734418621210,-1069243551048233051 -egcd:7230921518942393713547539642,72114378808806856868,0,0,0:2,-16718190793824596963,1676335948054892581924595036 -egcd:3825709037512543084718302,2651564896588437884119958,0,0,0:2,-590856988072406763814624,852495415840807251070275 -egcd:911054271475454361570597270,621648474138432132340027,0,0,0:1,177507600588673885690903,-260145507410443226451439067 -egcd:65298316398221703103077598,534642984572205231284578626,0,0,0:2,27704620476219826795345676,-3383688041836699547596371 -egcd:7540589021419394540066,951669501600612914519183,0,0,0:1,331190832641661629577944,-2624202995275280476641 -egcd:9761932411251041918483933,382356303803298271385489,0,0,0:1,-174786897144790383992576,4462481353982094260231281 -egcd:29200924565006580097578,89587549755035053290130260583,0,0,0:1,-12724495224425705121391303686,4147529720281901737723 -egcd:99943694998442521323946016389,333424364613212729745462161,0,0,0:1,-5705329051108614724676136,1710167963313731051974706105 -egcd:5690154324629967337460,1632283715496329281241648395,0,0,0:5,56290934452012514099439970,-196230655901744389641 -egcd:1925002725694160249373602782,3526543575073330036110,0,0,0:2,-3919880867811415654,2139710227393535147948013 -egcd:52670953750351044438983990007,6419267762739355812530600,0,0,0:1,-203989820551702316343657,1673763862318789910544563426 -egcd:510257531185418430181,66420793633874998820433,0,0,0:1,11533829131275308680081,-88605131851925052020 -egcd:624028484658998836131051,290010878235398822043835106,0,0,0:1,-122928139167747537660445423,264509596583252200647779 -egcd:82126417002597285652,9711508871315310668247843,0,0,0:1,1977141009391962114230902,-16719905131309273821 -egcd:5313586393962705049080,76998532453336088964044527295,0,0,0:5,7351068169285296934826456278,-507289354236443273333 -egcd:7446329018924231360114,281705996976935084208360,0,0,0:2,61771771846187437852753,-1632812017439206420394 -egcd:92632241917277332460964,41225270861482533930349836,0,0,0:36,-232831718389563965069268,523167552648600475583 -egcd:505206995627529688155,30108238444718526549709911,0,0,0:3,2815345833969785332425863,-47240638572857371542 -egcd:350682530039234485322546750017,732856831499478812681071778657,0,0,0:1,114634298969783930190784719020,-54854160136223590904319282827 -egcd:73936773633607324540860765536,5462243107704027813296706,0,0,0:2,434277168489579388852756,-5878363900642009138649028319 -egcd:9329801698838720379683494,2642515095105038480589941,0,0,0:7,174846258141415342001899,-617321323637898767831439 -egcd:25822034647579787624514946804,190739018295930506821730846235,0,0,0:1,17294294853830144704620058819,-2341282265740751416856382785 -egcd:7949963986480899256177301,54250986866391077101265062,0,0,0:1,-4923803556165288789334505,721536385032484788574613 -egcd:3746930579001676751120,99207386871851914556838486427,0,0,0:1,-48583865685594090026984533471,1834947756648482241123 -egcd:26584400729548923821953289,4186329192513161170925,0,0,0:1,1656738211241031433334,-10520766639746090510993433 -egcd:15015617716874132201457077873,908213746723440854928237000,0,0,0:1,408879360871055069439454937,-6760056426484746584749467457 -egcd:941171208223609049472714,2820721728009499408048129,0,0,0:1,-561073227079218020506735,187209522225614099075479 -egcd:30137430783951200466620,7932600136613507821178378958,0,0,0:2,874263946876564747820132932,-3321492162990162597361 -egcd:55007423087104738440174209,45869037869891649236,0,0,0:1,6370717719612306117,-7639941477849380770592557 -egcd:49096256950991848579874131467,931448097952317628160996789,0,0,0:1,-326595408525690731353759748,17214713445914733493338694553 -egcd:1122894299337591195948255,54881121839952705699464175,0,0,0:15,1530959605417535453487243,-31324174065771247623514 -egcd:35498057471655773087035017,85668857880959672128179,0,0,0:9,413483537492374633285,-171332532504207423622284 -egcd:1887739328175786669349,5857986692383902136266,0,0,0:1,-1152123029924601355085,371272259343532579901 -egcd:291707312665735093614825955052,7207353925931727830829,0,0,0:1,-3501220426060812684211,141706874954742490398970247737 -egcd:95531532857951877080714695655,1267695778421377857836,0,0,0:1,437662312686039158539,-32981534147821284545085645329 -egcd:74484904487858142015156737,351049851111701482889769961,0,0,0:1,17139443017007319377607732,-3636605376854762326364603 -egcd:2136069932966937675469,7447531079022134243581196506246,0,0,0:1,545901561496939760038844699835,-156573218627833145909 -egcd:509775218017409565394932197,216635621683624922457211,0,0,0:1,42814883976773638426025,-100749667317060906989689284 -egcd:745276060382671550825981532388,5112220648677904268244,0,0,0:4,-58944865145259393149,8593173083522474449221607614 -egcd:8078258267292267766114067,884100779411269652418038495,0,0,0:1,278129835236887309130321543,-2541344486065477531385724 -egcd:8844980710175781452273298,935135907771717589995041479,0,0,0:1,-48834539676535952819435698,461901374804996053728595 -egcd:58087603156751215661949004,58712010607326754590110,0,0,0:2,1191143911590048935583,-1178475990232715912474903 -egcd:5679173086064233367773646048971,12789890243264425121239084,0,0,0:1,105424447625040632402467,-46812261417225737221083455184 -egcd:77653936311643667916482493998,15693437224085205047080,0,0,0:2,2640971088036021388319,-13067997644040407190632050442 -egcd:7284686326593740714529339,90971885163627008124264246742,0,0,0:1,7198130762602806275082298459,-576399232016044918973300 -egcd:30545805868231898661181062,9266612086889390909321896160792,0,0,0:2,-538109282848491556444597462033,1773785449920680245879519 -egcd:5874785131042125952122412011,2349616696032997520626166708,0,0,0:1,561505530055217292587132395,-1403941478853022044849375718 -egcd:260436619859311350841971,1212092952552738381785471705126,0,0,0:1,249307384938854393628000175415,-53567486307626529321214 -egcd:2081870677650494937076,343501716877184044936575,0,0,0:13,-8002592767368064135037,48501542813302049871 -egcd:5691817817445639700141386839865,8687746818925263901770782,0,0,0:1,800431353877405067350643,-524406331883086413378341354467 -egcd:7181315131090723377262366519,979729982933337084774328653741,0,0,0:1,234315848781865941936193642222,-1717509905406328622700624837 -egcd:42080505166736566441565451216016,76651513399029916866847,0,0,0:1,-10862717669575888116265,5963465387040535737057564145103 -egcd:3576584500173313993122814232472,956729492745224694909152831129,0,0,0:1,112997896952360433126909373108,-422425074022064413751985822775 -egcd:39436344864081129175577,1167601129966960865519531141627,0,0,0:1,171787444425430917487358673786,-5802211669555479977323 -egcd:4257657006586752810590,77147349594877154853239911600,0,0,0:10,563538244311585376718458939,-31100907120886287790 -egcd:202401109849117829323361,272785163230303985302397208,0,0,0:1,23898973633160449229831945,-17732558216601391500943 -egcd:428080555595049024501717,58005872228568473578325314236,0,0,0:3,-27025471292559437633908505,199446682235027309708 -egcd:65986801519081050039948301,606919157648734368493531958309,0,0,0:1,177217106981913490775680119487,-19267788661516250973518154 -egcd:32012062136782881389216056,8869128247524938255824580,0,0,0:4,65752954911363551966964,-237327459876009040631431 -egcd:1659494763900889556967676,44291944525456085901327930,0,0,0:2,-1939570066390918372994278,72670242950040945291001 -egcd:223050013194629393090661502,798488954097788537544217128068,0,0,0:2,-161550947050238364712712345521,45127663552810491926056008 -egcd:3248908131273613694428163643,41879881211067694937556432,0,0,0:27,152368979327239401229505,-11820301337418926358261534 -egcd:3446049603173727626406694518,128204824207783873176312600555,0,0,0:3,1056928424865089617706172356,-28409444040782355854331071 -egcd:700031253558626136214208233370,52123353846012574000878521623,0,0,0:1,18394042136597105147975391256,-247037142178779880729238222953 -egcd:435876668588605457895900237986,271303986771473105323219943001,0,0,0:1,75954147113817500975823522812,-122027844129493972049386903631 -egcd:21894869356689284742223217,560101383667765190092124546814,0,0,0:1,-267658820677239482560763028061,10463025233963471610122617 -egcd:93550360054222226284955381499753,862954759319855471087513825,0,0,0:1,46956904727976525514024192,-5090458447435021286477243513311 -egcd:163036556076233835371222,325253846064704092481611715780,0,0,0:2,54681731490561412578180374911,-27409733321748193593258 -egcd:298760510595869651060219530,2623576823283807936237615,0,0,0:5,-2274816856798681184620,259045376379949119206227 -egcd:296230762513979639442717636233354,744175580561578635268252771,0,0,0:1,-32683945300355203946061855,13010357086674471069800614815901 -egcd:98928114229803289645575952596,348257401408420844843182275974,0,0,0:2,64013299296094164502149959938,-18184006885079414479620311729 -egcd:25494984833088459284053502,55538387170360999263101791354861,0,0,0:1,-13961772810342240040396540580435,6409173981787208904855911 -egcd:9359069710378270733841468708,7964135606537379331278169,0,0,0:1,-85301538328543188593444,100242271485686143586274937 -egcd:195970387106442905335558970212,98516089210647543971591302645,0,0,0:1,41045531049286373118094757998,-81648679653930215927296149435 -egcd:56089374569303066947729808,3639958663360642892752262467447,0,0,0:1,-1082612960697886770974458433228,16682355345789150259831175 -egcd:77185220697583421203504780317,38956103306675053558083657208,0,0,0:1,-15968896903521518756033811651,31639787534500855950959809021 -egcd:7188758981017613732187784596,8631409677648057462898487410251534,0,0,0:6,699438759027432535326542480920388,-582534817418185462274574963 -egcd:13002008635939628191889025,2592210142742456161455160840997695,0,0,0:5,75548903633041076033203125863138,-378938220044671750740451 -egcd:5392206357529202370293290582,948791676960011700258391458218182,0,0,0:2,187120500260806390833148058965610,-1063449833754065004912067599 -egcd:56544377896569143411201431214146,76585331663390150529866457483782,0,0,0:2,9058983102991352121685655626679,-6688416081888426016772130405426 -egcd:1031141749989374985000595839,2009599508279438972802543089088229,0,0,0:1,-126919473322514828506873048560747,65123407569678662184010846 -egcd:298829367007901182284218491,86088936999033370088419809276,0,0,0:1,-15810428616337484255943286769,54880691297149907598944205 -egcd:89096238096139543100186984,6280657804119840743206710613975,0,0,0:1,-2167845076635776547503368565936,30752645204900197093113959 -egcd:72302302888163686505438102,216294628465581933787047635,0,0,0:1,-41789803774641178599701942,13969367023054995629391271 -egcd:7344423585894563618479886291,64742746516225911812839171195,0,0,0:1,3780593925465397372719483346,-428870949858745274825015983 -egcd:476166266511928480941810303162,18227725793516746361381041226,0,0,0:2,4455414192209412199765379430,-116389612489299070719517452233 -egcd:2947038272293705986916176,304655516887206203888885395,0,0,0:1,-109032350828407811155001224,1054707671446621662700315 -egcd:5336534152617403337493975,121693724313422319665633935007584,0,0,0:1,-20927747392063258189216772528249,917727182113838425381039 -egcd:7843688392207875316169462536803513,961373577118119555001824067724,0,0,0:1,15264598965786873678488692173,-124541344352904002665189888529827 -egcd:57707445075805800484005722,3193791338236737476237368616160,0,0,0:2,-726032458195877241439267854299,13118414375725016916077568 -egcd:3888164897150599425315896428,205183819721771722595087705,0,0,0:1,89162997566753336326543942,-1689609042924883873671187935 -egcd:602417296292970251426446187098,518146488443536951749769338863282,0,0,0:2,-94681801709378439277053173041833,110080751806786360731992754598 -egcd:15607864856380204759343924600056208,85052708198112429563844521,0,0,0:1,36709574212910552715797330,-6736505931307702456822986279949959 -egcd:82966223347346884138560378408,387550826708631961461927727625,0,0,0:1,40689557976537119419523190072,-8710751525565014944116387463 -egcd:457941790845177233752849712592384,906379077457778070185230350,0,0,0:6,-38742338721240980168476766,19574299999617999644302509928229 -egcd:17520719333212917099310752269335,777312604525614950110016270,0,0,0:5,-37751502797693573191966387,850923400797104861105824821195 -egcd:7306687969771772551064816345560,93860833710620402880693367063925434,0,0,0:2,-22267197686818972849668228015866402,1733411680109554581599314098733 -egcd:9217304562871982912081196416939115,45870849307880337525730087,0,0,0:1,11332401339029049951636388,-2277136703300246618193509803178237 -egcd:2134005353764205569149428712160814,18399584757091279388913554789316258,0,0,0:2,3505886019286566312711773541099241,-406616759759275454593644975464334 -egcd:328060478808294918960133208057727,5348905699347524558908735435,0,0,0:1,-1625801360474358080252404807,99714072885871998294880707908974 -egcd:152187719989614115335894105182,345706102040316044204222170,0,0,0:2,76351546968434028595864981,-33611694390777105417832332162 -egcd:90466176767209784417980607,47937980732897762962198916204,0,0,0:1,18691494153161079961152768391,-35273659596235640430430634 -egcd:22191701690446556393936729275,39127301370409752749065478506260,0,0,0:5,-1218868518522681739916085065245,691301613338140203683659113 -egcd:2775905315510344742322701111035,7936207786535867419090958193322,0,0,0:1,1862857017468570252301586587547,-651585094029390131031434362252 -egcd:514225903257242358267890795752,12195287538749560345215842,0,0,0:2,2593213573051136744157827,-109345317829044919259315081931 -egcd:5110340321650167437688203484,5898223610382806099689579027273,0,0,0:1,-1018061900744385391688765044676,882069437338979035072954345 -egcd:44404545087402155313016176366973,25830952532663780058171102811682180,0,0,0:1,8891719587254083391047997850029457,-15285257592320164601304464794387 -egcd:63300097463298300923000480926,16725067069928349236075120182800720,0,0,0:2,-857298523517998961630904929133553,3244655454410895040363088764 -egcd:93746022629651569339267076554163,59574007540242509707977428342,0,0,0:1,11788481187505597040178059987,-18550426096928359281490940224140 -egcd:836458939105765496287004470978244,993138957276858432408154782964382,0,0,0:2,-230968215392250987185055187226932,194530107794670768100558065725255 -egcd:80307477121258242272132678185446,332941739408686566344932888055688,0,0,0:6,-19596167789673034226948559353263,4726709241167753753045385329608 -egcd:3788453611470993575354311943,818010566804135634923861221704098,0,0,0:1,-137813490037976101809867354792809,638255830952858499594495856 -egcd:259587623659498181771581731880751744,58285944586801516286178106,0,0,0:2,12918436162055871131672937,-57534731031267918251576351240716171 -egcd:958710310132392913096861246,493657249388271089046091328590299905,0,0,0:1,135918487767490572772558916150543076,-263961393703363123681764919 -egcd:4551280541337185611914329527123,908864538052498723441933539502998,0,0,0:1,7268920160967968521955585604127,-36400248331876396282408916690 -egcd:13070475233480910888148121360,4413285328570554568205135584756141,0,0,0:1,-1717230732757565870913316011799224,5085785325815291001604078501 -egcd:14182858242524025309933936657556,3681095590818104384942178227869,0,0,0:1,1066740967448959129497195096699,-4110036142652596636215627796247 -egcd:30711728727831843417803691928823465,812520406510931643757197797324,0,0,0:1,194250898522863680149137450729,-7342315162507265729295009482678716 -egcd:569581482051982147368669338544,92228924551131117274576467984481,0,0,0:1,-15253790413013464064435116976927,94203381343103503173116637169 -egcd:48368135803685842814525775885,40003260510798989461787462217258154,0,0,0:1,-10067998535127146280640641119302781,12173265733848893973291833209 -egcd:4930018459600661874298066807914,2880020912442370329450214542118524,0,0,0:6,99607976318992660230378108507283,-170508887575977201168637981194 -egcd:711972151064706829096321326250,7007757329792910915127427981,0,0,0:1,-2295746860897920906029564326,233242641537338029349184727921 -egcd:4867220801462747830964320558865,559593908596537627162047055199,0,0,0:1,-136024405963053072514365585053,1183109408518107154940668015954 -egcd:1945367852716329243161308578831818,27652505202701349899029917766402433,0,0,0:1,-4394234229043878775227521709624144,309136620491535022574591706581921 -egcd:2412119651934489718572203112,71072673842732776958058175719000,0,0,0:216,39866022094797375420918506243,-1353004046985744635384612 -egcd:6670138054949154699848469764210,11854940081839078859576304802,0,0,0:2,-798743094019718928779709705,449409838495131194424053526626 -egcd:5079267998502677211817352966622046,725385967799535801573193170671426,0,0,0:2,-8733269027224634938993697761408,61151739710183405161934626994145 -egcd:4480886776816194313314948946313097,7994809135117481733885678298185027,0,0,0:3,1325601507700856805107662436885592,-742965862823827740623264222516423 -egcd:1874083707489243811559858061454,9579456370990495994658664409458725694,0,0,0:14,297611345884849035866817528293453049,-58223405680490774590261172728 -egcd:8686331588156731815552370068,3661502563583219068024887206,0,0,0:2,434080449473510327885732734,-1029786721321607796844318985 -egcd:9453863620833568356276223534918,23089387412280380517663003882151,0,0,0:1,-733315877883858422418297112256,300253453100215815170432043159 -egcd:55969320483418908248140871212,85079326328092084335875608943,0,0,0:1,6383961327473919368001838883,-4199680379617232871527304365 -egcd:920794688460040921882938496,500020334426725550170801887474283487,0,0,0:1,-164831869162100766351156834325468988,303540274591861720062941727 -egcd:2844850591475245305055592454156239745,217485336689197516110267978741866,0,0,0:1,-16965642610700236477617589115003,221921712748763436022152765469317446 -egcd:2250199404990420542899432858,805700188980281851693883900245317954,0,0,0:2,-125668559037065384081466548929550437,350973377738811240057657762 -egcd:2676253116351366843635779601279052,36480162826421640007834066520660170608,0,0,0:12,587251884638716966437757250151967981,-43081898889148741230200589919875 -egcd:434143745379431441298635777347861647,3321086261271951935256233282,0,0,0:1,217185906813395152991805457,-28391283938371176479724338141821279 -egcd:328831327716598552708493006826883,5998904017653902496457354820710614,0,0,0:1,-1691762719070528355733005679612283,92734369387521661720402695326635 -egcd:82257549943062294615386699467607,981668433037552750731455606581623,0,0,0:1,459255931703398524802713311124392,-38482716228173528870552258975841 -egcd:74258380804562546584265075951,77261232078825514789206570986101,0,0,0:1,-17606092948365433867565372298025,16921810841773443299096443176 -egcd:16604612215694436405195267479037791,12088809689403272378161906752667109,0,0,0:1,3335737012027898468082114279119872,-4581809207139284046012442723179539 -egcd:117187641044570371899825799649735,8178592535769464440682270853557106,0,0,0:1,2457083678190030290584253972331461,-35206527142278737093501147598489 -egcd:68116770003229052128759620238,45736612498624533810503009289382345575,0,0,0:1,3731521474495048658135396258227407127,-5557455529701362669272570263 -egcd:2342779644629940837325383152346,35028149264501773716827009029,0,0,0:1,9345366038727486594063066374,-625043965692319665157982363807 -egcd:41835886127596634688804793376,2957403801973782095124355461083505178,0,0,0:2,-140338661769489730626292727126091297,1985252155681011990306970133 -egcd:25097271744035338424812948162775851793,6632509587157028992269773636929691,0,0,0:1,-1033804362959546806519618544340632,3911893181067603431716224112635814747 -egcd:96520534936943177089214535009509,153964299411236835495293391645461,0,0,0:1,-46118336610084143333960687917,28911679766215052420281648314 -egcd:351485939694896123221486285958,258506570841696812103157651165770,0,0,0:2,-46453451455854421472351814714311,63161779539565138403359187422 -egcd:28007417021035441195271408027331994,676148020718828368622335803516,0,0,0:2,7786979935141692020919165551,-322552440730491285420662042795887 -egcd:4413362764336697663014052800322,65693610499398083043787280412,0,0,0:2,-6078361211144309430831885779,408350413891448394748721866070 -egcd:197461225716508808586959311780588571,454511236742266442066996230684,0,0,0:1,-219776105748141429162113653733,95481158035346356765866516205288166 -egcd:744324786002890919135978033721,2141150730373780972923060548366089391,0,0,0:1,-874346039933062214689297981457141765,303947508147659392320612047426 -egcd:372181197908829408250471651219,78669259391484278000787446068847,0,0,0:1,-39097687514411049901323408115062,184969634735797925888333342957 -egcd:684001754049621391333368494606676207530,811149742697476858677211191126653,0,0,0:1,-10915635617581306251815187309810,9204606148505852521943359730207435417 -egcd:364115078887792552377812666799607025862,8827301542572999906405869168316,0,0,0:6,353056586514687016404428485663,-14563139848644964464623772510953465875 -egcd:938042970041490895536761429291587,259757840576661229754224229243143,0,0,0:1,98100150147783338002545568916477,-354261322783767043672286176280986 -egcd:820267097131794751974736885266425315,82778860358839053567709120364638296644,0,0,0:1,-6400683257976970254293978091743005009,63425249549479075033990058036517669 -egcd:5457600674875173931733854800284,215111250666665397843928050541,0,0,0:1,15698966476127453640130012992,-398299437009563514118180872347 -egcd:6974124210886759868095546470042140,692694405426414064223497416146001,0,0,0:1,29811566834519349840902140899878,-300146166038548580439590878684919 -egcd:578127999598677928196850592197,7973510834560431357694126562765421,0,0,0:3,1163976746730659318155746392537117,-84395388948370397153290973126 -egcd:14723115671662580034450839772216631448,337895382484927435971195174146558,0,0,0:2,-83832862484269350178843664235104,3652849359365062786475539074792751743 -egcd:5703374596739162783083891159661674696,33366082296877919793073058464756227504,0,0,0:8,-1420826709123263094052675997824009987,242866599892681179183222633947553490 -egcd:3887856931052935625932193493988,2024878462802165949196024488137162136,0,0,0:4,-38889854468224057532149506069268181,74670254545888366761385533837 -egcd:116797886673620424155638344455575785,81954763999357052682292188450710,0,0,0:5,3939912856352315655141769553963,-5614969439772751205749020485962445 -egcd:39829595917373567921976064035194822733,3324835861238165638267965325306,0,0,0:1,-506495325242796237927113416249,6067518813078093176620314277655697103 -egcd:172216102857743621234283534482806021,145818479011898244797230396928023167980,0,0,0:1,-39678809736017016135656043364181182859,46861893122703407143312718238723498 -egcd:7727386332979968071664568403819269717,8575912217193880571454308157117336041576,0,0,0:1,-2268426632858813001110639846963498854811,2043981854778897974533067749584386763 -egcd:1257841454013765362088088015288120393334,5205555031313951556768022638995305531,0,0,0:1,-2069900289624638164056699910111515249,500159228805191194406298831997643647957 -egcd:329035719059507603931777828933787916,63174092441176600783246575745147736,0,0,0:4,-245032949249890737539102034446971,1276228744002642318798325126059915 -egcd:87426773521557211600093712732512,508336012580310863309243338497305585,0,0,0:1,-205653577638095609940604488277326932,35369575066695095584232158908561 -egcd:362736691322477088361764242120205,3310232079384692960069748150503077194,0,0,0:3,-298020242142018021148617862617948095,32657189583460645957996941439487 -egcd:119651446745096900798041375200448579,34904565501135027467488578221618555201,0,0,0:1,3540823847551645875601198046573235235,-12137801744454264167914107388308264 -egcd:33213056682266640333567121628934,394975398517140989884982468602916178,0,0,0:126,618949137634363451274564985445508,-52046767643929692458960957957 -egcd:73953631593374110277606522091274192654,472933146030124955694766250141468288,0,0,0:2,-25101980308935881143484630826554441,3925253748048624389535318040775271182 -egcd:8710580473357199589908718434142,809420061697430276091837694297806840287,0,0,0:1,139259190736440579781799630396860501656,-1498638895878772876966684998673 -egcd:77046997340564369387791662570845,4689854151349789784672220940122,0,0,0:1,-1962814468060010425072973823553,32245983823849957256883772384363 -egcd:9502904350676529706040238562436114,120812359166607505889223477518,0,0,0:2,-23295919059968979396801881056,1832419233554513311030927129706327 -egcd:31192932152325411540357484553215718,868422046212786848257208790061091,0,0,0:1,-230532004021048809280348128406617,8280500468324364563224586249922077 -egcd:4323608585320872985487445640831972992,4084657409651854768355784706431953538,0,0,0:6,54695934287773592257749571957761641,-57895629266230261159874845651528957 -egcd:3107887987298186821475596783022,17295539125083136515530515139788847,0,0,0:1,-4548338553569994765732871853161292,817304777293980388775383524775 -egcd:6492834786527134721523710453730006412699,17967549886740060364182315507603,0,0,0:7,470846050128324576077742494869,-170147050245744662628832662693122120208 -egcd:799805327081992551235962453510248660453,527300566054543088930412034236453,0,0,0:1,-237075289836488158904993771580490,359593924105739027278040604269201695607 -egcd:833510079586844189468222881538313142775,163464471091603074311918213259985533,0,0,0:1,-61563360576469717421897023746373636,313913361301437981499182950778660790497 -egcd:49929157404053899498216569279542495014,52392311954248457857910547305304892,0,0,0:2,-12646518967361681435848485552856301,12051959773910155320611318460802797748 -egcd:8019914013817036621081087587164121,46265590541944209649621467308503531211227,0,0,0:1,13683404292013421097959669212670785871407,-2371951261245719997345654872544098 -egcd:6793690558655838315726513011194313858016,36465391197483395356496390604936557,0,0,0:1,17578619745456361142487500175464301,-3274987572521910182985712771749335932795 -egcd:321787145894134330720247393571488832,18281500192882799634120662107983334952501,0,0,0:1,-6095953088727896985909292224676751826817,107299692324481991773965193337745245 -egcd:6047548862579556374720382350020069977,568658196833000836860083279186765,0,0,0:1,-60242414519379328797326699138997,640664194123467451661791719429686438 -egcd:2870680665840606619961146285976303711365,201189029370140692788327587076886544,0,0,0:1,-17987198256416229496582948278184755,256651679413089218267919705828623910104 -egcd:39798370242867453845816667887487587,35013670694520682198689629893928314,0,0,0:1,2054010924317556869064391839728301,-2334696295115298268400128614101999 -egcd:73858651956033138177599059035112771,52098398670389170171335995363841,0,0,0:1,17240380939183249647785945691706,-24441275123112177186980477847169325 -egcd:7644571930682061497288549926132,785802125855010277645849882091997,0,0,0:1,271947942761049618119207873759383,-2645609551610500508344199027815 -egcd:41557893857172527363631252083795195,1371686406573225335634810457756964207,0,0,0:1,-655209336639216756304666696201636448,19850834662935335118652391694675823 -egcd:973653542609832491247256728338117715,2002969097578635540682944029408420962675,0,0,0:5,175219282530720533493371867912236604557,-85174991154795587826633985259908870 -egcd:831391603082990206528467891742567543,91348680460502373319036115086068410,0,0,0:1,7961031378909225546181572782336037,-72455722479397588386999277916029549 -egcd:176911664463691309750764037723638110826689,460013441967893539463255590714202,0,0,0:11,361642599535882299511849044819,-139080271113761217419393593167310893140 -egcd:6348236474737074437089035380543803,95699625549966825347938548412205080931792,0,0,0:1,-24203197508040948460999995184599094127421,1605519565440601434387009540507317 -egcd:36378047425993403908760151690761395656927,8324175954260445983822589970605585871744,0,0,0:1,-37338373251079967191012744395502594657,163174964152701799172289301950393962035 -egcd:5858122486508222854576912675764622,153452046194711393162502085210831888,0,0,0:2,-1917578181935824357411526205393145,73204679545178717228315912714034 -egcd:112814326530446724164485340282110380257,1110948014051557856317025720135946251,0,0,0:1,-463407619011972388363881014261728099,47058024125949149529869264751419106444 -egcd:6762936490294534151595858255833949,728054939347597344951631101746688290337,0,0,0:3,-3202433078336335166791354061436519790,29747551115599101396300822706649 -egcd:605526563136558093297316930606967635244,9300793514406874242288831761716510,0,0,0:2,1345751153121394580612078693754308,-87614897516475468831438470665488535865 -egcd:4991270541520370370359273753865001,20395641239574465006088950312639388,0,0,0:1,-6874587192924230257223537357557787,1682365567137806304784656152958051 -egcd:500946862886657134755071848342560490955748,3247882743399223852727598527588480210044,0,0,0:4,-23547587498989715538211417876627327203,3631932251908272984390735044167733370292 -egcd:35871368552972366494601834117723560353107,1239860437073895516621923584113449874234,0,0,0:11,51469208630308277351083609242535070737,-1489095785865112466538607676302494302572 -egcd:81015511060223907703360673011829949,18579927224926372016967617691018603546752,0,0,0:1,5992620067510956522835707392099844262933,-26130090364822596580080018527487583 -egcd:686805747950297226208831836097754506778,415846263888979485125026003401455197236311,0,0,0:1,110107419398192448360459918988248994607406,-181851840695728638721354366896502478797 -egcd:1552581181786867650628866738064485666,85001787017719566705908468802934139661004,0,0,0:2,-14586161026251782336851603095136839467709,266420270895607062006639549884867549 -egcd:2851667439961142964793942899685249435,5962772303345585675470039928831166,0,0,0:1,-2115221698102148418532942878583229,1011594697552485521822302637286789576 -egcd:976351980138172140382095386377096085376164,333761105209340508973257305004288242553584,0,0,0:4,-11680691421845751055896280275529788227959,34169548281993462971582117489794480071420 -egcd:20256356281064282905418422186773378,36340325278599621781402169518780276,0,0,0:2,-7025630039156045892929526907737769,3916136250324079267011293834961209 -egcd:394033413204458189167729459825446183,8154588797405589591500377773574341,0,0,0:9,165356907535808812271372935734782,-7990120445312753421042830670631317 -egcd:665386750398767451333668812103953203673693,8552358001531037761606275007435960,0,0,0:1,955024064062749227842006843214437,-74302357130697440661858910661622274980954 -egcd:5687975873047240253725753499538688,999307950133750868872575786467795722,0,0,0:2,-124602922769525950861094557747847926,709229240425208460210072090208845 -egcd:874386700310057076622355171620744115078787,6285850330763062054705785971806513126150457,0,0,0:1,-1288975686576661743329027505076878260385105,179301627951558198068988999319064038000148 -egcd:1355399916760756632497111838694490983,18711706480754058334085390313570835572010,0,0,0:1,2437253796054429273026706937620795028837,-176544752649619721719844994195203277 -egcd:36233162261680351064206988631037080,28152769682211333909464292684458349851046,0,0,0:6,-441278995396378059385736368512158452537,567934651664879095404422678700021 -egcd:4627432565929377000942281079613356,26956649857247707823755540417743526,0,0,0:2,4330342191483523965289985331335031,-743355223464507160483903148381059 -egcd:6854846008427410556215762033804468577678,7155117253417530565506970580853273,0,0,0:1,-2452250746495250667905605947764875,2349339730700732618876715217888241493587 -egcd:2209645186813254112014092471353574880075,64182917222911163587618920972678745056,0,0,0:3,-4461195093044247750680745185136778743,153586946360569502568644586700147510013 -egcd:3025313331138953295279745199525101,8653524593948850180321261885145757158940,0,0,0:1,904226340311477989339899624174300049361,-316121826662884025029029485732009 -egcd:8175371412709228305420266641849867,82198171379976862350953285654395132,0,0,0:1,-2003681145318731802560456037905993,199284695518342758166966519484151 -egcd:84689792444868552924138110130100582,948880824334996164969139354006847,0,0,0:1,335813075011390237303675237523472,-29972088057443111534563303078311649 -egcd:8798524220512740895216632300585304,949715540408757144575796561647960443,0,0,0:1,-365201672634729056326900567364188532,3383366519058383956113494719486803 -egcd:217649222873019166379207709389541260,16404476006672084886049791516665079733587,0,0,0:1,4012192602792553158779189839801583942744,-53232459339725558831435308832318597 -egcd:594697321798546733359335415436661243,385951688100825419173743409926063859804,0,0,0:1,116343479007815023999562971626758550519,-179268953881601291313670792169485229 -egcd:56227820964445229423667006497516016715601,81892476688838156595578659146703309694103027,0,0,0:1,25913798344112231705938155558240294564843998,-17792555222598091584460603000915882858511 -egcd:836582345984336327468570096848318493595052,901634981123482446675039618318674827,0,0,0:1,429320451122865276676843207141615999,-398345137110681379270140802352205993417561 -egcd:70540891202696028214987115150030744,9583233767357631859259680519209578191440,0,0,0:8,-65514112814860871412811677812543980163,482240548076342233536804327541737 -egcd:9903948980685538036955142798518546054188477,73908402033109722105152729700594715538850,0,0,0:1,-31422618411370648401934291718142285762887,4210725722988152216237083404707290444549206 -egcd:540759354899060646610120700119399427327,91829281306603966715331478896265100858175,0,0,0:1,-9770047081196394787775469051083116371787,57533330129430781482128884413734461642 -egcd:87721157714374242858698347997325066587969,3284901878940400480442656721233156988,0,0,0:11,-123316683391743383266271066589127117,3293091432036939336610864709449064364218 -egcd:4743734019370435439736155675086368671242,373647739342207812233533011552089267317,0,0,0:1,-108245641206455177441179302126281646589,1374258363087126030891243596578927294967 -egcd:84363520867921952836929767189559325742,422634774589111146040596691819371580962015,0,0,0:1,3529869940822424493948866300794579980218,-704608977581504060641229871924854517 -egcd:8145193020311860837319395234399151215,532483509543719726427588068482044258548,0,0,0:1,230786770856496735053640355467784076499,-3530255419123562891236643633077796683 -egcd:2377647587095841620160668696819055129523472,773096322510799886986749609397216837,0,0,0:1,263630662321274282849039145784297888,-810792639805759699888475288147822340650355 -egcd:75184748541587873957500013097478130,838111431578529041793523211422510010621443,0,0,0:1,170760592066107917165103873007351219014134,-15318478774501769393625664676412633 -egcd:579262716093774075220251800110978515474,6043876047565477568423604334043743356163,0,0,0:1,1258844697728783566949425789115960891115,-120651349069335995640079130709736259543 -egcd:66383499181676556938103877122737166934035,530832541812442581934024695453113464955694,0,0,0:3,58293023611847179837332973337639810769253,-7289859947210577726709498679713475897458 -egcd:7920960396383675142682578572154754762141,798535291859442961798164423259513237,0,0,0:1,151926171612145541807953823850652973,-1507010649099546070150810894614252028216 -egcd:175236050519274673434166760526111360606823,281877686251107928756886484438054967,0,0,0:1,30236916062321703712671871858025268,-18797506894262892734920915273989626884589 -egcd:4355982041361439306851196662378203909,230636237869932319651414274905344806569567,0,0,0:1,-64199936549664682976687684995834852683768,1212531791403025059927999150787108039 -egcd:72466256004741341461529939955428815241048,404507868131062510694999082807036449755,0,0,0:1,21713717675376618978762676626454759457,-3889941204725080048332941044415757290037 -egcd:7876383615744606969586418493837128431527179,897248260026492001519641792023993581200574,0,0,0:1,328885352293723988890704291802089818369491,-2887079658631153099411074216761336194523512 -egcd:823746082909669336405179113773513767930385343,37536559251756687921153410535826723241292939,0,0,0:7,-2029208842362729101726422682288492660756476,44531328087129752982635593229262336345380225 -egcd:658695079684573590715110773468603499162,3354130807798642409123305655417010832860771,0,0,0:3,318657279290364283792244027119488336746923,-62578949361845124027649122556776393513 -egcd:4349656478540188481997316018037862985088490,688164220169053746563537722321624153,0,0,0:1,56153129479244282567341033533205593,-354925199932218939235077939287991582863873 -egcd:7196129991932253742247456920599960563583,1551953095381685219390198409960379051033,0,0,0:1,651009094600825687351894649336633273547,-3018613181428336616312033224198849913300 -egcd:33718565587845077554141406672209629947944,694018815107815973458210855280455125239178134,0,0,0:22,-11818955283142246659701315974948629193544001,574218177114593127458433250572665313149 -egcd:48034338404178048948731566945929396028527,245664579509095487326837561653834012231174,0,0,0:3,24571615785870174014749679914459909098657,-4804442342296368964974395821258650295714 -egcd:485688355671330103332655405066123104761671,70636792660478486808211498921213574664883214,0,0,0:1,19547946123779409908059764963032815931101605,-134408846325241118506649731947663309341911 -egcd:6405149591444338689334448812244664862636234,9522703507242637580231918951297251454383627,0,0,0:1,4648320274874893850302119473915399249290504,-3126547695921952271338054472863305659139405 -egcd:64888595504329753453829805980940122981,73955307031239460966127905414203750404095,0,0,0:1,9965146616771182675098528346228259968446,-8743447818881541791120354159157072395 -egcd:624397623292152787575544548499552047680257187,960228998573111999015226085451185104,0,0,0:1,419057942589135698988432238815099419,-272496231381448951268571570751366533430073263 -egcd:60540572208222349219969550724682829020471030,4146162156445517660494465536041682341,0,0,0:1,-1307551616090572205211276468970533788,19092336489263721226601454355991849598797301 -egcd:415933355431563557683948328005258732307,5191044700097573019754760781524192087,0,0,0:1,1272462334566092003025721823752845041,-101956264885641864639215199859367306478 -egcd:9944542537317183395984185860699341460076,7450240798258772130917228765744091077415,0,0,0:1,-2889467954547926066102243756339464559009,3856846746608830907837548122674598401739 -egcd:4675993042036765219044958471374401510644291,6536407542677511110744163901635941172672,0,0,0:1,-785059225257024547643372954589113914325,561613003920024127328079524546062364650733 -egcd:500068345406386239937220975858990964037635,31309949109544510956180803197239985764729,0,0,0:3,-1337847095354555157020998431688305125259,21367488686743026560783774598424528170692 -egcd:806337865275549066573685960631804017167976,42306413004831134281119351290563344128,0,0,0:184,109822054528620172938148368508740339,-2093150298482413200450472447557203137060 -egcd:75157219623632887126944407240803003838398,4795768824229131006026406965734558941262273,0,0,0:1,375827824436403534958920350232021578113439,-5889811493651217920413308759091284230977 -egcd:277262123821617241116745186212290538176548,4446513976462629109342017933070790727,0,0,0:1,734493945181565476977850175671555945,-45799327799969845689934000551863252036517 -egcd:98171317282291412247388001560687711655155,51444743731067016851540276812580755320,0,0,0:5,5036290558758038355810670649180532431,-9610686000386638919489216467402354664865 -egcd:11014904274052317243271908163944833907947641,71515011684041336572702882283905967103935856,0,0,0:1,22425609806502481498757965832664201241272121,-3454043276916581370784741983560371109627385 -egcd:87146147055128061249851083940353618024451530,227751615279709532340759791204097256262332638,0,0,0:2,-48331440979237806245330122927282663110593182,18493387446627430920818738708903565546903449 -egcd:402410699751971626070151333628642606391822950,9235049484375572036983799138607635445972248515,0,0,0:5,153549074522224851922845419478631135245172365,-6690791492703523748388769353438975615410083 -egcd:949267985651789297050574941117571101295556,5494464173916711420285490445361551565873818839,0,0,0:1,2312316926578234231731272711847855389498723615,-399494538794444801285919505216009539379901 -egcd:2652808479750993333843650846776418156707877,915987161711340965720691406464012679987924553,0,0,0:1,213033065472660034588639329773318587419735771,-616969261334816443264024565709812558076022 -egcd:1163472262648389280712221532386409222890356,857318074714986117766247044705267090767144356,0,0,0:4,-58043325122501989349933223216924978819779359,78770996207404485098817007910493906597668 -egcd:10406098257685455333151512936763024878968848,132372816094796368125357785730208051589,0,0,0:1,-32359440420839902616239305059134083709,2543841904381874254942688300338927982667997 -egcd:9959025918172523065346020240503154713303537545,33255835687967680839900430396715330645,0,0,0:5,-2158235906216683429459031976527278345,646320469261857919214099624368160581238329214 -egcd:20019690353839180990330900629296501436697659484,19010146624748888880368271406285795722061,0,0,0:1,1935509632476532363016337521607327705259,-2038295878718141770102878985700637985667333055 -egcd:5207112395329419329605828389549218469303865220,385309659461901750334677757380851297191,0,0,0:1,165915572078042391660107459840258089603,-2242199256442908119061230570559516064159668349 -egcd:601993736892612416519724463932736313173624,96686409886473200154411387090103804018,0,0,0:2,-10124237854286044843764528144646895899,63036033567153639591480721728193636660221 -egcd:9451492454940277922879179145156727251630812630,890293318906622270914566376145745936579427,0,0,0:1,-43405247621678402209625928105193852993915,460796865133092194091416698827502410647445713 -egcd:421136320827745191070632842619729525606371205,5096571308608922651479373999535629936434586,0,0,0:1,2075009266732940120807179123930369827773227,-171460716501561691306683845372085898878504919 -egcd:6991302085135094450298373606130554478351,38899616762470308043236153517332129921230176375,0,0,0:1,14126040436007201764984293331381102890858042526,-2538827478892831192526315111045693967367 -egcd:27088648614991201551819724048844336626611308269,66943487424321378156955754932465286944711,0,0,0:1,3124674948499217771505415118094328323367,-1264398150927660424730004830166744953548129302 -egcd:26633206192249265107832407597998778309,28885683872079634891270314620229364998599495,0,0,0:1,9892272799081534529886664444698656529168119,-9120882937536253989479027571007889246 -egcd:1293392085583226795107306787473899947221,227416266407034301082063615024346171491,0,0,0:1,-29907285136077480460193096683361056071,170092696126889751795759289938962958812 -egcd:79278263825216401490025404779637155001507461,6902468820227813108248070623732536421506899016,0,0,0:1,-828360674462642860581800632473551541382892027,9514131509009287407522188041794942836491653 -egcd:1369065262257696288586379151913703456926925,3921318368201662164740427949862301432814147,0,0,0:1,-410960600654239702792755872263158438997325,143480286394165720161890484611766660313358 -egcd:306811423659369908685018354614281524950,502749149014618067791749640767411770493,0,0,0:1,141326450781475203732924651029513241656,-86246927816738114071710451592343402043 -egcd:9719811370227578672711620046487180969505460,433430579275086048076182917145558458171286,0,0,0:2,-21526798977219262508638934913326592901682,482744954943713828666591712770941953706527 -egcd:5788020148019388092466048940831790038394,75552141815311856081164996922322733981520384,0,0,0:2,-10518739104218372390717930642371017316511851,805836504487242701754398309597647648769 -egcd:856377298658655395314577199206116518702414869,7440017597742186912190292505781910769381749,0,0,0:1,3131903658221817580778138665646284726818753,-360495275616161421170385112657167062910608644 -egcd:1689647907310953553519794122563381184305246481,7013833160958039894149455543255572091142877259,0,0,0:1,3398821499458899262672354561225223368687478979,-818783609774341856728010232260343119764124822 -egcd:7909384989092513144957228763780800053405820795,21477020481637847440258297023176370214097826,0,0,0:1,8859749519842138091084779610567087626046933,-3262797552354666439266711401038798592605600059 -egcd:30979357654518132817819836417705740257922764,260940405630631925922236059628149432070542923194,0,0,0:2,-31298236747286947106814487094222102681769572678,3715788161694199667767789519431128923820201 -egcd:984850871549275259750343917908080800989821,977566457784993078336038170702548828397820,0,0,0:1,-129037873131119636035172993956125957494919,129999409046825903670134925875065572390725 -egcd:259004643342990580972799103658759292285,825595283492252050104233175225637957516,0,0,0:1,-375346335685149725207452317778364301475,117753148241117547777519554141059751586 -egcd:794001855955218991102614066001175910817213141182,174022684013084507387799105725951096751,0,0,0:3,-10938806147098475396784404050656099019,49909771430013704026181882273607321813941786211 -egcd:9811672997383161859807242291870208222778,13360741920658508650761847028208454943504591143,0,0,0:1,-1533646877846983951433473286385655919684529373,1126257938986564477278948068254744237365 -egcd:814664124635912365609614464622452998365491267078,6619294472928701717769024660487632849749,0,0,0:1,-20513340331737189016390223384951047090,2524662184626944204865785704990399314361764729 -egcd:65349983887385540524173152888970462548991658424,660961177147869398908783897959724877565,0,0,0:1,136074117943219163120699904988199259974,-13453802919940888187441439968788876247928595515 -egcd:9480849241792212657354357845320329169823,109501469778488317937641164193300571933305,0,0,0:1,3804987659970807633940154130872070360587,-329443197831394171414676889854922460020 -egcd:27503221926847760895555182327237470261,628279771111583514714898881996093117588062576805,0,0,0:1,-220013546416993125291275595704774951395099395899,9631189276257473190741590492577938648 -egcd:9168322681946840027266828729455827850468,17545637116438090457732596682574619803340605948,0,0,0:36,-5813964096141413249612569112312284994308162,3038037236318899283433014963271953349 -egcd:2822315921382556721951896564280262300560,9667399667971791940314575307296845555254630,0,0,0:10,5947088441699739947657932361375488982750,-1736202388578886042166718097228730473 -egcd:5505800972045902016093732268279937842194207316,51771316999189365770795878029705923949174,0,0,0:6,-3811017207863891625916436251841504892445,405295894788019795906550250885730982995283199 -egcd:315267941927920486224102737047056204820506827,53799684850237810468689873350190525649040,0,0,0:1,-5914499459775939664589775100476101941437,34659163476663297256696619263386415724342510 -egcd:9236131800332788704514704731129950333068432256,263545285729806754190856317347550775965605470790,0,0,0:82,-536397367813719623726930035810410515130829203,18798426891833334693523979076019903671419395 -egcd:4691968437686244138977558753087888903984652912321,529627716152176622105651175417186500904294321336,0,0,0:3,-62906908078037944919327151653884810577788339093,557291882983286077007886029051098501072983943821 -egcd:26280657162235005084493562155644126686642367,1370831800919999167427179169348201053666488416,0,0,0:1,-668950545558535940883160448398038518399005825,12824665968877633003981478280580109910324086 -egcd:6045536043693122656233686475730851232212520209,9098289067800470455174047447178904376043370047963,0,0,0:1,-4206871815253583433092955625418062663341089554958,2795338222470951124088702397531861215608753021 -egcd:975864626523714146502659630640337751487212439,6940988044327081299708879840237906908066266,0,0,0:1,182253857832309393566019050168841800978819,-25623886940908208028290520855889573665491690 -egcd:7654068749692096886133022573587354873176,8748850507770691102882209873577170582376569780827,0,0,0:1,1964615562778113529408565381234249139996181774218,-1718774663124332015670834305172702577021 -egcd:850756247079996358624434449149782878253590,77804648630198634241116586202790778174949752,0,0,0:2,15630184779111518797262593460062779851865543,-170908519965767105980455355954051171663309 -egcd:82272488067830066441292242534154314172131040679,688350307921755313885460920932900835434083205040,0,0,0:1,122655586374168160071266274502558269222291956119,-14659948793933732247908546146130285866296684120 -egcd:50275540077712584568735998044458763684689,12487524215373463010691321732158466401371527,0,0,0:1,-4310272707559638258553658315624231083512470,17353422865679261179696672421592621956753 -egcd:392457454844037291990581880634611045578102532,2006776942135757695410535631587193797511467,0,0,0:1,199439819133605873020173563252516107678750,-39003659135343525760309650090094101928308197 -egcd:122656263585184646029569124623378862644114041656,280853932414286875647350581672340197593777,0,0,0:1,109974473329532838224195381954535972984910,-48028731064556951924576138949303550622577592767 -egcd:122723560516597269398769177665063637962901,765616664403695605489624269692889608096979049375,0,0,0:1,-258226752172223790724516164492921485841472381649,41392132539192550495968547772584597424794 -egcd:6372235942926383038761681930859971388824310569,450457134311977647755977405844641979355735844426,0,0,0:1,31158770674255982909157224955056954353717569041,-440776764988213077644482491833524983838080428 -egcd:55710124200643562666353596472476352006557402,129521722711569048118860224844308955120907039667,0,0,0:1,55524240351481153050668122616773552997196032054,-23882189499716295999156216742362854145492121 -egcd:52638437489786006097404197485813719704184482762165,38484575113442816269970218082013142493165049225433,0,0,0:1,8178630279958745518165064668394460744601578134160,-11186568059401556693065851931124978194437124969703 -egcd:8865739212422336318534105978323392918519865739,156466530229954316319347454260872006246776,0,0,0:1,-22332727854888622695494970502136839031101,1265421689689503887387017047199762890477050140 -egcd:265397516257014571242786403736445985853962,32533852784248587969347758598232018992116038855339,0,0,0:1,-12908032440841768357183540035974013542745984846425,105298311032592235052498055248608994180209 -egcd:3535080036435391574837524982968689282803781,74249567587110445850983262206024731586008,0,0,0:3,276939285966568545124733076132658099351,-13185296196863522858383215997152316071266 -egcd:47346135611124365598287053304187866567992166810,576740218461234987857552610598030250941997676415,0,0,0:65,-2126430640686396085034515662972949280965477373,174564336349217453788449880226773993486353933 -egcd:820830106986357361740709716178206505926491986956,3217456208051702777250937472105195691807814504596,0,0,0:36,-11508975978649369323663700445407671174097770014,2936143764821793638026885620541736768610769895 -egcd:61739911443386844943500901189571167227813737,3848550281723202830510194085486377628651546,0,0,0:1,282984239815910264880297243679049891924891,-4539741104353078811173218272678740948066221 -egcd:4935130472338939834485774824152368863725458605,1035806531451219174441688602906921731365011,0,0,0:1,-351908970967360751930093135356643002982497,1676680570528195395018821587922991870638322426 -egcd:3266540541396232463580738683146696014840917,4935087952292184155374454402916005109216111873405,0,0,0:1,924328175593731869854608058802170988017990845743,-611813910576679910370160267913438850314786 -egcd:14026215249956339676506155791652279539578905172124,30781337324124641929530137787213325258646,0,0,0:2,444505386198527884956851751358641210372,-202548971831029013803042093087467123341818781381 -egcd:4294047460058049577385615940946646673529873,7888285331485320409101196690477192599721030309,0,0,0:7,-535244381384157584881763833984960586681612928,291364305398447665235093604580474039882939 -egcd:3323417013847245232113101349532994925521490334138,5122451664153873677965641025886074343796981341587,0,0,0:1,1425515532127150707596577092883695524648753420721,-924866232731438695305713017060351754850266688931 -egcd:80935426461988829507228088844586242462996089069583,653780401944410326556349775523493660318880484692,0,0,0:1,-2131004721544266945571387397182966694100115521,263809951197286132655279411613822876325373015332 -egcd:226598141134799568921266709711899059121200358247,76992399049617831317308817003284176072753,0,0,0:3,-11448437027496398690279470751607992954914,33694164376637528064598542583627016152058686337 -egcd:664319721933063857023655129340934847648590823,658199665265274466519942300240556524715643,0,0,0:1,124352795083709078633408434668474547721672,-125509049322160532052275511129607044720504885 -egcd:8884738003622398686160547451276690420223171,4299975907886085056063300778367761002052776699,0,0,0:1,-1116654257404751368771631661850560365381800860,2307264210358821074298460923747673330704239 -egcd:59719426635130468128765525893511605775762068605,15511948776571237043257049623825428922813014745,0,0,0:5,97984350967559952500670074951721914832581821,-377229795126457555963914383461705837385561060 -egcd:363283435899720839207247713911327116143466,2646681445153091542108809095748079207088831696,0,0,0:2,-645295047870741251832001677370106736568796843,88573183821900377839952804802844006175665 -egcd:52931164096003232205392055066962781951605227742808,947807568550870804286088054962593413637490,0,0,0:2,194186113496156753567887057914625616943499,-10844497743719497124422772319106386069172727940731 -egcd:795766141035085366569782895765897502125872618,5246887073403305711124413150544060139255883684657,0,0,0:1,127592149200051856506732829832319739908307643715,-19351190672651565653969035751475639783463117 -egcd:82250667724186953595968128381514526686421673,289549134724791932338507372783255493005385,0,0,0:1,86151709811972420581533505911642683307877,-24472653542377849432010330789204946130679372 -egcd:61639425939671741256997475006356513882668519581250,3578514828596765772820255901738596048541569387462,0,0,0:2,20996407912033026016667547576264242700583756497,-361660239647628207370955868455456400780266234704 -egcd:27684537637183448026151946909258691476828389542,9528939357362238270010422927669825442411130925,0,0,0:1,-1491403989803236735430244778811958637923713822,4332993247150086860055318193545031767864356713 -egcd:5435307729184909003359952075698243178049039204593,81652326357120772943208044441275143659212363293,0,0,0:1,-18786061737353190995893206957396074979160669634,1250521952251468167669960168322598898079025280191 -egcd:10924773406337855054647765543952064725613723120618,14527409504138198936169926863040904530587755,0,0,0:3,1943780369495648845597031433407372402007186,-1461744441249394454828419839546381797839691182739 -egcd:52213006390422220435171878651888270946818062,871645758909254953745968603137179283818003972840,0,0,0:2,-29741256420958113534899191845042319813299285189,1781549896496816094656316432366924841439533 -egcd:4688712561272866795875010705784298446804017837,70990811276700678878005205180077865101611393303,0,0,0:1,-25861123710957590275105742577281286038202175280,1708043244069738879850646003632659154370684087 -egcd:601876680344350654318757321802040059504236,57573030176060116021084277750039823155966100,0,0,0:4,833675530078099686733366641090550664373764,-8715363061372584744643797829391972554063 -egcd:857505478933565140863302872774416730451047627,974314057900536449023558662039365613006496,0,0,0:1,29431249747985173674309139068596168851555,-25902795619249680104451374326446194507504004 -egcd:45485812933729425157241764872535935492149300,423866118406290068921435664923874810909565066,0,0,0:2,-92026904416450995131867199112617558634435512,9875567726185991444222573035098359638524797 -egcd:8708905393403458838119906185182390415193154723813,2649214839375624500171797402777266233996857,0,0,0:1,-878693520989369471627635491452708391853508,2888576128426243950131007882950541927952108467965 -egcd:669875536982562277168757149616294771674281736129,97516567980777338564845413606958767175755421280,0,0,0:1,46381889226420155390297645103754990574679184769,-318613478664861551321523526265950713581534609390 -egcd:552142172787258525043120366564284640581592165713,863962961122054854184533799151634607728550493,0,0,0:1,-120985334199661742489066675182491559538012882,77319408708953488066818827922573705864500213519 -egcd:8912171393647579492805585431506224333605369238663,52587987699344024446727521307243310639764632765,0,0,0:1,-24208869892720635889960417808933792198197524458,4102716364884452109263231978180096274383271959027 -egcd:275693664465005824088249757937188874572769224053886,3466602115356222955936873595606282941132234317,0,0,0:3,-221006434365087927325688159903180401056179309,17576310096434242315782225656574466646053079410381 -egcd:5028642354464479207857147979297496218105888083856,6176113771729541577635381980538182053262643750137555,0,0,0:1,-710631712528650391026653778416986011431221346318294,578602153413129397137286808053013793718378471803 -egcd:8465402742576453065707574311196744344728516738,61661356518501223354721904644532208588697512,0,0,0:2,14937393734471008272165421983397469074399301,-2050734220366918264382181168692457172485461053 -egcd:33090073711191135330109687427439016660084475,445642221929395862212411325653215048318205553,0,0,0:1,-165351447151677755593906743574229677911339226,12277767467392269710361072198887310106213167 -egcd:38084383375564641238722495396072746414069859975328,95831351502059780199491060292730447215506096476577,0,0,0:1,44701417714871641774374755091058724540366425072078,-17764811859591030607619685717710642838720797546079 -egcd:39669808567342798362844877241009314051976791967,99119958834519191165493856402857838929818011836481,0,0,0:1,21195389536433434447160930459850047078305039520162,-8482822786723704528943403211431983212657912413 -egcd:656394443821895273811037542396860681243032484395,734418747296348194673752402369075033727947320580668,0,0,0:1,-198348208669444102178880145335745201028303476849097,177275787950594932355555641521970313763246167487 -egcd:4151672272018474022265799254859348963458925,8657522863384451966497522640761563355339408510876,0,0,0:1,-2593012562485881796973545247397827317361955393143,1243466350195667180206121886940940782727901 -egcd:616193338763982804182193956310277879275176598293949,1991282968221128113819350795131871998526550,0,0,0:1,672187344044686564879107554044311287720999,-208005276202308979536534651654988391029147577601071 -egcd:8687537844058264818625968633794987777114571540965,4588008014762873083430262838940515379172783903,0,0,0:1,-273131667435174631012578706118035112399381704,517183424618854791062408052693760196421481021687 -egcd:94299417704457808128488838366264331063646462702181,378910566091211661215935743383333262065042992,0,0,0:1,128249482146971828065759668548405619393919421,-31917430047190763670990418627993655771034878683475 -egcd:436084754250362560867427019991801320098048671740882,654347024914243888183493882710929942025818488523755,0,0,0:1,-124697661855776361333795036367240691582603011762292,83103838109598963945718792347908533185519371904059 -egcd:576845066105037981878716311963244757143336175108810,47169550600388313323767894641195570046736010,0,0,0:10,1719524489809815702007774620101569793957264,-21028379651032953624905166044366014052373893560783 -egcd:455450311793013669133010532968680473621765301849,196887903745437577462662843393301335218213938749,0,0,0:1,-62895287849643879856045665234849365671155433961,145492322872554565259262962480158041518555693610 -egcd:3900215337216547857536549769208785869150917,703107675983691037178395903530670398382868009,0,0,0:1,-291772656941803838282558784634427859227791877,1618494905481932988460302827539233588975690 -egcd:4235417950821263716456215603171042810879865369448,30099855971642941146023855759175128865528083067679923,0,0,0:1,5433558916670879875362806366021878036014090738651158,-764568209037069458320253834476596864323900548821 -egcd:220042544397196218820917335251808518190371752175199,933535692277684232594974193302788809761883748,0,0,0:1,-449365625423429659602361441217910654207591337,105919416258801934451915453319879733490159050690718 -egcd:5686178248384112550645420272297349915998890583392866,6394565636060087046686488902334128218389439375166652,0,0,0:2,-386878534783330326592254369705226038342074430538853,344020287608948398285006281037355413110304951350725 -egcd:794165469687755539056069459111608933432404895,782304420953549695337102011535232984737054552,0,0,0:1,15995811988912600943335882434276695389371735,-16238335360201271890738766944404884526025987 -egcd:9449310146893908465306850102371521287231298790519,13201049101057800842831327281338645274946911094123582,0,0,0:1,2999793730046215341383581586839770857893954084651465,-2147252170256912651603598387202626192386287752937 -egcd:107247303626237439573377913856037555329228637,248037365489312307060126693885968609330300538729254,0,0,0:1,3295187394963377883360979486845920526196477093867,-1424785182489835167324341201022464061856757 -egcd:77133522083392356030810996444450842713578606,362446320582641682962892932453319089993578656338136,0,0,0:6,-12252467688569006394870089744676118644607994086307,2607492291584185635921553686052009701918118 -egcd:3746529922356093187817513741403069494944937614875518,21163192571109744382435762015727356715830696078192,0,0,0:2,3360441477707708557262863370472736448288910259287,-594900533379131316626599736433550281233005427135467 -egcd:1480332370019794273587942168003226621597722167298822,76107169267609678850598825056993761581288230,0,0,0:2,14857689610118706993669180053071538933427241,-288991419405294102329201336816763365353292004875870 -egcd:87998368974239358270522399707979936427930543218697,29464787743750967717125516987996695441482348481,0,0,0:1,-10786185369002819879240292144429281969862945959,32213594347963902773511656741076864997101194881504 -egcd:6380501221201357438439263574761686303469688367209765,2101187057561466700690279154331921103508225955903802,0,0,0:1,145825347333296093990690878414508843106434447353569,-442815789957334350484616630550368772984065306700842 -egcd:175895697545417190557526178538864907787776215968336227,5776330255785661509841982629017072861313591718920,0,0,0:1,-1178091011635241644387254463790507228219378563237,35874185008035358988026900184682989666782145774075290 -egcd:93915008302504565970294462868559347357873734156532,843248938319701518093307338244595352966717434,0,0,0:2,151276724006692666989516063064725067523333305,-16848114649719091351395265497230824419920506759837 -egcd:5976711283802179473855536437769569634799149864037,172795022672485802101638449934309020644291613,0,0,0:1,-82366904453391796214074238888113409850549992,2848943214015556962691631373397667435722686056285 -egcd:2205248615867285476540661866508420170225141139,983067017505522956565352285112444457364117116888337095,0,0,0:1,218267429603838059510873324752454714497132891681911749,-489624754418200054062883904405297170239063538 -egcd:197117471835494353404914690778881470433860149135581,14191428012947823659636428685835151126952873593,0,0,0:1,4459525876016258192519437797582725274696114004,-61942354600486601745601801863681456852754652027611 -egcd:83820729536850105215720647153262328929793073678,98655882859633233870604900342857378466000427081,0,0,0:1,-47880418250666765255679449182794532875903726259,40680509585126232668822359561687380513654344563 -egcd:85021523085826077943750195658443246760234911045931,47005020817553666242267156046836837169033298,0,0,0:1,-22669310085724864052132047557226288756475911,41003689335106972184099227663484803158330242761279 -egcd:5946017255219161818471671405255932514415767039839,6345872556760394171049368149822641242688180053,0,0,0:13,187171763444601755684128559806849993896322673,-175378015422918739007590870520259264416567583578 -egcd:71419612666385070427345623221576087904278400094,54972479988506664671028428434907112336472819338750,0,0,0:2,2179890297903206135328344242764978585525743095133,-2832088360648962656287313107815515563957911534 -egcd:5562790597381394993959486043063470014111501298412109,626590695183962064663009600613096722773908377293252,0,0,0:1,-303862519026371604863957069193342886543269595527523,2697651875025465536959295692693138029979462283932754 -egcd:90975070092326503556334167670828683463142797887371,295231087609240283637008177080140457131796372960954,0,0,0:1,-47867129509253228973744519011198722760573329294115,14750192798078785017913570665381167139156130951029 -egcd:42687927598884676578701708409630846818779523811494,523099282468377097295263711037946167371766507649747737,0,0,0:1,26078560817221509087425598130571631203765655378478163,-2128161428162465937231181781214658658975752224633 -egcd:149816245892721291534122835342563111201446590523,42288103374933513898890089821708822543153841946467,0,0,0:1,-5793317563557773262285017616969069220347034903402,20524285067631197541636488904710796574034942341 -egcd:12209271420687937418818672144031853294587657600243,62252474450489282538022150950275214557489689,0,0,0:1,-29660844749864463057583581069915997873519776,5817235496494160175697352420052606379606904518921 -egcd:379128079964034811949790348241734661654811843827149599,87839782929720118794817037174959224009493462534,0,0,0:1,-18238653567217319969185225852935419777019511901,78720432558454288371409573793995440050250015166426550 -egcd:114215100939505653408300174032176291289669380562,23741400935738901134986324457933329645223539201365657,0,0,0:1,-1827217335953581276681577241157959216199445411446483,8790374798405201192178937348284544880847527471 -egcd:1926579880365706875550579926206866629082953879469101769,3149513448830666223576844897044248210956111085,0,0,0:1,-25053848460898792135835176590575779166100741,15325618116798233452500443229076217786312231314349798 -egcd:34061999712899400597535018329561333406378163617467742,171772975832275747480880934476689264812053050103356,0,0,0:2,-30353734173948016840673304098829017018627498398083,6019042749355297425828459633966808378067330339305673 -egcd:69099794678760243778781800244520189661090743680330,84272230826240573484054504866235051739757277304495597,0,0,0:1,28460232196411257321137881889341868158873397195672407,-23336230475929248726663652223642021667308541046297 -egcd:3730778374119404797425236403038460041746582520101,7496868998594071853311205794112072400183459199,0,0,0:1,-3417158685287301201140604914926004319611879342,1700531478727317431970501601480361491459818880857 -egcd:694479210821228795777963254574810624923840260622974,85973514938807029266086479669558486228659003996037,0,0,0:1,-4363087914001491864265409481816897855579273618450,35244270906174989824540564289343982280916293290873 -egcd:976689567441345731919313645335687701163688099904322773,265009793970603358383229061050229738244347533205920,0,0,0:1,-96111738809058080341677874192436389369700333445283,354218352450277244615910581013823408191179307271342353 -egcd:11306238535217366491646986230523588259738750710860,9711793888012260176296349031139366341426284472,0,0,0:12,-88605262509097782289291274601914001329437685,103152130796347815361130641167067199415554197871 -egcd:51967669483767224464737921823977975662824880006456,1280946574522273740836915199783500350492882920,0,0,0:8,10268330208562887554239646266539240997802113,-416583486807630194700790333441124375693097218206 -egcd:2608000098327642864267195515218438837191124764,76463054831351286123635518055043629109951547944085,0,0,0:1,-2838713528640047131970640855543361319685828626166,96822775105523699697177482202209085573424645 -egcd:4468842728483750749309421622173029139461617867432562,104288232549062003896035112908374600291926031581641,0,0,0:1,-40897526108506312057324550666951171967489049680830,1752495058126446443607941125177833715948426475092021 -egcd:9515999226131724451239821556730726791154394377871161,7017412308925966316941922876372144830810785912251994145,0,0,0:1,711542578372858898917028457620268762515142703628762671,-964891091911944776459586890186052584752080420639414 -egcd:213839504515148236538273214896810704701481567163944,7404902411186480168131101360415567235929305381970861083,0,0,0:1,3380833338481241432824569741692207456495975720502139882,-97632039668337051697511687169125113631113481270429 -egcd:4704143575442564619226639933367529686541295734236339,6208190661916178838888950379033665108451167558784,0,0,0:1,1036231609662380598181323571412442265592690061947,-785185657902980530502486174709506058502162341225648 -egcd:7800918125130733756931790281898023131423182325003,49727855698492641147972884260023067177838769605345,0,0,0:1,19886322404414182208422530205281052324435144823897,-3119611145659963799957590789424626986012404758802 -egcd:16259480181384339216392327597672842436080220095778,4211887904631546369945283484243515208523965162735,0,0,0:1,60867090942630605523831629233862298664493090172,-234969990011354799892126958820227867474219476729 -egcd:250262833515008658954045947163909193707871367256381,9360574256964093238653836590939739950376635341916,0,0,0:1,-4577416570401947847275576528151972968266287934083,122381085779547263818532525602930002569551981217314 -egcd:49350305588299753800512832973348076363359882929159394640,82697581133815540138675428448684737574082443779556532,0,0,0:4,-7094756990744589041872300640946840405432374076597223,4233841193026162290519658157361356032844712511769908257 -egcd:6929763065061301565614851166591733819231208368855577,7015852829866459363250622386383961076838110347968449,0,0,0:21,-140151926963831515623623343137474264566890746373088,138432157931912474126854600439744488201286606016053 -egcd:798771392168930640410188390828161875038624287357,26910611328285765453242714553447940950358339441064142,0,0,0:9,-589064228600178541791155571644660170053125967736035,17484837048696468032579268233817988200645136912 -egcd:25397454048672817537966781867771032309891340572691,23256250389273255570062468054746082424429806429,0,0,0:1,6728497363996047750398121428930431990223003005,-7347990314789774434378123575091130429836158761726 -egcd:123423695423831974268547456942149055439119884772839,46840700163848752557976957753546114906692522490120,0,0,0:67,338082829316269748785166702372267870226049440293,-890837071341720045931329882131992024423327017348 -egcd:255083834192307897983466926757917955799611163337033,19691274316552711716703825178816583758491484527599,0,0,0:1,8267652047084102914471657271320768345286498962274,-107100452212241711960185536892796650356109725315359 -egcd:12995280360832692505430343465201277534610726091988596,59465235355121959404752559527335404508679919016,0,0,0:4,-7141155689480540101632551150483184164353752087,1560597880945943136073564871687625551494286751865366 -egcd:22991573949171758827108078165749233594263284484912054137,283817289083807864939015806533699958979417645701638,0,0,0:3,-14276343780208855857892287243849657918266920759821,1156503237720469287676414796512164794747302414005802460 -egcd:73499010438519566918821582344590421556887663107370504520,3896393550660794088432191407076243899495579652351675,0,0,0:5,-256046171286391936281227275615268399494905890920906,4829886912457785280143525162619404419581682774707946415 -egcd:9583870140187439825440257165562832875040106160360,144350435363505176257999415244713117818105415897,0,0,0:1,-47530478459628272998131044625702170795099568341,3155694903939446205334553339280276087238902971313 -egcd:2461253900541942202429868097665121039076482321402912,4470103014382515051213146843793545738275750665419,0,0,0:7,-245912852093874846806381542597934573753889813353,135400451502357810057163583858882200066572301755797 -egcd:7046608505460840717651450079359511868310129053953828335,58898419892762238699911322923913407676555176583579748895,0,0,0:5,29358649717475420636966955061254137346962695123318402,-3512469624561697691831838742681262193506315801921927 -egcd:506826573770755010074059089662551590730419138892682,2122797248606187597520041255704732461621253654865,0,0,0:1,383346693931445995397683618340486631342217567423,-91525599809021126197144665711931909038630799314789 -egcd:651539360489382353856038642218105742846167090450124082,62040904220472849789353991154770087142114255535343,0,0,0:3,-2355997477848366312104173979342645132007028304972,24742145675004203493726030544699958619654829318107349 -egcd:21241404865403392359971818730574585605571301440311980,633711839015175748736538000969606849077009552352665518,0,0,0:2,-29634494220450461639960895856430281807980194035925990,993319441051141196492952842918573155102238513897539 -egcd:705059512890402826453839323123808449258609192987,54700053492589412596920621965162616297504870254670606577,0,0,0:1,17209927692044096764621482310232491609809545108074829881,-221828361412398689301748597143984873381349400098 -egcd:415394044144508415296949741318653110880449387898,712027399337932687761182029057846295919208016685209861,0,0,0:1,311602633323208816932778876458826680113268935109136666,-181787776906565417455080707523448468254230808647 -egcd:83651009241467439062630103095611805553814512321696,446490369450787055845922775483794833260870810890813375784,0,0,0:72,-1344835414515943831032725871506341368981976803617565435,251958042961384654578843735842923162844346873473 -egcd:6070283815502486157201490923461524628539767903594155636,3804770539341434134928308971505690245714256366681925,0,0,0:1,891543412196165172397968883307773535161244063478816,-1422404187036464521764325842283917202125611790642909427 -egcd:96178348424332762060134475763000420774833630208152855,2806142261547257037797431000328431629728168038259049468,0,0,0:1,-225250250276381610381864841594193349660878357372833721,7720277532117966753867311498921456722048818963874392 -egcd:865765710958745231463327672884696335768725685962,880656889492281564646438436388571726030066590436314543548,0,0,0:2,62379218473169386716154064883279697033462165217514103793,-61324437558888497176774502622595381331609802518 -egcd:3070091985634497235831095568321669340142231224753241,3872660861602828375769437905423007683683302354983,0,0,0:9,-130408390759835341307955887188778334976643191426,103382601688896077821738216002703636813104276203725 -egcd:9504468312001233029402718544926917268255994088587,210179277000215612334709921044939204096404089694219,0,0,0:1,-54268679178541938321110274347377533333619467634554,2454071347795548035690892610366452456534032251421 -egcd:9812086714469743421916608502147765364717936946446424,233160386400300595605996182320148818062281081024933671783,0,0,0:1,14451818554970487550218007381375932641589632889155020753,-608175767043463911892366241689545509336116825541137 -egcd:4360347517898600722460235991841444558919923303109907,283395924916312034671252929842416261359155988664543,0,0,0:1,-105355408855707603292421311080809208231429401696971,1621004944361269525623546575360221751817290611287086 -egcd:907128595118057734919250855358256235977656150196435477,4751580206547799719609283650403815057095853254068516282,0,0,0:1,-889356095279141478429404461825805439836321286132426239,169787799048096169202610086149258055777141370865005422 -egcd:3973997826695458235929341947630757918334953729985,919677988629130382841929983511305489218360268786013503512,0,0,0:1,384594482287927020029873640499023823049367287552218834897,-1661861712108041873322099084387127370672735847462 -egcd:324009569902112154788016906941706831494599024684,58395597253468362692345409336860870479092825229925,0,0,0:1,-24289711240864138406494464493033446495436364142986,134772127734877303605549194460068805419486762181 -egcd:9872056470535077418025544166904013532879288870389,987664828323257512963011567924222937884833452375999089884,0,0,0:1,-258549889378418898215810868491864809363285916014306422747,2584296853749008257728523207193933514360103172426 -egcd:6138432786866037932815463907301440109085864021227742475,9643623319216552530346508247173742908756209280545686430,0,0,0:5,405384190611356540803926039847087441116531679787752407,-258038241909272527261791760130585315013837095770089124 -egcd:9769529614309261031704728459798815700297631096679,3517848632227013216032933216030143937697714956834420809911,0,0,0:1,824442973956188793176135575810678140011131714049438939237,-2289586872950597937723114927397934685180169653102 -egcd:147669070524401967353624660276651246996312407855626175,618549790847610101709816507641892193136137457678390333,0,0,0:1,-236805668183208014750730197115976279202350305381572622,56533642776931164630044536099572395597955604255694447 -egcd:80869456296117844580165320271841144299624178440949,1514427424327350480216517445312029963129987647776900447567,0,0,0:1,42937034698172799579489980026944211003937200326398387877,-2292810203533548889500989218354940644696579422616 -egcd:780887627633271006167866160971476360466719486004445,6754024108447725515883403276228352886002003364798583358,0,0,0:1,-1452325437600127814516627181590300017598700651740748185,167915149147974595643816598065833917458080039787797 -egcd:7199869643335698558244236956584912995424331052926,1527691037819148269409741859243943945701460882281456,0,0,0:2,57636477641770614383597878932375099638471007783959,-271635504463112985014746084869260309486608865147 -egcd:455180951765525170462545338088508018606122351276980553,556221150703226579334767784298557173503136268977244374088,0,0,0:9,-26099094677797268547154896038734560717230667555583420223,21358070869183507434245801704745654317447493932633856 -egcd:93476519277392442254618836667858506817969980392044,987802175681385610339163711595695835800228648753133,0,0,0:1,453471836205864432156593588057832292869365167568759,-42912406838557667802187349192829335384746711750815 -egcd:9180181445786644280041614496157713989549610132944896,7069909765059709568140852896063908165359626347795742,65537,-59832818838,667:2,210652202891822695654795784473414654009859303252815,-273529013631655892016199829860413659231566937548689 -egcd:273907002017625351000357839595395794496103882311,58944774459707213986630692862708398194596783791903184158,0,0,0:1,-12003726808325219248723901188186062373690817244591520681,55779411376906145094866211582214461320097963024 -egcd:22771998405981875169000582212334819990253681885689,60821984515441323586153842147099185189621658456861319,0,0,0:1,-23264721625000571047177124342948563692619090190183688,8710406409472299618111529542234963792113787292207 -egcd:3842241889401713108515872147470991560356182059740378113,6515515734620532620891823824801930655919134250326,0,0,0:3,153369059865421665432317909089784699996324017593,-90442729379334735477828876314356700692421064332545681 -egcd:2864468548588229088711156824748351772387325226285,715849610154437365072792769096891349579259900786933,0,0,0:1,268550748090675670123276782608442742660458501428618,-1074604443019284165403977646554099860591230618013 -egcd:3810898561978236785388520202269462480808294248695893,1062108199707865331145512609955734128758543891943,0,0,0:1,339617394241108857543260840698815161575640725383,-1218564586632720303123702323672631316897985132530526 diff --git a/polly/lib/External/isl/imath/tests/emod.t b/polly/lib/External/isl/imath/tests/emod.t deleted file mode 100644 index cb2340832d6..00000000000 --- a/polly/lib/External/isl/imath/tests/emod.t +++ /dev/null @@ -1,756 +0,0 @@ -# Modular exponentiation tests - -emod:26,73,10858,0:4748 -emod:-79268,611,80,0:48 -emod:46600826,0,8487413,0:1 -emod:1465748,364434193,5,0:3 -emod:873883,48223971,348,0:127 -emod:-52,183,125544,0:49784 -emod:-846,394,969114928,0:877192256 -emod:7054382,917,9,0:5 -emod:3768,797,42,0:18 -emod:357352724,2093262,84225,0:72601 -emod:109912993,364,8323,0:5279 -emod:-3224,270672,198893010,0:47016406 -emod:55,95723840,523703559,0:372050017 -emod:791480518,904571,581451304,0:444873224 -emod:7278,922,2398,0:2040 -emod:-5,925972,33496,0:15809 -emod:0,649246,262,0:0 -emod:52004,997,2,0:0 -emod:-4115715,8,234398,0:3299 -emod:-13612,2576,57,0:7 -emod:9843599271,9688373,8509,0:5780 -emod:3415850521,762,3050240,0:760241 -emod:38873,18109,6791035,0:4721568 -emod:504242,66851907,859955181,0:352955933 -emod:67731070,2628566175,7885095,0:6298660 -emod:575051,8,72796410,0:35016721 -emod:3,0,6595628337,0:1 -emod:80479332,13,9,0:0 -emod:35578433693,9608165878,32791508266,0:32575013339 -emod:9998073,96042198253,2871019117,0:94477702 -emod:8502,88462049796,288668,0:234260 -emod:966350153,6125446381,940,0:33 -emod:51249,46773,83983261446,0:2570243355 -emod:2571204,205,4404831987,0:2226688593 -emod:19,439650,888059767,0:247638574 -emod:9485028101,55407,3066739,0:2994746 -emod:868043,56705619,183207,0:162593 -emod:7072012,750002,2399910888,0:1322891440 -emod:55779049,27843295,96,0:25 -emod:57835434,31279309,90443,0:13168 -emod:-6511,7486344275,346901687,0:325667244 -emod:635099,3669199,81611251,0:59252827 -emod:8010935551,34,9927,0:1405 -emod:24885132,4526383,58404,0:15444 -emod:613003,6878758,49607641,0:43381288 -emod:132639004426,81043,587317316867,0:532884551555 -emod:4439384,43262747,10119,0:7922 -emod:689907710540,460484866,82087637,0:30398950 -emod:84094,867130,62309,0:9025 -emod:-33557432,60878,580294942,0:194480658 -emod:3869257,4125450573,456883055,0:129529247 -emod:9878539157,15920872437,4738245,0:2745542 -emod:8582013178,46758,28059,0:26806 -emod:48259672,37258629489,7377276929,0:1692584431 -emod:920350,289730727,1122526,0:471310 -emod:13029603,4503668042,8665149,0:1456593 -emod:6938077836,651113,5180493,0:2235984 -emod:-352466,9169937470,70675259176,0:18255076720 -emod:612474,308813590252,510155,0:383521 -emod:180356946205,710633896291,575721,0:242878 -emod:83046,3518,9768613,0:8644737 -emod:8670878985584,7549509958953,968064799634,0:673069231488 -emod:-37831593555,141781,3434657,0:2539127 -emod:94250019226,452692809515,99738576,0:82526128 -emod:-1746555354919,310727,6925934085655,0:2276231760446 -emod:777851791,126226427233,84192406004,0:11526643943 -emod:3511,42864,89474,0:53201 -emod:611596753206,17005495050,3708625387380,0:2318918831736 -emod:482182433948,97822330605,90338471939,0:27830209373 -emod:8971927,5117957930887,1928567236065,0:1437815380378 -emod:67445777442,3930771,4541604,0:773076 -emod:-52133,16783,3337,0:541 -emod:22,7787554274,823549,0:503210 -emod:46816685133,272923,22855404855,0:4704305202 -emod:181225207536,22085689725,67955765111,0:5581219593 -emod:207971493064,41707850,9115746425,0:6454330776 -emod:42840650,206759347,852090956,0:15995168 -emod:27703329637330,20686092,8407250,0:6767250 -emod:-4953,669615,741766623319,0:660186892888 -emod:11957529241,380932179443,973373783,0:970856001 -emod:78726001052485,62593863,24053,0:22766 -emod:340516095,798875,2556443616,0:348235359 -emod:954899979887,472716,979176,0:21817 -emod:1669727071,1008664017563,37837,0:17717 -emod:592681,30974401363809,65653048867352,0:2039369146553 -emod:-47884,525888510,60238953788774,0:8466915489354 -emod:5643430747,31164,8629966388917,0:7441630635230 -emod:-9134817647675,7013427758650,14493293680,0:10069704265 -emod:16875464,4824632,157384425878173,0:110131510850102 -emod:-1891400577,334033142140099,1461471589,0:500051598 -emod:337804687158388,2747595,7100373337,0:3797937129 -emod:597469670,80669751974,564129148100,0:462736594600 -emod:-373150,494511905,69961532,0:44955656 -emod:541002,396515,663670,0:448308 -emod:7443329,192200716115,819064750,0:75062949 -emod:352331718576096,937115695,121165545639266,0:64461611886972 -emod:94655436207250,2442730,199021327246786,0:98351560387664 -emod:450100,441162616,8233398,0:5554612 -emod:-562161185511147,564556372236072,6280258,0:3623203 -emod:-87181577138119,6636401624,33493475420,0:22078084821 -emod:63757825,675193212577,791180,0:551825 -emod:75719430,7834623506500,81861106,0:11697720 -emod:7636428268,342917,424075566,0:382499056 -emod:2847036414481441,3486471,96180960030,0:59848561291 -emod:7605693821889,6857556039961694,9340113967299,0:2791642232520 -emod:8460275679756,1249967640481565,3530286614,0:1855000398 -emod:-21034390,9455714874055,499517062,0:436407454 -emod:-67878984199,6771837956,26518969637,0:25569641018 -emod:24845854,38512788750888,97880493,0:44709115 -emod:913222119920236,89756684,24503538,0:2358514 -emod:282825837874763,49707087,4419250635,0:2888992652 -emod:63007338,778023537730086,51807416,0:42047040 -emod:86515727,37854772745819,932061443536802,0:913958455659941 -emod:16752138958,84132272429,883645897,0:66146743 -emod:76020717,31715587905196,205759754,0:84248649 -emod:408229656454238,503345091356,5122409740,0:1428721156 -emod:335638746639,5761369582225304,4092173299,0:3495108299 -emod:4118216,163393347759,33772615,0:18314396 -emod:6140126413594,8416471601616,48576280861410361,0:26480949886245014 -emod:-654797902884,3118772351656763,49622473264915,0:8452790798791 -emod:724850698,6033802538378749,5080656658,0:3131590110 -emod:-67747240120320,5206803331886510,16513427532371,0:9305404239198 -emod:571096000432,140739165,2954342334466067,0:1353110426217941 -emod:-99625731171,97620037702645811,44537854660922914,0:235109017589213 -emod:33191179298252,90227008,7699370104843722,0:3200733061202818 -emod:63893120170170773,976336027,635053357,0:242474238 -emod:42622029452,37698167195197,75773078526,0:28876796648 -emod:83620114446490,8610382003,464773010095268,0:378308871158308 -emod:9574472571,9560271542,228122075654,0:119978765197 -emod:56753833744514594,333744771296,46684214084,0:22141695456 -emod:-72021302,2716854503311092,329338426,0:308255178 -emod:-12837777900800,17117883244,11645469,0:4924588 -emod:517104019809,96545405933271150,48276368795,0:10960026506 -emod:749819481,17040593450696047,13586015736,0:2311264233 -emod:-3050009718172511,728537309,5801457671812805,0:5155502323398924 -emod:583365344369904345,274298196969,206968876678,0:178154366245 -emod:38505842262,85917484751521,136556283742,0:107808326812 -emod:15796803,666915498303283,9286239329074,0:2947240710171 -emod:1386598857453,2520081676103,9050689134,0:1960415451 -emod:837113484763,3657616517904,83176471315,0:52463786271 -emod:4678899921,2786079987037,15314196040,0:13824191401 -emod:326751076,992797863718,911067433083695337,0:303879844417619866 -emod:756697895735,14491908578947766,2765309614060,0:864557526445 -emod:11248294,4566321352111312,1353192745166,0:172343816040 -emod:7099878002228869,59309793877,927000340655945159,0:5356010609771131 -emod:-52873339014,197683370410545570,9868414456,0:6992876320 -emod:413327450631,3360204571,9303944255,0:1706685666 -emod:-50582368810,137417275741,67023586922155120,0:46974101556682880 -emod:557831168094776659,36136648411374,6960687433,0:6184527385 -emod:7693794217685,34977654183341149,7387705549462024391,0:5937660734860285181 -emod:1230160392609995,985408024602754529,44727668402979310,0:16636048945342015 -emod:20103166039699,5221451032884,543018728744286356,0:478895368134894537 -emod:87410236728907840,255693035925652,37882890299906,0:34530311513908 -emod:-302501648157631,240206529977,230243222283595,0:46069838353259 -emod:71032979947810,4416429704,2419723038477582,0:15218189462248 -emod:355188737187056,6605255426444793,75874689681,0:60034193666 -emod:6806384607660,60639456674,98209051459683,0:1432252996158 -emod:65303175086889,48887808654898,73427910350,0:4396384481 -emod:7752516269162058,62869883943828471,54774176016,0:2099905536 -emod:4326860229332706,2310571812316625763,54001071080,0:33511865496 -emod:6209542490007593568,8412972472856318,788629588235,0:362055759304 -emod:49913992353929542,2486110799,4585324963758433261,0:995513978680870140 -emod:349243489434121,6540085499657705,1389913007264228051,0:177284383643046305 -emod:375679038462457,2350871880932563,6382236922719413,0:6083733543560031 -emod:-30721033347396,77626742323874,523758275336801,0:84240020331255 -emod:5192099267362805,550370357942059,3061410194809,0:1707076237630 -emod:3546331202177649495,63420031374822,91402241031313,0:53901671764582 -emod:-79044395581,9116190241482576941,239200013057,0:188422584849 -emod:286354276465,8227634038665534,8044901060955,0:5958399217675 -emod:826012386295,49355018525,20566214354390,0:4083971754695 -emod:557522956445489849,32695219802913423753,6644227791725857,0:4886117301253388 -emod:-970081051547602,98172198401841564685,928763975802,0:22343542292 -emod:321415667027595,92728916953004350117,4993968573660723,0:2876297201989143 -emod:-8699136317926938091,34913749137460,747114775995,0:558798686791 -emod:-750347276056433413,65602570699247,72710009984856228277,0:105504442183260111 -emod:796490992759,979812498143888903,84011139142607244,0:27172815871253503 -emod:11599197279102044,36330854506634,5869662463842692,0:4784840887360516 -emod:-34727277565261165051,53891223619,2799195351079917048,0:2607666110843551325 -emod:36836705996677,91726402457474120970,787136088375328120,0:479138071357571209 -emod:786215427840767085,6538388351143408779,402285004679,0:145021397316 -emod:970294384045960,339246418487,392505811982975275,0:228766017656314150 -emod:346820606266075,751258033318226,999763369665239019738,0:843347570419357235431 -emod:5301442588198654136,6353479688437885432,36561155260520,0:30332565944536 -emod:-983848133889575,94515815574826812,64461274919837567,0:37200063729864517 -emod:1440437495907,707949003595768210252,773151956245425964025,0:534921841457783741126 -emod:9193524500595,90938893533,22068045096454773348,0:2946366481749712299 -emod:380288714663108486927,73556495897685,78844051786179,0:11766474674606 -emod:-26813489896157,716398856020,4739728890232268011,0:1219466999743008960 -emod:70217805755997,315269791230838613,7083375858304586,0:3059227926161215 -emod:-504603375916094,8554599200483,203113429839514225,0:156384813943715991 -emod:165732904527293745,925640726772320963,700604179708906,0:676451920881317 -emod:8166221848180,76217001334707,46983566031377519480,0:36926290142288602000 -emod:-709635175190425441750,1295562689422083413,78349035380937817045,0:39271509694798926445 -emod:-2183184852451752183835,379414486190148900,724528035479902191477,0:637578758017403897095 -emod:4238159883750584463888,7386606561456,5728437931813448,0:4306066978435024 -emod:1805409007202,743465586820332156,626695586336006980,0:577226884938331876 -emod:941901705860483,972657766381340158572,16833834708698,0:382737644745 -emod:36719313097210,86800505504547056103,565303478138221,0:473055435424504 -emod:-2666022326987011,3591998328200,40859674965133754,0:23789375408884171 -emod:7645153844358510457,209771482022016006,905933746892551078,0:296096846282298881 -emod:7851918408989360228,84734870178640245420,17989167921034697586,0:903417754686768694 -emod:46165799974266,2935049136348,8423621229264979968786,0:6706766736891832422390 -emod:546378248247723,8703795888148,20029030818332,0:13614240516425 -emod:811349021801350852565,48747346545449,8830100158031,0:5382741806069 -emod:885481101754677356504,7096462381701,455223655560834,0:43346926638854 -emod:-80474402802255,3514824850066,78159132039306813,0:54916880583163335 -emod:7131297407676,3315297183633054184085,934198951388076635723,0:651097991912957628236 -emod:12957689764990,546447634520927,3127766567382808,0:233348459584880 -emod:52914542138895536,376010137099253465,490953375293336830,0:36400103844339446 -emod:45685344805562074769093,61394436169997,80543985329602650474818,0:71110063880403297977149 -emod:-3761985423518632726760,956482080293262442007,25753912455108628113,0:8836130744460244129 -emod:80642483462801,144058405752215292120,106396321855736640702,0:8066898094483615543 -emod:529953061572415,79301418791778407635,92480175275263158380,0:39970833689504413995 -emod:74684906365344856040383,442523186603390862631,9182842638237756,0:8987946408749887 -emod:-71808994356961094403637,86526866467357,8474332396093731,0:2594467781892122 -emod:407234425686004311062,856447201531274,99637771372094,0:11888452937044 -emod:93295648386572486115412,25979074094596934000,83211005582689,0:77383113960508 -emod:9427365949717166,750902522043226813,9221846367078539073,0:7648128015969044021 -emod:92605054801073,5909052810075662,88928490696637500993,0:37110323432146043137 -emod:-82692010434673,814335630290109048818,53615009335053,0:46299654891349 -emod:45016205353589874668,95117600743459,2986728093611093895058,0:319442824024520549342 -emod:-47452361244427905002,7926505809295224807,3915672967969228,0:229192748539424 -emod:-2641799394644983,25158485319487,548355600533885000,0:46465320728116873 -emod:767992806236118220,58099104472634917573004,48648467500194542,0:23718576556107152 -emod:-85155145157549109,521405736695668,339367664853783,0:2173663047474 -emod:3109969578772647428011,22269815033051372764,91121430284940146293642,0:52586393883507723599717 -emod:504356843590479398148,4419882553863792022,9212984461142295,0:1998044953256529 -emod:-10529450854970073999,5289053916959379831,999122926156817831483980,0:128976265175682275841921 -emod:25251527460055267035,26387387620759906501,323214288066858358673,0:254793115154305799288 -emod:6257997874497129340,9035751438224410218,1608008778482293,0:444618779310887 -emod:-9314563912100585682096,5935830113611844768083,947452458146468426,0:907834316089122654 -emod:3164647012237657886390,72243936723121379261,8112420611117792966,0:6801353756302558894 -emod:908809580547671,11401194426509342,3883128241166899713060,0:688491805461764918101 -emod:829435256639678,469855084024947,237050421425357196,0:185926450835794340 -emod:-193452572186083034,763665077760046967,629827785597782,0:574275231643438 -emod:7638580239647112236,383888251385090059747,356384740003525821086,0:304972626268345366750 -emod:-72910784081163807426,4623502102569648619,293471055432367196531956,0:13722886778137743252076 -emod:156391592094203189804337,180577077123580,281066969751444,0:219820379090949 -emod:93982143896834595,99254856446162105637797,82935001019817754026,0:28907883734889605835 -emod:82453615072254173,9862903307325418383,569773975023302632076,0:311001760399812937577 -emod:3599043000903587396023,1768639534098606,38013039729215754,0:1079943278228851 -emod:863869462578254620,414856952917501776,32810489269754337315502,0:30667070092013729127996 -emod:-67081501875735917569336,2248358004479895344546,812436139390882,0:530577288676906 -emod:-932875447143221697244421,22884241204983991,156603178117421124,0:5900450340225199 -emod:-4456681099810903468721166,99859000729568447523,4675399066130721,0:113161030847184 -emod:-843621806462466979,168009327704701836752481,10448286951664808938217,0:2076672088394686331297 -emod:4833390360325487794744,8202438083226798875527459,271225323310380890,0:109131151997473424 -emod:657374545071472745,615300564202736701004,50439174668838374,0:15625484688443795 -emod:334093752354839787827005,401544420239962514,99419641355758954494574,0:38382862135390739723851 -emod:156986963896657756211092,9173759581769093378967163,8482190150813633225,0:846371056378442363 -emod:1965032331757601512,642865979115343140209,9373512589399604415598947,0:7634824208068996776380749 -emod:-884974536295232799227800,81559669471762219,77787068435634953,0:63000181811454420 -emod:2100689836805842766786405,3628560134433649198454,34727948234158164340523,0:13219112123623843462414 -emod:204578349882954931508,882862780583656098107,571211084473029381559,0:187547454428552727366 -emod:35013594249255180219043301,910526477139765124,281006281284018940,0:134109664959487161 -emod:-467870778338402348427,54493035145105123686,5912947085723132571998682,0:1228965263004421246389831 -emod:94103148636604290205719396,6986083069335320780020283,858637669487264716206825,0:855205440944993038852461 -emod:9132908171171712697673,41809905452128490,174186492804184908063,0:154317930053007308485 -emod:7763434019228270224295,2502174946472481,71917943549435776979260745,0:6076366391198365677016715 -emod:-624036880788622535703082,608930212992798754,7235811042721337412628,0:1325308214356957324816 -emod:41112778559515327410738,82601330734126683,389247780403397923,0:182819510299862932 -emod:-647553347892336647456803,634286301340932198340,4512267124852163233,0:4111852157418352314 -emod:79428691080290217,198093832523396251835,150772939563126693976322,0:36470696123667183989883 -emod:6751000393418867022,67240075486544827,663245235329581121676,0:362034082749896584032 -emod:57296278532026543994019,519712307129820052877,663606606885427005,0:297293712817608939 -emod:531634944201680433,69864774974090600,96423733207237312620797,0:20862933415144438574915 -emod:4605715778913218047806,7769596422373325424743519,563574411491581221,0:123599395766971416 -emod:910034907691723750329932,17528561702379847624714,7515500539229911873279,0:6808962399448284143279 -emod:61052317026574460778685340,77880774451137672778485,69232824274358824169,0:51811780816940817487 -emod:7504746423220767824904370,1945066924906518322,80909556817814270662793,0:22566971663084142719867 -emod:929639344035642594793369698,3240062063297979069920119,850413690404585997068724106,0:175349368401050551985442488 -emod:-55736601709440224634358,811055227679722468934466,1713909333328494414590,0:1152624446078802914104 -emod:-1356054913265870994230220,28314681428333792392,42265180710762324353,0:34292912442229873713 -emod:795295333902960419,8481745029583236616,343155151194196011568598680,0:313527770347784158498537041 -emod:2432870569967522452,48595187151195492,378387522780739724,0:233064959084707632 -emod:6831853307491550923094341,4409540435311149052023,91972635448121089016,0:52155803105308856869 -emod:99769909628484709088680438,668486550259622211760148794,99625276554619484105,0:10139590869737725659 -emod:5889039212181347754641685,676061753141375585943062606,776941837814809562309,0:443449450881823633972 -emod:479351744822383002190971448,468173515469111051509,167960102357712774,0:66373795292168212 -emod:373219776743647759815237747,78249029163204510445,237186840834301611953,0:93966418449839408977 -emod:548375816882114508561323746,896053512213126651537,4677386569405408164,0:4478771625586068820 -emod:543601581214625935,1432960291544699189690679,924713807666487815493709763,0:862081075000207249513732210 -emod:1726232497710046755875742,5018298664228901655980708,7598365887065911342569,0:4962214251289027951290 -emod:9940521109172176165804017,4735918364128985502,350872142370229985,0:77630482962237299 -emod:935844817555228747927989470,350944095522512127242,825141475757917666304,0:534643899908921707520 -emod:2636017152603937585811,88011950079842198071310,5957119762224240516059563,0:2064861372547160647113440 -emod:459469197042596126,604919581582116554623882,89801712022876493637,0:68195913281093479378 -emod:4677369076208454967820890632,13495127487606866501768,951687217731413972141,0:425940812723542345395 -emod:1566835275008318146,21867518155515654397956,7894931071725936607844864896,0:5253224487355519414221016704 -emod:3095066120724771665597351,7840426399106867615329405,705258460541720096620295,0:414423194663820488096331 -emod:91875762895950687211242590,6694585759057681706987,7365408657949985936,0:4938741305415608976 -emod:443023899338514715234998,24793081831491994199,24949681672266832443634,0:22293819994495988487874 -emod:8441986070029128775,997522126456942441153610,11266967419294676193463,0:4453548841469958625938 -emod:295284416391225922343593,3617280519422675857505683400,14967809405365615010815,0:7477177024743894714751 -emod:2748651151308839006,37444237944901366482969738,351048919067619839,0:320910471543612655 -emod:-856968271079561907778735,54979731653719035309,13976862935818813774447156,0:9945835571304601097054109 -emod:-3585077692884519189,1798930632211469960587972,70639908743442539388,0:23667983555955792981 -emod:6524605456430450605,56279387249888817212050,3814442499042852567,0:1145383276626865816 -emod:85234961390603945529096,75018358449394308437641627,12556653126866666115633914,0:5730557471924420585444024 -emod:2456775653742592876022454990,3560359960250729589724528,66846897799509249930222618344,0:17148877353421047482932486912 -emod:60282271857634247950,2052963624811178191751039152,906040428126999262088429727,0:32620681800129303136189897 -emod:54070246300857636559309,22183829543621704345694286,197786250025515478569975,0:12804855038900748642766 -emod:9617136486380916397202,4126846760685727322075123,78146300710034615866,0:51417588230377161780 -emod:62448246499005815495980,271071921688103354259,84492924742872826420211992495,0:66230579346601533104993148070 -emod:291386580832558654322705,764558287307875268927802656,447484733675418860019,0:11605899890452215403 -emod:32205011691602629984379183426,29358614276116380282,907702927282762504936328,0:643210659902127157683712 -emod:432494591994967547828093,358695607350358964677676,38957308299840969040967042,0:16197996155411494418456541 -emod:62528660927816817311355639978,47252461860428008289625225,6282175389133291127280,0:3555910613503639333728 -emod:-7614434286778285473167,474945456781970658327,621222471994372349220,0:549700448153054416597 -emod:311184079845536545337250910,9227029559805107004632726,52006471030183808566923631,0:25043301259244786049173911 -emod:3230868170439410850659865082,898186274112724548080138325,97707512380767417641,0:86932054306036765096 -emod:834011756636699109536519415,655009820336167759334332874,6890219519286864975018117944,0:2569215046679239758839951841 -emod:92892177448912750218,741399635351000593290121,624016777142908239971157,0:25136877523502693125494 -emod:836992515247957659739610,2583612763764193545264,1174519855635794829842116895,0:750264993625612676826364480 -emod:320791582460540931132160011,677439026930118779930468052,7415527559007185772557,0:6931004685726629652067 -emod:101060981222042386397,835069990698118657833498051093,304411313271626308269946786609,0:285961239724909691347928816210 -emod:-9581797085167617798550,69848378277411149359046,669942888182689235848827883504,0:254947621159139967003748108640 -emod:-94964174425453007033,714714872860590256160828941,146992630364320648886162567,0:112947428019587305836657677 -emod:490519145948557684335954,9081227005048911779923546,22555674763700463167272317713,0:5273066867735076907883920377 -emod:1222395170293635119614342,198182065457378753800,396502033389928296562225041686,0:76278932978086825000656068226 -emod:51847702997938374834482757925,65476864639254697225873266265,9982159563202907510238115896,0:520589670319457135074666741 -emod:444956279289663791215,101406862272274292233509,2521187648951207508813886007,0:1270796539216569834626269783 -emod:241755197289597987901,2982588579376062144566419683,46590075624035346402027176400,0:2234222576652608430033640501 -emod:30298268536110439415,5662223601814697342044103898,1675333306953772484178502284,0:956756379448476070508796445 -emod:9243876208586685329510289,358317687877159897071845946358,23373687043380292463158517976,0:18143528811380542759393916529 -emod:23933345236350049832324943731,1463874466227132752562758546,30285509683054247993598313,0:22909785183159204540182817 -emod:8232014647356048136737851,23114731717567737971387,5589633642881113626832,0:4835838093570844807475 -emod:1572721001930467120310,32884392623150618360081,127189088301879894538319,0:56473705512662665317934 -emod:-6309990340663959494270231,54301230262284516360861,714321021064688153899314430099,0:84913950012890099224323844767 -emod:724404836134898298450826978,79473347677565218701802220,85097228863562935294353,0:23425975598985124017685 -emod:1248615504830621338524,4939277515828927242493219,856480994935389549295086483,0:208559579900786673941630403 -emod:71694075133584459673485423,491471707800513684058387625,57613309973036459402620201485,0:9334604736522066347584171098 -emod:487205142874162363228855132,32170196309678727121574378501,2365947677964956706238797837018,0:1460443051085803997813915083462 -emod:10498793931533837751986544,83121914354650984352606,84780501352556446964608987,0:2663500197542495228867200 -emod:858271416618515546128946278,461548172771122263789060099,290346398222664413963288252,0:199454897909502042282033164 -emod:194961196331029028416806,3010397360933184988474874531100,8894255215761028137154900,0:4725434487338660122833576 -emod:406136918536976813980235355,373377808309891123266509790,8051548562083247464877013,0:6712616553296291113074471 -emod:-2530001401510124123338044,9596531290218038290076321444660,94617861891432411698686664,0:82720940727488645909580144 -emod:962341019433102549599309756,87959647015007020857271,4814935972310202770646,0:1937702586166074196292 -emod:-9481051936536536822112378933,19198535394666739186712937,381277436963458897720268488253,0:221821071935200208681658632115 -emod:188158462154750488255090,5147960444849946425093800,557834326930177732304779,0:535548855861651576845189 -emod:320937896085553144086178,691095750038113040331093041,26671339372282533818130976644,0:16304271928904332907031077440 -emod:6459406930432717296751,26393034277242496542604,95792580547993865659473661096,0:16263747513649826536284379625 -emod:-3955284617135866036386266,88955985063356610183176901,47993723273921407452861564818084,0:36345079468314192494573668280420 -emod:4469223387855120286647143627227,112486512731974346137499409882,674951744546236842962508833599,0:263941892665547640864795291242 -emod:5842180236545542508010186,3813995676143309308292843196544,419290459505201296652777,0:194534437035210733745993 -emod:52508914199335388219666638736,609717218258403246894120563,365684533154366812172288342,0:306118597360054606711715756 -emod:5797432698581273588431858,441479045571067025706603688,282607387577967901654384422862,0:110229077503714060775972506150 -emod:65328925252943246789191171238484,96713927150618911532802278,22277460692198085977483518,0:7608494060818884444883860 -emod:-3505111910190253821104955721,8184864474744270904051127420,194419774575051270128492444,0:162992788664326488651926473 -emod:-604067818162739797934946139,9043516039569227564714121728292,7767059317109793197108173473745,0:6948009587818483763849064344026 -emod:7754422959972636616784266184,659289209085822436564762,8509024996912387887787842,0:2665536004048450967780290 -emod:36416867151518840487645460967878,844372541160118666333682064,952635585495157217378104,0:851359968458957942741896 -emod:6507853401807441673041800837243,34718667350062293363755353,5468669123427020938108147,0:4716020318197938412234249 -emod:51211857820907905381543,77515986228844405658622,52805031690609904659313514144,0:46181146040418002449595796465 -emod:-3481005717923100913496633,72515117151236778732398780112,164464215085523994586779407667,0:110489875791376642480427623726 -emod:9727520131157808840831645280,924001182352699721614717943074,93954856739560714418171822477006,0:53602981268650203244797808464888 -emod:6268799672425688143953868,65752004602477767685988190527369,919519002172663755283332370,0:743721248544699996778206728 -emod:217255430663108140697379866,5639408060368994877725872115390,827864622867155990409562324662297,0:346888052171315931113255266057390 -emod:9584126703131986575758741162,32590496648447908561813496450,160498103515332847853363,0:53968810450556766053341 -emod:-76826728747216724677957902631,961349485758023144791477276257,137367232300949721808331182,0:4959768054309457695928319 -emod:62055398452252367690310080057082,129229535556008217119353115725686,9981426678099891826285608,0:805998125116661384829888 -emod:202510417400115156940889305598,15341206726182593212766128,996183974088677690094216724625421,0:817289450583828545947664474415931 -emod:-25516453293605744322947001163,5071219340735886356369047,602175104818483716891162778987,0:411839702152622861532714876139 -emod:993183387816460492640272,1614311327330565172683092096222,497972804217752566422039,0:494226915046684056423589 -emod:-139458968709342780820670342293,84079268451086347933669527964491,7982294793121272710766231686742,0:4200752285053689019247323342313 -emod:-642079420338207037888590791886,5097585020105759079603894,1749318042304737154855400042,0:202512538887870570156602468 -emod:526399148116041173415852373,940696687718156710488520497,50662078590094962860547244145,0:45895605101830456875539711113 -emod:8906813754152277992921404,80888477226023092123029527,13570789641532548676576422141690,0:11991254102988651371230177697914 -emod:93310258111859031487846046,779504595719824871139074,2316452607286039459212508186835,0:1841260888091242285457152387296 -emod:90444057415261195182482901256,534224787389163242275249003871,5364056042511354002232797243,0:2973840956442065396692091111 -emod:3159667409620907467186412,992919840843965860035887,83366646442680814563981888244,0:48427633954764114194397665660 -emod:99320619586506347666588920440,4405632885227428882941735745,19542923441973303902244764,0:2496404967738009049373508 -emod:80097846201870647655651438569,7478823295278459690728990,760398924078893349243418019,0:626123454565827223374998274 -emod:-617776158199232099295079230176249,968254047400958548769181004211204,44388668787389960907543,0:12309724362933796108087 -emod:1941484805465095241888868932546,28318560596248215297413369,78732478295542770828847418,0:11323556200622810322816682 -emod:6902476729554822701916716,82251167994228841481066017,35882713885308531026666821,0:34780023777540678364801405 -emod:5062468746465213498385560089,8136268100978763412711554289,68866609367366454712369109,0:44871781917238275621305468 -emod:88628634209852159542629660518,9900653566206690096097393485358,5146762817312746650783957833123075,0:1130545067675413155892767251194249 -emod:4183039741492584407492357481,978182783653208012914682683,64655693200972774031969126,0:5025716145757911119761805 -emod:5009607688574515313104324,2147563655528822623340385945,6236086785233460500733859,0:1405104917101339899753318 -emod:936982273588401762969515216739112,973707182278032902057390292,1894889840757299574823297466,0:1186002927649083815020840328 -emod:-979316518105993608150102623315,2370209457844401593122209941555,54428721194110089109350854,0:26913462600141970364018171 -emod:-5655018125941779786582905,17920278334613052052585561795,924138192567854018477877769509401,0:61476589026820682320306888608974 -emod:84489372498470137649774035034,7109018035481124695636450,5797230889810299281193349634019,0:5612051483938131301074837863677 -emod:107426142087823893785249225,5226421952107015855967156538,834564679898397955796242150,0:374409797926018190303172625 -emod:157094343256569268019396107347412,3363666015878047053403499712,3077292378832241991737688300,0:2345199073898407378386288256 -emod:4599347793505224871406391916492561,10349753756389543100648649,65816642199331170025417801554157,0:24079921356378393197992579532100 -emod:847167595799527189060120024265075,9107386461422683351260870279493410,92958250555849386269043855,0:35153939443890825069457375 -emod:-1191675132738936968619514,74950542877141809186776499,30939415755921402575464055877087805,0:17053440194220346967773901128643571 -emod:-6782161375037252568833831731,21588926184031614794842404042439,87384900356318490043390649044683,0:78411924985423842001255202388041 -emod:725370238412744340662463645,801132128288180827454102757582711,620855082501145881156782549,0:359871609759550116946514648 -emod:-874379189856445894179721337013,990125527305844856332150787749081,8231539277268138641840413167,0:2289484932966836920485418470 -emod:-83008902474732975330921978226,82794210686607729439615194829247,147791999288202013476656713406,0:146693025926271847405525671222 -emod:993041496775769783771922013177,652198618560534787722679399482,14725280081827750297488969316270418,0:12116281278492392720710544362298223 -emod:46622323497579971935863115,394817683428792448650089831981,275712081411878292477481334593,0:158697271488808580622506705623 -emod:-3898794108935715830804259645307545,8539310275091037665015112113,410028214486245399572630623,0:154269296324614984783868211 -emod:79671715478701846571943769152118,50747562547703106180109929449357,4023635598183808950664694822818865,0:1391680419606609518497878438964728 -emod:559336542916921480977013076660,3500214095929566980492663465,336757157474053361967887529292827,0:205213355551911588287255669283398 -emod:67082036968759143737139839,523004801838061152155611054,471652207874138548702202353,0:106442966546624668524597821 -emod:-3256665451209505423898886159916,59781980277755911367047005074,91129573344353344374535568122224243,0:32050945513189163759638087657164892 -emod:421990276114311172439204299235,35826815490436606511044043492,15446384327646373190492730438585,0:9198468415514629536422965781785 -emod:44343136069714981893949445602918,74625812833376942712384866,8553344812866281257132806310141,0:5783836105657448834498697176854 -emod:-3350599651069474402466963632288428,111533243609492247217520718860965,19776907108357809938962249484450996,0:8355570250148181808922442971171888 -emod:1174811337592368749244214511251994,42091803705746744966101838336617,845309015023334575607631339,0:328886787862996931441907071 -emod:-29148586556051713564217625193,68513553022673456091977636318,517234274741375130441484814600195366,0:261242636773611113876824326123905043 -emod:6504167945767766564692832116,79109138160593227576416337070705,859309929776480635814520707,0:653461697201929229418946370 -emod:93782137244393346713836734,79816233695566241785503895940612,47212904918142268923262812947,0:35930841356748083688108060545 -emod:-481374015950451874599738760,971500384056236606682756504,449203445432063323041956755151715073,0:326479696526020517109710611255112326 -emod:33975864000889551938267169,96711853837688512196605358270819,1078256621965966374431724388,0:90992844234742791085579521 -emod:108501037609635132976961872036788203,6219795372158712553653962311654,8716372274939376496374246159612450,0:46493029021502557862865275214619 -emod:-2231157093133343418986538244814994,83376994288776233556841533573723558,947070007417842767887988323,0:569695285035798211404990578 -emod:4320183260196502618997084267,41119367893002798881298799670088,928548312561033253354469301,0:685331663284665282972257551 -emod:989219761371718106548064391401720215,746254976033978038152730412247975,899234555824809502131806801683692,0:353153945728216728164717147859487 -emod:70249906941776493080760539479,449610892140392817236359849962857788,4178349342228788164226432276235,0:1335233721704565001505221772011 -emod:545502797337663151341732385037258,90145671428166124528612984500230,65353209667979259637734612828610332,0:56057131907461848190987965655332892 -emod:70201665323655856669206321215,82151238444466709049154516320141984,720986595714891193688614781,0:434647021965056085408831563 -emod:421198830106569057199561575692,1004609557346343726386068926525410,633868114840728850333551602744,0:604704399006232077090793233120 -emod:4615256370681079013157800020325,8400414787259268709004735030130,44141279558739534891246414484563077,0:18767312155202497589136865119303869 -emod:51901922040540262359036981493,66541229620660433942048401110186352,604842069438884017503376380377487,0:560241581983999804968823332813883 -emod:865876649476766227336308707540,54523494380158570191694786271952,30189625477183041262303690798037,0:5517799863814849137124453024505 -emod:540104790337412628896589738918163962,25517420734892235958218943479822962,516223444101948157559494280688,0:285444604149225295822139831184 -emod:-120865564927993207924741653485624,913588382476805140812832387555144,5292849031978636063718154558956,0:379625045854381376013487318700 -emod:70630316045710645831137056416098,472369686133234789698150515963,59384539168300629700324758824,0:15022806530946436030583838784 -emod:3922428518882665203875466914597759,68182625456652248599363364893901806,6502711284299228524855233028593,0:2808475877330758629142848372619 -emod:-767906197466320392395972570845,5881247518778543233940000315537304,287419172400279725552523866012,0:208494064792679452780358308329 -emod:-183473058607238695125794649,5195900726421669056563048427,4401632354842192930996857262,0:4089525058119677938261594431 -emod:165422203258159204617067246120,96059662222900813086080021260,42765970916596985181285425013,0:3450069033793034400281980621 -emod:-6202976578952904184671995477658,2047878587371155342936292231391653173,638007817147957433105556793060,0:264771935095789602347821114292 -emod:5715510499720116696692085743763,585913772675513473362454296932,1051092429534137447273592584087,0:682705608964805508054206642997 -emod:8554351601263637934780353184462472,2234206121089089275957949179,718140465388982120919431110935367,0:184669837268894201543573681894661 -emod:80692144241982166867606755367641125,2849616930185309069767665166,23879511236239108118965785436012,0:20523073803895280124615325144457 -emod:99791107145824395590258329666,325370594025067544378522706736314,96399847267939282102767305772251127,0:2325174100015879854256600082049436 -emod:4159932940100685089115794076141116759,23990995412460118678564628973765928,80832081463108433977538716243727639946,0:67527463845329678499612133471786203313 -emod:788157166896159069390966287243419,1486322813809144772467638907874658537,891915835907995407210370317163200,0:102062258185041646930644428900539 -emod:39482400163217130341378273663281863,5988616246240813543901974803730,5233286401955663097666421133559,0:1266706417570788723251682663891 -emod:37283395352033119876301598293239416669,13544410706066077917137340119619527,90922298984492607133074207595203967287,0:29635409004691233225521023456097882412 -emod:997092394433838709995127446401,945171627926561384468473783312841500,810366180441978415788967038942786,0:208268256396490525163362174178287 -emod:8028402014609956835909160326346782,26557618265296731376128156126,460114218338498016675422156130523617,0:57220159633664593786040042202487645 -emod:82562576995621135938138768719119421725,80752496992618170687901372956534626,1448566551160810322268830690053691854,0:646521647376500058682612093836622553 -emod:85548648520427764614796522518452921164,89651898605887779463577396538675594569,65124148378449835470532787649213,0:40497439208050142443242215136607 -emod:16837336872939465286295768414551331,569935780141651744430445423490,8783437523930110362354247602517607,0:2046943362901310534745130604075491 -emod:-4440812678686390091523604851953175,389451017692789149570538026068781,1428843786528259273557255613906046765,0:1080150304658630116675444179316296480 -emod:967128946679209456313061694178754547,71927999075234140765964350500643464922,5912388198893179472569863818550882,0:519919011257421171091112245394593 -emod:50956630538253741318888787410839027467,7254477767965547955941480470459567,615206000459040658792942579937518,0:553679691619602644270040205425927 -emod:3275455955848771032620932860648810050,31488699805619979770222331680514,80458424575688534547636632889962148887,0:6244384826050692991633033848953781669 -emod:-21389208725934970402070480138,83394267330366428453791161248271,435867681437150310057862989648368134,0:48165848424304409414740281589776608 -emod:85613012922122238849286197885966265,6264623415046666744379998032348811600,4673861359129062110917409479097,0:922666804172116833801730611634 -emod:280083488936332437588802230890313578923,244124978249612335794064534642,2375736859306949519167609169171687,0:551623669267415869843380453511910 -emod:781188309374419725364720820335533,135014953285485878049171718509399492969,344084387156056462159513838518,0:106507543249649319840719909431 -emod:98561799065473561371563615410812461706,9134726040214334897451541211570930222,77036158481210325032314040316433349581,0:10604005574133189996015761603720044688 -emod:5834647121579885467217130407763503632,200264652092134485478998460165283,49796811768811795244403981652327326,0:12616757208278628842077030859699158 -emod:7156274802094801607862890235975,298547310278869882278519047422,3385164957713213782961023671150442537,0:2365150345459624684113261880718766685 -emod:79536547656264208689393334480936544,8321385671827825288762542280445,785140248493770428377830327387,0:667723641201713821468357364660 -emod:2401918006460405664310271707131,7938856973411329632754746333467451353,50252536011125420227927790886850,0:2560962372344356633910159134191 -emod:-640484386299773856766873434498216561663,521312377097674590222482921347754,2076627816299488817471309926917653,0:1044102083342050524913059924893882 -emod:45733835810902836305620972021854492,637659651938075050952475958589,780295381235534049283047240996085162,0:356302494046578600997282893502520224 -emod:-705304982613296623295125876847640,664590498867602222651797274067257719868,7499703984527131597058855628260006298,0:4482230223758031512649996652730841066 -emod:9684252440964253807141800312433763,190043365382656690493696042245955707225,3095261211042298242370348907837021107,0:2250643148518714515189768690498752024 -emod:-89032437425480643935967748757354416,621983182028088553431259572347916435410,38079815655996180160875323024441762,0:32643143118487494012451637529005930 -emod:6548447424813914775693159183257,65121910212312442407559411924073,985538984256472333797587014404581436986,0:740155433087747455737389029181370989287 -emod:4289065821289287300568064096399722,9121623380688074176040884046612007916,961296580001696582058791225882,0:45381992080327999853100134788 -emod:-72973996651785334626703541251510,851343162677051554053312177517930014,11415255076241129984914658151314087,0:11296475116822862530646104043954143 -emod:6215781314311141827082903466280283111,82690774957918159004435315373320417,27716342728984668538238211473421,0:2433474471136329719554510283452 -emod:39290925538924182292886302889784,3013982337030112395184480691476,2874832168405952076336884530324927723027,0:2409837907629149262138096279585792264660 -emod:9277827192686619891057091530556789562,96429757152650874683611007657644,4535029359155968493194223758827,0:3867452547234619026743402511805 -emod:5694258184281411312360339289572762440841,7178050879307469422753687401052115032679,9753293426594405370122100566371326332981,0:1459323522232121155703484803621777382578 -emod:2631708872518347779478401470159636,69245107191231315124801771805922519,5376563717710166640876235141463100221,0:1586930529708153725166340638954835393 -emod:-532822740296211412518831858845632,40668524195320929579193193936667373,505606545836126920558776593155866029,0:421534471253420106860659063178492972 -emod:-18119290713835899269532794976004002911,37879676757802798170292588489563693,51891136935808235992985547250049168,0:14815387892201994526759362316856817 -emod:944625015888233591695043379987489,7693259777885983120642487312415887,3163174379156957158184811373016,0:868511369288625949950763838225 -emod:-8261719628034460466290601450600373559914,269611237440354291239517315110858,799350125207208117394870062241902513223,0:399235834451270298186875260990350588241 -emod:79473780570881594097438192951192117314,7169647683642226403729056378024586066648,22954171389461145428057650940743,0:2168846776879932971592555333531 -emod:95869904428201135413560110749448802753,158340104707707507507946829328121,90984891161322604272382067470532492205,0:5924564037970417636455059119103926748 -emod:-22521492621302175192658392780275102359,7693302694515406325578226762983037994984,782722878640118008162156430550954718,0:119815974456412544146474518425004437 -emod:9963842744602755276656167034564168,48412659540989981271789655274768,43293723041754769021056672485976,0:38945698446931926733887929540536 -emod:1320877778921077387166182925462256771230,57630920609252345178704453175970,3193372771615772702336566528721798637962,0:788819527153114047491271244519182772544 -emod:668849032341201560206891871233861747403,888433768055712910244091518751770,267361236110795236214710559012632439586,0:155637798445501597369455066609821901151 -emod:6512075833061087798080551616254563514,32092556887038243782172094249883515187,7726674502992997466882017926352963171,0:3997773747495074686605793565307898133 -emod:175331741086869721483946575985451578,498971069791965179508784120214414266,36153226259659293800129850353069792,0:11517636272100517299763240352733600 -emod:-677346278108428877376669412246870,9122326662016035239584815083992070495176,8466447950617025601185822550216037750,0:7996073485764019141592014511479503500 -emod:3004006376153998272508651886671867319,89420637491378914617711759949193596,94841662569213792123219861089357581,0:91022466232802632841224039771245469 -emod:141963083020862928745284661527006268743,1094074097142911406442396572480839364679,14372416626149499532166554918559602886813,0:10501331757552726404117414997172439332093 -emod:3537251641169958447429792087940591841,85312557100182485395003016294806105,4933954336062823716515388316534139210277,0:1264190504163163061419402586060377117556 -emod:7613372643252414055043698859413975454452,8104856536803203203690055640315246210,22350828251203871238906729812254148392345,0:13852329926953072565535594189985589893489 -emod:5496200720802281470038810856743043086,13398984382633586073486065955736662183,79312825247526611330966937485082122,0:66661235819185738734811419475614276 -emod:63918543446915084085082601250202595579,8493763746998771444323258554325712411,4937677683346782838292257801829180799,0:3333170338194997537460486316124046513 -emod:36261747289234573444167038136694149416,2349120291543932920428306772143,686686391823818082220818261012540,0:264297913952895694560131373515156 -emod:91704684660004985825508358858995087038874,2015370309491008506921827067333129594,9135792372038219712944984119888962386,0:4529804613575839287527481063380800506 -emod:30278645824646334826846693204541658068926,12818636001054407099890316510058892,7851583114283368731828210428552882985,0:5669753244104840595149054032720029076 -emod:2796270570869456261650857714163957,11563304674625187778126296571762555,6215093511413186796467390016946078,0:4670137082336559942534996304341551 -emod:768218963811498104890466470855528,87947819439418684675632728454831941,1973550877645428060151378123682620,0:441798238493938931699648323746568 -emod:-2428535063509936208105830667774640,3035965301290018588642321798578636,188189970059256072630697270059421551204,0:187579612082668219226020920724838998284 -emod:-68851281721881705328338599426899449637,61411216780529093075213667248360855790,762904049248955019330945036218634,0:462150975555814307044400024262763 -emod:50381922933536391983048133911745304,1327567537265931585748836565776184592881,802215654672213785119298527941754940929,0:390003904015432758428242187678591715653 -emod:529101440911633844520662940603032143,43786012747535262261511038179577399,511020742387225982022507255362265561978107,0:43144871536679970770284455068495104451271 -emod:-83888631215376392729015255508425419556,2987291005239618438509136686862070733775,961384311110037617113682300965438706,0:29648441889315953286284555584666926 -emod:-821196282249805910413962910577363,899754172277729178591041212333965173866,28634570307010794416106940080087125523,0:13173340434987909802210494442005883282 -emod:381631360270395672709101001383167564,5158459604313031569589122775835258400018,179977223820697561825527184706001338,0:90425662788930319644902518702187078 -emod:86931293242801082346374758755111010579020,2626551520446310376390615092828594222,938653251144169045231475456784193560847491,0:365195163429401966471156565576650759315955 -emod:571783539909088029876839939054322959996,3089568378114138198880587155086119890,2744081752554506253029969486161407282,0:1264543407557838374228627104087788028 -emod:-90886625513314511815555188570608546,51200053536142533814421471973168803,3158468647093861876601465341868309,0:2925547080612167963149993945191255 -emod:678603997120076532741658796530004849,43414916815768520427422498534418015,8716484032032480216675313011200057709,0:76319340105732892359044842900479950 -emod:612730541295585524235353860578447295001,22424302005854819986022320120713071951,173790728285176883772120949725911541084,0:137975127594893849412331247896142478137 -emod:13948884468878712500594129935211199120603,9383236477661484239823311361156037555,7150124390877159720608122766898971171111,0:5539575869437504207805443963399777689601 -emod:54492739252211246006137151994700249,67190668798711463919179422578016332737406,5016308665959551730292366483247498,0:4961979712444768037254544658761431 -emod:29680512164999518310606641453082247,1353001032424138907392467987475747589038,459082082784205465090366530024559,0:450480541453779074511769512964428 -emod:15403192267035685992492637058662708278079,691714738501419527821402660938221344683,7782687609483337882572886515961628752,0:7725198743465314962321221679530076511 -emod:126478593002688908873146865473634929634525,6358340236015836865079291052256775,642178072362342080585886203440168430935,0:218622928181521828894284595162507920145 -emod:13913359834837755549848482705915052266,903509443568563265008997239488312244,38405152518791040164077250979465916520,0:28518709836314856470772911348321435016 -emod:83931848804764686468764875474979982242,37231771700852953560669364821981996529,8064976106252567560098554617279771,0:3942705697569048252011335611766898 -emod:87898783621436420303252969787195069,967379407272322490869598290122854378588,601280977875708034746188580088928109,0:411325933760221674646671409872577059 -emod:-574877736091741275350898383808389927915699,594958545957868400560169903622579655897,4423949440914171636206327704817250586403446,0:3323591297752691954350870547829008827201931 -emod:124800993363976911520180513839889298395611,3963571144428060960568682938453332161723183,674078271234292330095446224557694423193,0:422135852569833954257620597634971621477 -emod:90777341202629209516486441959509025385211,33892788023206849882232725042383975802458,965834508749187083956638172933001579344,0:656580209956545000201526160758647431417 -emod:428177661658876831707141329481947688426,65730335739816729185618200604751902,5583905204611961380972834719217342953,0:1199936539591520430103110063283203324 -emod:7784166932835047133921651620293244411254,45683020890860577526532414749737728,8865546781759541156004910823031924045350,0:8781672808470559198269957754771904762286 -emod:-50974859063823766693159687850998551,4260289458698540774171384011548170301484,3075280497472455596559827351977048841679,0:640353521741095591912508608109444685750 -emod:-44302701915422822099105814706266768585326,352328336928075991743029118271328701469969,197750610229907539580754650086642390905,0:93246465784416858941838796225126642669 -emod:766771922418857228732717683752395675,53187483912419491901307730154421458430,92096091103428097138850170920718803085695,0:57565491053888594101424663327538976145125 -emod:52721172881006130419437464601359973583,52365059560631450286814267296264202147,498576604623229902884884195640797562,0:181571367769928285755960377087597847 -emod:-130061614640638992198273716595411981919,2346118145486800692560690336691790893,1645004080847919147880779643424152795003,0:465587055828660570780657181568452731225 -emod:307876682184042075642894436987556451604446,414568064245406529394828107789210339588896,477711345483924032017056685517738462284,0:109389690976160199299716512672430415312 -emod:5371610880889161920476163626282917268,671190145264797106864756436651734380622028,857741777438607646271321549114765205923350,0:287287981571642915909267131628181821120776 -emod:5204868302533203940801436297790593533332860,83487861479973096451480151041003379,71382668037578608278694683426146288,0:30832566835341111033409687661632112 -emod:556625156486454810659526673624620788538,4626440741141159394644754018141116454244,72891055350325059886351235380188925751695331,0:57282604851594939929936357788070706169855035 -emod:-89511300923170376817021029243002896666477,903721376056645176029730798837754904819,2013905533937026971053538084460982634236907,0:570791309010977172526727690555890004463372 -emod:69694851714973479181534773177163535244,386316471197222025887461600408882433030749,490469070636694229175921907889063586231473,0:427487689181588318519876546414273004996449 -emod:-588196597032453101052930493773379817093105,42480403111373035847406143062717911612705,4544690508644322943234886196205261164011,0:2047663912083358415178872122408088880103 -emod:18601385516319880347082113262021644716,353623982591699522702650394835799306077,882857015216699962449940196076317077670033,0:167450675786501647351135027234844843065181 -emod:8987750839863791535937648238891007778,4992783303820924306757780883007042021257,44078061546357456041964194188918599,0:7906772385757741707231672436897321 -emod:3066043816339025712845503823677606013,902933129598925384688189274201201551,9952994249589962222132861005360182224154,0:1174534817927019518079679504541484744197 -emod:-8621225450444798677120486482628514696,99155842760569961250514993113606863884,25114933437945893268599527258089494552599091,0:2901441178432592927100180880754049113544590 -emod:90281107710916849341198657251024115664365,754667850911713614499014770880887141334,30898295870918445141561498179371522917819,0:13951738483311575701788614225768771977539 -emod:-377295017128784286263228943698366029281236,815351785301111612401048321797886149066,29710296428625255526774084470011099286,0:16786657050746173886424618254498209594 -emod:90209342286956964721158878154317059477,1184109459781060213060226071584865744,30538892118817816797303238023509341587403,0:28384974665672321900008538327342162253338 -emod:-76207593117960738992003792949566245548142,85201520873038006008429375802296986890284067,9310049288843035339384905918862674083743,0:702354734188303284325632288622165913045 -emod:3050032614782701178357664755062786032,6801863531876714949028658176036217984466954,43950118108330216557290417378894698723105,0:39620291264605476263313200424175332570554 -emod:677773161150320527783770738001557704372,737402634272859936882908890962095194591840,6047292927355913043161167285175711434800,0:1483012736746464157045759924622953000576 -emod:42088022811917334978597559931011799497514,588319468481766273347382652716318465,741545598763153697103785060193676712330111,0:531456297231876059205154397650433936193557 -emod:687777305090023482357070950201516321450289,6133564983213467693779486826114552977,7627976248578721073068053781703769523841594,0:5843136042246311804421931194539413550947857 -emod:91512065672092684699107288546273626439473487,77707078677517557779288077287329555442145,77507839007463389547163721496077953290665164,0:38085531137788908878444542689408043701328043 -emod:212359500386820079595762158387084577,717033680869242497989232895502553209306,57994712116702439737072157729729872704610052,0:50129132851246790997550498079907544729976657 -emod:-825584369512058731518137754499088478179447156,1557907027924626933995813818185230430454,687117774891041750881385770197632894,0:469172376510748056891468208407987466 -emod:-637734412004053009388081157566315826855075,36476067391256503367264361488762844508,8901726487790531465993910110654847381,0:4608357665978022682117013835997146678 -emod:-54456151981942190750703318217840449704343130,99982993771652282608320462546135364960046,75503441196796803933415452275033785162139990,0:1100695159195786352512500747472823910559430 -emod:56697516355737268216190660504482018822,88504062521017516515948614320857837302,31042097144177216624878213666191323514,0:27351339735066170958422624002651576306 -emod:-98852251157147894938842540415683732209931823,1103039394658513749769074015498619281,7550633351197275605040420550766377478,0:5707985330709738472127894458871700507 -emod:852323466440811463681452434704718127867279,34051201027780798621123886995870064920,795262345784174548938737711612423959,0:548570523642232944065382365273044931 -emod:889194223622807557021642095643419375,97697994551840383739114494141322582209674192,70985658980570759747746606912921132003556472,0:54920500907444323447367511646922423261389401 -emod:-59429009735672945055727939898766153531198,3806951738924291817324705452300312658284621,90645462413613180896154498632105428944,0:8969737683089946972629350404791649984 -emod:-788749280314228561044345431332920373159,44015816904317649966556444126647542275202,81067964499763345132379481470512547700720528,0:421573413445326284503993935343886089184977 -emod:9008250476728385872623793527898989079,2093760923583615910781525258418818015395,84876061848991122343034995751598547888,0:60481132777467814904735222040023224935 -emod:7323424567945169155005613073259826377279633,5345346096429285612041846952680414187,7435331969248825511490730370379710920,0:5701245548135054050237139667347533017 -emod:51404894860307832493700969749859131586957518,9938875974899784631458092317153698579925696852,919124325203452723338865802119093445414631,0:581269944116304841135442821130730046480816 -emod:6976423617979510411465515007491044851,811899783025865657772563202580630898795428571,6842295935464600709869948911248187992875653,0:1463570911818405692736959800443272136874063 -emod:9244740154784184489624653851590988118413336333,74724797442153844622872240019401506034596,415430272200957807957520540642458327434814547,0:227245764253849571682827833616120828123015976 -emod:926378595873538467696967488061013453069,13726821339710674251825283897470743239,984332184269068978074654811562030364,0:366045593329883963651763814907781689 -emod:-2813562000424875340357193353899248540030,886165849336487766393906742230529958590960,2271217318347813010825877828107460187565073890,0:736934018978417266185885759728676558811563740 -emod:272054208241621617590554322826124010321,247618769151239284337079695008609818283496686,649481706449462881752315195565911763474,0:256814202110410998800134363843790671923 -emod:528587416597254711558479148286684876795995,56025560898493899721803630575638541012744107,9092163742836866873755879991932002700857700053,0:588768500717688902898041234316335534968163070 -emod:-36376510103909754880425141038180683008,697554526126494541279186939566773312469,7678019691033242250502480954454444789783096,0:5565390320666040024632809464519631265578088 -emod:27353070533528810361133250533207881585,454632738024798173419305392484295653512789,8645616700024063945147977100235060594126432,0:4587159063853018443969072957434344637693713 -emod:4564708845856171353601915371168338496301854853,7977961275571093400571875056194861455149,813927549830561854195243397042782008374,0:175995834338047549986610112197044992575 -emod:78175395789694647002168837493633590621186642,8578229500974640597201805617750253952058296,20420572460880064835714904978798146323419,0:13267874012653989247914000024945154331041 -emod:140750235074048885495514519935667682244,2119009829407208281675487240867001784,80904987806406684614200209335872193933373288,0:20538605766997209360435961966799813436662320 -emod:9887824160642886854268459508821295133,164654330601600177496087425862536885517,74733613066493027861988707350740433987311667,0:5362288908065092864439824122867646582501022 -emod:55287594962561555095068246083044803040880723,936954069289825306215654233135813117759441,745114678852371902761659303193044148784138736,0:290151193402965126922268234821385444873479187 -emod:49271627767039808526745187094137141719732,30065281370305611177302331797431914619013097,484472846194900484542233448660288882119501,0:458376187678161540698348417833456289330989 -emod:-33619977831470526307371048811162970364476,3021585613307372422202371415945287499364,41518376269473392058127463402457118308536,0:24307170522911035642636754257602979386776 -emod:-25382128605388905979122243374547045342,828302867171033162078210088228770176829233725,8266339347894794362758578546936481856264205,0:4167869286530376166812379465397611080036603 -emod:7806062802262727519367165518120421617547186762,51990474722372679127714742060768843445794,274591070028574724870239318997476790646356,0:180286762288683513660209941777027215969804 -emod:-14318350583742657677501199469782146645295,961806524953716379402040320560202880271077808,3687275580612869739753747169826129862213334399,0:2737868566562935158202389734126986146079719735 -emod:5760787392296885353944866764267524928758610,46155936499409386931117510358618192060334282485,9185503223984382023640943204999579979071680929,0:7506254742023345352482567480829597623259247559 -emod:758462979498659646336246209035644159621552,136635434728102133698904796510225702345660178,9498019876743551759329514429520428372065505605,0:5565366837043674646400082916150410306576873804 -emod:182033670937033200311127104143473575388632458,465202911160104863025573660937504913136,394894056005762580037702893386135121788,0:316367714111986031710088217259606247428 -emod:2632031473801519112928562274312812079466,2498635333283012493093325455044250943493,799862304047991036206572453520324334513,0:260071365955878514310663254591271630685 -emod:1021726135630824830413448736592392545545812,4431216689055888716659906849751643616246362757,595012854621587453243625735815790460446478875,0:506405473722516168522817128617260580471663667 -emod:-74647441813141773592808970599111638815902798,9458739990542641030328044128925695503721278,67632705274078858494220871541834514286,0:43860643833521638278988180954457097574 -emod:74347467735199697397903862391515976816,27228101096114329060763685814389121867,2329466465821059768201256128129347846,0:527826993612543999076744976068461088 -emod:70535640036795289071039498872891011642193,175763117977529697478928626604560680829675857,705090454888208372647565597170374314517,0:179091754275860670608755581507296361572 -emod:243670574841881773841146078165542230152996248,27224356467518163226383802462318164385847,52881980947180661815959615676455311403364453,0:6543936847510216013770565818083740841303302 -emod:-3063522500685962875075820880911603917,3092546229913230570432064938454622435247872,445936607970411171632403906819964092617858,0:244095099022673834362318413541677305006965 -emod:39258083183616152671542900110410755401440,89093980612505699952982513757457937212093,962271109020614661437340991578568879083263254,0:305927769953786743646130969214578455895721012 -emod:-898028156876410713010493580194881547802568137,51663960553269149619746641641026382469722494,88192102753654247658195333315719037577000020,0:85184597556224178158455641450790019451878649 -emod:420238670197853908213239792155799109438,56874184795237971698065659542105288066970508072,7039994314494472877016149904621158951181,0:4195556681277481820163873546402003983965 -emod:988537214014327037772289213676835383723493,513562354885152593212937649884550491754906560818,93157394660505505194821589054314827610053,0:12739336675286048975363676477920500556548 -emod:842740677032405514674303211263314042915529378,8831402402931313770942586028473722467913,682852291371107996249203176454681279672468752353,0:650699316446407153033148645266760437516984688808 -emod:825599814726370563248636889273016715133942454,475680601046386573129475547513603110412899,416247625434559948206627127417433632778118351,0:339574109914067304840079566026200464971617828 -emod:567648490639035833763803769141627245584615838614,50724317254941774744692403469242853096809,41148923802029037929684987081095814446741364,0:20502707948232123804215524099617477740021816 -emod:115087026829239549004467892483132444989997188,4535425742394168264586248943679679529149663,433955044135381795877250546954925503743568344878,0:251660326553696762196196778824084224173978677678 -emod:12036785909772650615373227006202901241216144834,7640930319417728873563211760140268194907,413484971952354004891213262066509431492,0:386239521261870781782143346233879040668 -emod:320557378119349288211730243419102961495,84587343773197883044120518369669143774565,450141050577587452674598657343574939265610,0:231814299231780092365918681959558354516555 -emod:4760513985682144284402040197893582245744274,700922306891278320888270773879393663215011878,508613578824050038059978191899173905936352067,0:226155180059930658457926847583608180369805551 -emod:-1986722625420716592016545661236480979772,6587808211180976790034063002169935351319078136,248018664573312581284613240553608321163,0:47757498985820966232985385469724481611 -emod:878958607745362254467126051915110114983,76503615843648834046772312529145734419,599816542297740804095006213529020435923894574,0:250411227594713677669720417184781499038401385 -emod:842403714056568268363014451655139215576923530245,882962407685597232301145770370705099374,82560775215139790378071910956865546821689,0:16330945270987575660257305978980256916947 -emod:34552684591792222791353473595987201905919750508,212190283105668244835487282221966055090390808214,911560266007572327824644939132754269623196,0:375847062861355613267496115505135609589744 -emod:-255595855064966654171339977100486303810714342893,6536377115945497812146512349336490454281691,2358447779128139560919507162522654854246713,0:464809906345666089854305504087451343505919 -emod:18482506274556543305894610082680844279454,209945312016600815281820143389332478519181,699102020350956658786203685996030350661513312761,0:72242030557111920456295390210910475158413094888 -emod:6415210528618065990871168801815200139332991888,597649022838328236100124856044642774484278,7231830016713662975924622826283198323690910,0:4006117305107713700741948795422083910788724 -emod:6064555073982428831750221623690023330296876,92735364529176955551691773164814148521984,57696657922579845113546414118019201058924665,0:6870916878745310102921277390541323644461026 -emod:9386717595978609521086313430321645886736486585691,1936977561716961194789196774828364291100085,308710514484691606827023276042134027471318,0:55355445075743293412821307947169157597655 -emod:853095304936028332312865139673151355180032547,402516533127912932547366145735034332969264851347,3612211333648128600921169717824883676314264487,0:1447874577344295276390988945761876053311260753 -emod:61856527307782794639480931649487570761759,981353953577921813238706114977389364158181496476,2875727585132422327960555829952850177070241,0:501562823449987389919037987877783485624875 -emod:-3267284769511763375166288313542521834448737,75871983689910147433442901613935364192726737,598080070299105299737322321312252319973858,0:412778730998143883082550011380441775883929 -emod:405422539092856845025942882047354831627260512213,1337913948299733086787799108945523111815394227,36305189460456946509918912104812255759867575,0:30995366858217213552892783895317137044496967 -emod:6960366366888598610646870748629752920549287367,39434037540809306957325491962655662351828,3736135718526702463297936582263494485512861834479,0:2992479585704247653816936018623391133511705239998 -emod:-1826866256845184317995843519306378742885,6087838149038632125552666538607155530202455862,3505196452565303635830882879536478893015661284510,0:2876258092163187750168292253816666759927848105405 -emod:-30453880527433344036376413763327782174850922,958106051241874716971554801010144468715392785302,83704796154657119123303823148452214065244,0:12172291368658411466771610032308050809112 -emod:-356428887897712690551027940776016664193551,974311528436818547612106283639362895440535373,4175822946282741428795690626208558273399181,0:2217100635742324748464089855768646097870944 -emod:15887850640158985382379829997884660521441664,3279446731722646638040158087688724381294988413421,52724586555424276758984551014477985909146482,0:35842723031112195508473058690940883109069966 -emod:-2754358773916450393380020466377500694537892748,6693196828758606502929005505195902945008422,81987501340134124186844933306300364101202601696,0:64957670918930713389913976423032686263311873504 -emod:64795655511571826535953650784879339331120906280,201781316213631005455227216755502850172048,9183404199411504412156373561368468657063847925055,0:2917132830074900548165772586526792013580435602635 -emod:322376591049977138697730895670752146989338805,223962315373891826478293010620538065565321,134425497979583765111585462044979782868043951339,0:12680763077525899140335801175036995248897549410 -emod:7378293498837163030108494500023638035245941999,2701192105797571727239301264973963904903943488,61103840672560006595434005526860223512609429784,0:10575104110432808219323836371535482428895151433 -emod:6586150511971850295907641345124913235499024397884,25513878140895710942385809529884547574325,402623421320542043817163858150135923312140690478,0:212703145455744928999402867801599663279882403300 -emod:1148513813380533679268801317870273567836422766,78264425883354201492861909224929965803589851,888529022913756404039252857597221260693723470,0:344612069767725463911981963977120251304004566 -emod:156897858936863936558762112272942619182648359,5998398850499440904999529048665563755755197719,4114314816923307068086587017590920904175696,0:2365605906155718722370615329402928970075415 -emod:87182346175010426980309825602413855400180387897,6881708075476719061473118229291803541629550,874317437435696504884100729090652126764764928199,0:358356267780280626874735799972579854632076151004 -emod:911804580943517196035138307824767637716096,51910018818079388343993224114362468044260,755719409656106996416099738309867560127420,0:619648429452324074929397811402394241260156 -emod:7907371058268574577015600989784286442091497358826,51384490845283761025532093399709612887400222268,714932241344452067231089183566607442645499,0:39652714695362677793061396306809603985720 -emod:74152151887141438565558836677120157654525413725,3865673216281651353443515507748331062737635617119,39515541452736626357498604574956947118936,0:3348164210948022420110568984992044206893 -emod:1921212600092818926909753666688437613889202174324,15126673218216417698630762186472446617543479982,1513247907205025148358918017400696573029502,0:47771732582221332296766778100437627607854 -emod:62177741738385906366557378447871109683100,42062431220303473355860970126711938425550656184,773958434020341693602047125826174529582651,0:442082897911401536767776238214849664334966 -emod:-1806808081053455087879198258615146551580359661,44724668030512207581826980240922859464701,5189597819742605059176771398730210738088315756312,0:4809675330086812178815566854450153052638869156587 -emod:139380296373533535850169111091445251133031553,5568131554680055330705039219787143467175996,518185013729942602529965143602253217637466,0:193773139480058911982453569250459620737303 -emod:974121940443001500503304094214484700334099,728467767024352630604669587731875660396330,44674919076720204028296797718736637414521026104,0:21438174710368725104589700570479560530599609609 -emod:-527405333948184200720039219764919299319468854,635924082359258060601853893045398322160190689738,947819620520708699044943964793321010513297329179858,0:342816230736644110664562034099738209027304408209052 -emod:4964014414366266067601563988433897971039777,972491441089677662999190229721797813272801,938609136796638825673168709652895939249020,0:757905229497791954404463471617284756626357 -emod:-3836548959134851265232468756686852887039589263025,91958638726161076829164170565310939352504345492,9842518325582477123987885320987474902828056396473,0:1785937883725230279579795187739041151659042418262 -emod:362003077050650651287331998851003608874005730075,7224278456794231058200539570034490392355119609450,686491790315346927921146778571888891553496,0:316447529525677730606205777277031419657281 -emod:511417748058568151891786589987253660165796727,8094482124265898686460762144280960033447161606040,186381274246323455788720228571054777422314708850,0:45279922457870097101374197162961699877223826551 -emod:81264000690609604351458160311340827489802109902,391885387725085278459091170640814114585520,862357107879749607217822835234106152392133001671034,0:589199761114611925556876493283500689288324693424922 -emod:60467632250983508695725501646784109879778908745114,837672302787514343932615418244003255566590288,469196685288767236431865642803573408203650783,0:47351563702942679095591216340308509524717890 -emod:-459476727597478328887650694792354077730065535006,6551100280420641334568069542701824749257357,44015235164158274406848669553614570342982958461378,0:28017796628275197434019563629223716729911088938710 -emod:895843043275999934611988163188471273684218111033342,7246774352032830692528490542295484830970866278,861847510016050471694148161127317335094105768,0:654035466899277641878411664189821364246515408 -emod:286589462111588691084089929906408043383921020101,9692415030522370188366193590872225386635917218031,719298087261564603655693066504254890048009456875,0:427302318670364247525213648717424428327518555601 -emod:676436471530083898997041363054013845405132592805,9826535789561484874848870984693688846169671622,81123191412086856575942178138898627611978864,0:58559446218187016378111352068475314798576601 -emod:82851204887068882391372029299659256702159316,172869110320082328384071354204393838581736,67056444908658930881509973314864718767829541458,0:19106724465380212672652647774912584474721840748 -emod:696109009687864457810113686337232495156421183,3401811110841371494776087049474111559799131700,4299920714282089106120610636935635090268618368,0:2020511812293185382323106458123683937285282817 -emod:642181116705547745922861595409305314439788715713,3191544116958009442265013426506709691563847359096,11503959864174296512003111411775254312499675635074,0:4542807727654055188419122200833174452933393471703 -emod:-43473592792665227303659232677180275856179335420193,367337932661391050359451420336432743104912012849579,40336899717936194492442741600463146885238391884,0:33883445452210304367843379593615127696274144511 -emod:149677082879100259644810248166250018278560400684397,67835958963093533534750484479612188112600772232,2417319759617452658480101694897700221629257,0:413114555403103000658332346965315753541371 -emod:4308690827834618796779071688055990154958119217979550,8139792103252594022614523084666149717083186251,15533037471757153506550580840055923919409189,0:7020715664515618963916470331313209937794066 -emod:4607793512504764431422636985189117330151450,5810855517430042248184284609190428320492582797693,254077145071398684004350471347456740109867649920,0:249414146109210156171911011976187568245339994880 -emod:75015031620454344801239233353680150096201722256401,4993964830386180911249138189300268494685186990942,4241132252523512745096917242615525253291052986,0:433337045531299838053635884507298069666061467 -emod:44960897309673530453555266827045004683193626,9864385579695978005342342313046773936648945269556,64756470723619643596096247881962254980723676611,0:49116998830009971503948732099380336099106902368 -emod:824638657497552691308275418547421010797730757488,7102337564045908912215659769896546075594806,7549559927659163526633926834915307075816410605,0:431856052905253153141408472781012880375756789 -emod:-8258821865451861122164335490949730530149357550,91240131099914556769212391842754945963419588729545,608091538039563385874042418452351103116377287,0:138416095708955483721209050087621590198128350 -emod:6918006637544381236582913953764444433570928,142116742659743263417878030971625713139395825277,42465778998553599048069556979313575711603846192266,0:21075269211617428685041608731276059490981153877082 -emod:22864575309091005999606038194627722799352002613109,896391086004059443203372771274754832310503484093,891750130247908667659048761409012710669636399491,0:291616836488219220269230095553451995714008687531 -emod:-8194888032441259199630599625358473476489205,5233704072524169370158667063506533972281083980647,1489037233721004711195744120696209782731350261503,0:552028516294652365815212711109824092516937002021 -emod:402772636759093114336215386282519687390989479435779,189516067274441373930013687419363508463761721803660,80415811227458788175575610653906545982219330975,0:22728298548876566392049076077182437096372400601 -emod:25478733323871259877912385362343090774624815,7071155968374703054163176660383261326011527019503126,6134327557381540088147721199406548730558126028,0:1024740410140626130936532360899124497564707733 -emod:1373842982649207730088589912059387373550201,5632296300635658701077632379614186637591919259,15391327625104216613547146396703256586018696280834,0:4302181480010047578962481977259846491527280155375 -emod:9495802289929888822634017883238054795580349,5002682765682429592404202303916871057826935,15884650860342620721715065457253891894018967206,0:8941067791071558272472337248264693834973616755 -emod:31600516776786509284343708819765575234628755,228791299265655690472626502236069938161188391,40936664868340332393928739047239776545553829753710,0:30627744149685105327689441848075123499867991131765 -emod:38524550306915104068946046715826855759569613774844658,9194419836976281683587306717261558747169442193954208,7779595009435858929206493144805114063764499766215590,0:7087991661129889057406934247049530530993451959597276 -emod:554411708679558039842538802463328992263904679,6237197282110482695552284318126536429504723341,10950325577001918036371982331444541813617574475194180,0:5787600514717071948035385347363174161644959891539359 -emod:-65036555989091136374058985938454117449763159,34831798653870828072406297626104961773750661,31676515243089740330950585861176809143792092,0:30732949823978690229767791353264924799202285 -emod:519484888832782036702272050651904638826888669,753074873494165067376985336730357180001686201437,26162868641248965913351015420400997201482504702269,0:18484433084399526415475352405874231763303729896278 -emod:486622002393256987329857884862358772922652299948862,5397488133084406712845993173123874999792355443180,52221363514636645344562494690476680459663806696245,0:31424877006247871341476564009060753196816273746886 -emod:2519545249333346583863745851735514920346268018,5762304897220756179596577719327585953058564086,25968687826793482314025869361353695830319122017723364,0:11446923482269709284929175954873487230221266306098484 -emod:25181558468391709065005750569128856213137442801,17395204260174949840937998424068393371443165843074,5405603350542397445284851120217561963941561607,0:4017170326519248316993458817903116669933612061 -emod:407900825111562209157049195681691242826792800,267987715516648071532918817255425280495590423956301,68776425368933157858220727119994638551746175,0:47031090204538290387899250133897480746869275 -emod:-98803819636216862704666508079523455809956165947,98671412267375938209192375718233476934668297,55621612703501672327703967617091220387319483168426,0:32713255624638051486342207442183163021264516435649 -emod:3699193512054702576853653403075240437897079123,8717079191539632537960810302588868157436232036,48522242477672943422659170492335520141870413,0:8651476435014431039453023117472444582400514 -emod:77936539433974741743578486606140093995870301132423,954499217422932957346614451159347140560185480521281,163215414633308466314077081093001860212713379,0:103758294538389867607040992307260424637536023 -emod:-4028502338091434385570286181712320072468742558,96989036369391542800442739082061530586823254263116116,78068537791270178387717266347434743278287908,0:21669953939490893566721670542161427811188984 -emod:918884247467748036366436587703999780118117975546957,5615852005546776682559779744353394064478095142,2401794658690427064436304716694865657554211766,0:960515354911580091015228026871019794883284885 -emod:9780239941823826659833679733394177755526189646937,89322777323067153562491076481435606732771405285,29157211787311713009469704820603173835586448915,0:21784603970310613711389261139944185838629281707 -emod:96098774697583148524351932903096795874200556392,6980912905868697403003059554264649562235986501752363,208924194204367947369626074783038546699206285520,0:79697661577989072841423526677085730430307916048 -emod:-573991994177224613634480756482666353761100288807,7158287307293331130042236674166424104745547165,9922520662865454426464919345018943051389988697,0:5619512846811035521678742038957891764003573958 -emod:59911103774024380942223423632168855379630335,6818486079655068602807082064093124643116770724,8864024398516747656055508658685364700493232356531142,0:2383722465709179243642856098503264547092886596175227 -emod:-62313348406991266015553975744856571685314477634,21991981158838978996770304861386400122523958836,954507703567266334987920599572200024950117776,0:673874525887635950319127294209157951664603712 -emod:9820087452416196217911209095780565350316442900,148320444363560053307036007569156568389928195017362253,3631113047524475643723456921191780561936707959783575,0:1549830330276375593962772767912210881310119448216925 -emod:-25798647424975836057412872830909832741720494281462,9299188364970643235457620086027788049113237501724,522064657371945322423320375992281138757129069042588001,0:314662317723871224913513394778330419886523487691115165 -emod:930783335744991271355677086538660736067905998974646378,776787459928168870257234381028892429138274839820310577,3676898834201974197391604163986622259912692963,0:1454707990857958111219870293206602713503203390 -emod:754324807048657228679765605878761298609690360511998,958586904489606201890927436646020906824192582152,225179126294857543684132265900588355218787359997532,0:184341533271280210707350262029004357506956964249100 -emod:-4277241617014152774634908150956976406225721463619,740666737188827503974760746294458696679071963170918433,84911564006449909724569329147240459921838626102161,0:32837984989291416730559017868100153859989248628941 -emod:7690914272601666512634428163546937580730709939602,14197296902658248167889786104196831416278344312144,81931815436335281188537823089415033249544638767808135,0:3199600947635353412828955610370257711774177287067436 -emod:40693757858681089447717885993659911215985324585652278,39136056473317073147714521234945625238580560862152494,56180103978500893124049541126696155778770577135,0:35530182604079785705672771377947698867955134584 -emod:-61262007457380831475587401250265303407703358053,5605602757602617615751362780250832755031303714,39786650424951253014286369945896326084999234541,0:30624920045735321607213022533773280830319909832 -emod:-8294197985009320613004835515579701550690472035947,27497176409134737028455478387441759659126437088890626,878254584167789416959102500401944397284939932959,0:96787593049516460622263353747535019044011554347 -emod:936948855951886126122485690093336688820905438,952037324756179560869502130218077067074192084922,33269225773280332072695417422958575761899978253499,0:31343729843026164021419525495602740164653732233547 -emod:1825784156631469036083553494921853600892959329084,1792152855908535702866815908479066064573203506328,7584434492468684030603996404862850988077230764966,0:5668645854080378677534840608739670840420553612804 -emod:4771542980687362499528587321796090255401127670935,49673918430106064176014347389103358990211599558,566808710453386184370243734899518529679284370157755,0:122614051205229170899163057352055351000892027836640 -emod:1823975371238131949336117473697450176001493124551422412,105862300137903514746181350899950234467623927399,872150475093096064129104506408316916638215646399,0:41655575950454700889468004661814966001328043635 -emod:-7403599133408228298723066626194976743023770563,8091134022905952963104699681073539225469153697858,5425355350845048150843160638835947264066541393,0:2741144821308534612335116015287775234294403710 -emod:890646208254935784836741265729061048252488750371261965,3014682556575993233966766524815533447095651265,546627202244553599303777629347742865125211029412308759,0:129189292373035871943643466963326800150883513587943803 -emod:-478301676028477872037215528133488673909770705969021,4776644958028138697511933491453433971900379293,9804006501217419003156374248597140990532373604359741200,0:4256526039075877642788870040517474793472829088151023139 -emod:-2685385133378038265400322588836701680595103090,6682051156600485359090971175835317671334686963274670,272381294217617274132435187599076952898337370816,0:160448248258559406045792992578310861095674214848 -emod:5610352369978196066557531911583288845257728872885,29105174820600183606830671874489670474983812495,10153364462051971143078318734983556641603678006,0:5654495476089063930689151404880397736789807021 -emod:226106902099977963681448571570521911815066120995317231,1707966440323110108128795246285372866871484571190343733,3022313205119289698061840897980713840817653246137,0:1577789001757918961027109729382551177312942381192 -emod:56994398320188483459448108143592444430607410910,776571171150667113541269029583357392475898590899457,2952252481199115860737553986433506978840458215941629739,0:2115048663787786340261444189400738968421587522302410834 -emod:3490308621678382172799094687550532898406999135779394,92096452137945096831873480789275081374251295752,41859985473397465016337344479699193310470254681186836,0:13883201384282345984019723588819996850955384028405568 -emod:78199345624452323665538899878571977010103711120353586,426889339090868016603770192089391858795483010444,614591398724869622540933622810612317245462099,0:522221021562810412369119229465715299116874680 -emod:24494234546606769948911248691757492347200292227140712,737664088655731527937609365429682453415687199299030,41867909567513789892657868211831771169136305959589936,0:29639257666757184257116019424419930205524205997421488 -emod:56340168172071966259164709446976804762407806722929085,9330607041404161548877129661058575432184418559,9073094112420733297526890865499708444478527878927152123,0:154033683820095649526112863414229406070106242714564017 -emod:-98557586380727162991959870302640551435620563142855,352179144624443366108174660913068150097236769961283,82957931261705630469780521065649609232909069967906297,0:4611469772581670990273871321012941407812443591119341 -emod:-327557046252127633720556940076118229316928253056031837,87561673782562800570041955183322599955629735731,999914991747113895498838412296608587151797268932915993,0:394844471425716300825167828282861382716619299699558452 -emod:62239294453310399816462667483598707872602240932142297,4658914995757017485299221864332093690860930515,2486140058721179216992139245736934931657664228105707838,0:1785631544920858868455392242463320012563257587191303743 -emod:98844248773908427486663349850376500066907267527022459,30192206183400841123051111248262548983869820657370418,68953646632746416359816661196045006942249287619,0:46348894487037788897865804485372390262476609587 -emod:157314584387460613339515315779646913728585159983563958,7129487243609251992087268468464230874147780513130629,7635331003686312032946464576006029771208342239,0:4241581628875360523816771058381935521234659115 -emod:-20413864406387948000986404651284225843901612271532247,60570204203293653144874911182227469571265725493933396798,74868812887175685382885501310045723065586089753,0:19048798896908808195904371996264452593501059126 -emod:-9994818638674529038541342163911785506433155975282,2441529131191726286407021656054505236538534218505,868763054397265950319354411340564521520500110285341,0:713646341945805538982296660502179127412919111592110 -emod:89928590797284478729252348706855088798121290869809060,59274533239795541803239071337695221071797917061551,458720998639333601494661224903885165927950415283068,0:238541586391208422370502281952541020478014766570928 -emod:95798368921402497294705740910984389802169456614551866,5780238728300624701546948669191486225967922222,17602545836464476089657116165016615105637757631075883410,0:78935491841772453025866169047063528694493328256027716 -emod:-6285988010245529074539471748460012192454923426879038527,4464035763112866760911458677964807167647554031374417,557426143112327094606990154681823173588434990737834515,0:492308894761273719919857937651384253941194670007301468 -emod:9216609859426876786581364775917107940830826147193,2584656223509851604195298909793029088361431700609487947,97854661860659618908160182622420008085466240143877617,0:85437882709473882823892529660893798801236147303713473 -emod:9369310120459129777778887291797647697234777683432051,29114272244461903760267994837317966967186291374,9778907141259037429006274419046033685045015909549812,0:6158258816758612931552439105354775382106793792840429 -emod:121095461268256661739120249224368430821121813080,24216928007688542369493467184086532629768906571974067315,1289101505296127733900239534120001726302383453437972,0:559264053276767206654909871928116713399654543670428 -emod:182013722639261555865084991953687573500429962535766,5312171499532129540711226268300910853763234503893756460,373925090068292154121977949608424249047611823254,0:314492433924568960493434943112384754084000516952 -emod:93122409584336684208634425627697110814180323391,14785829877381197130422634393843365096818009069934141,71932199753627287791733451362196318752438103297,0:8651254301747600278741940327234016885952587642 -emod:47314169772357749238033685118725095245857710174326752251,7737526111797627477363360414613284237413174897695810,22636439121232576533369780871442014748582558494258753099,0:13481881160769756096301137118624702877253559402875253449 -emod:40437135697420911841447145598134529938086874417869482,34142834203311856114775566332299272975314691621831451157,61483400000688184187598139984127464523117551228,0:24693895005298972635867796289890449288509340480 -emod:602105062592660782251188458378445123063805101057628877,8347043677742730027972079328186098141974290663352,26831519142227837662521069711039879610686983918942079815,0:19346421778661788162968173970766981230660937987122859431 -emod:-631401827295443763663013499197680737231639584989,4430590554183773954781048837898216988481838421600006676,2298393896534361874746279427962482679705626081354993,0:902945851002567106949268418213474969113107638762554 -emod:27786418359632188385534950865019584947593363685667,98296086104810263777729111156693306399745439517905843246,885588959591327389647962772187472088293854582596501585,0:219691806105674835153486211154061118027834335467768059 -emod:544755872510174513208896610649845089424204895203973,87613019793007744065404211674234696040702876770839324,4802706142382015625537025588688720114067633075179938214,0:4385825975408070392248170302791202812902625274088936755 -emod:266945202318091617395513307631280644325314217797596447,327566429748960361523726509719626329764280050772,11519336904029441280173947176416866297494364467208,0:9214541334269337101551342582484701318239260425185 -emod:462274575377872280232466472100106379919338255223,55208106570738920386188352962242729542845793547908872955,394947463398055276743090558014108833519958843326036,0:14090943624401742126636618168767136948067183397671 -emod:498588690178207860433541173652626793819053542771822736281,7320383073654496423015034860141911017275032239632,864143543362782361157239005190574446540608427530,0:405837700105174778010475141584205874050426805841 -emod:9889983273673267055836467894511050393862566401427167421,9249465646754817541871880579390030265752574382697001,25959701663622988366438447815418575609294742760915,0:14146692686195759173905915586727366427907029148496 -emod:8977490701791885156174343111351369788045969359197758,310958534312954656622864682281335777958703646747002872696,174885990030766375557335981487351371779234545791,0:172268700100468974308770735824988553302287984097 -emod:75891699691571906472460353214537778119193566652164258472,75642710398299172975011498854625838470353049691991252,955726338299637204220414390179262210175010011084260057,0:871551220400711242628454200406202564111664531240532043 -emod:817687870329204460156610156013195890028396416937162234,71199838789107588122529185516473983414598608665610,9797217400749418393402581106919553154845468700907872,0:9732835751266971971517518815617086242024182057719936 -emod:656535389260219421975691249279051158130957449883966,9965820125071850776397934471591602941345422709213,7172697024967323900460450488928712811727935935053426,0:952029660753929926293707648671191250800460252928490 -emod:66765940995445083043566397231259337861214788967954,698949221229345492777837382914330269944860925101870058401,370977162689246158196783733149906357225503977003,0:56780810013712823080333031377883978714594923759 -emod:-24860118467430048016063231699711679455683726879672563278,546329058333516554426292196577372643895447816095329334984,102083942512514956911062347152596366057306100868,0:89329427941719016468252169448693561927858667460 -emod:518281434431704435940150792966272899127164218411,19290830216216089485046976601623655817078004660590796816,216069676358948655463888215158143195786697578360538582,0:86506166688482117996142986160440612354876384284094157 -emod:517542901438648396791987658999334820221431246981278,4954735021213009892606598900462212813613793939697004110,5546708620630276172568015746256008412046274679011721163,0:114558840275328029858937724196533085168759209383758948 -emod:97796431105417086121597265848245224080646880891314620699,3566309852926516051758561425477409449674731444065,4237358411463841472327670289343773756088420869185382928335,0:1728379035119996080675313770460691892171354788520339293899 -emod:8797217794906750966627546899905389746578400755524,87461473070045326370501974269638901791524473673607812671,63579576817694957532492907897275166360331019259167287988,0:10068755237067361214693799084814132014570304060924282180 -emod:3559874918456198560844107856956492116344121248206,45190612746644425408414684724540657030439304479324039,684772758312255825130987448842421703263477856778082,0:500105229544177258096786497048655528691069662344352 -emod:244693542815021761876325478432698673186866834942911366704,569049151750280294347914587638406693043104703456596078,40418336644392592645116495825339904699620388961770,0:29946736018608816763137681085572521922498414649586 -emod:9552030352913538449959248911819718532447389423411634,15303289522386175735929093158193781525599040386989921,17905297851878021472325954407339512702437837940804355,0:7227207308763570886905006773221274115571235787935329 -emod:2427953611523095508885901603899411553216124564768970531,84219397598182701873267938504642229898519369455120690652,5124565221346746692094768907421280792680721722663049,0:2356962294194965054880021165404451023189256523983359 -emod:4450272023458109693579519823508011943468990250887770429477,9852180148050086854797451708622242708750405652182828950510,53218591961090046740426308696077544888041718958796756705,0:20722361228858746975332642022116538507546307084688876639 -emod:-3004436507840212393446088399233355090512633931853,49762352101558708510764823100128412949214842904414503,62339832791097134323794421391092834208651832053582621969,0:18644587060060960018044094951299852000053162441627275349 -emod:88466522329785151709268834138668446416231472463853002,84423940822580221018912007091908955924620089965579353300,4272746558814012659752446371362908792507498696285890777,0:2076687497522815194513922920413442770240123518700437310 -emod:-452137704321173773725358540484655780134513962685597,108536825158896375705138771152627679486775845056880757255,7443505375179903958445129175383134980666720252160978,0:2626655033625685458909447520232601675412626580083149 -emod:3646226144731352080332815382512112527325988973642,736730185733372156433101295886081895604485817722725,187559548105706428460460100309284194685793795827962,0:153703862976742792640135721867824635074042235940792 -emod:7128578973288696116455318246508827884395148700024035843,120044617176238734085406385417402387651027645325661,437777976047468143063879147080739099513994845762621846093,0:383512808517870785600076597930828756369001886406596109329 -emod:92651404329219142594991415600374429189694983250618442,1831956594370082650320589803647600704949512437508530740,989079198090857685320779737579388665165981389775724354,0:429473741854566274661236706264645428539362137664132958 -emod:783048980600864030214223520282343154949582263988130988029,5640798680918146067495300825091961866365823288705,712576055151408429943237184396668347415006718010549447,0:132303576760619346367560792334725765196706066347238184 -emod:54419766013288244584593400647946050509291116271357,37442044497849759156397618484039469808263267657304,55409955411797081810766022756739065410388681698701498,0:625989815794948434601895148375843191288774735399931 - -# Regression for overflow bug -emod:#x02,#x6FDD97BC0A760282D5A180D2308BE3B075BB6456F26B1DD0BEB2C1B0F880CF2C8EB724F2AD0567F7899D9A980C7DB93E418ED09AA3E35357F4F2E05963CB636A0C91B1BC7A000ADAC40F332D6ACCF4A3285112EDBAA95BB27904794ACC8D6FF188E2B04888ABFB11665BD1D915DEC8C6575706067AF3F7179BA57D1465D78129,#xFFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF,0:#xD2C80DADBC0C72DBAC45F380064FDC5FECEEED268C7E86368DFC436908B2D33426C67DFAFAA56FAE89722EAE3644270B0512BE69DE61FDE07585001B5EA4FFDA1B8B98393D657E2EC4073CE4A6953093EF7C3B130CE1BB316C97CAAA88F83C32575D6E1128E107BF66910AAD2B84C44128370DEACFE7EC8A98B2CEA4DB7B09F1 - -# Jacob Refstrup reported this failed in 1.11. -emod:2,#x10001,#xa6aabe38d013970f47a8751ba8b3a2d20b6cfb1be2f63d7c36067957eaca627750d9fc9b03ef2503fe73d8209099752070a15c40d481c71c014731f580fd905db763434f999ee24b0fd4b5f304948181555531e5c058a8574023602191f3679cf350ef9cacfd883b4ab466e2ea10e661f20e06347995b8a751aa9c17c0cc18d495d4140fcc9917cea0506352ed4bd505b626d6803c0769cf88eb7b3a15419e38b81a1ecb6e3695f8e1f3ef7a72afc40a26787f3feeedb1da6715771462e783c04b20804c4228e7bf2d647f2b745f64295006f2b8aec12dc96eaf720fc7d5b220c465664b95ebbb4efd67cb65b73d0556ee10a7d103d25c9da5fe2a757b193b53,0:#xa53fda84e114af74cff65ac6367f2d45a7a0bce93a0b837ffa48d1187fa7f48a87e543aee994bfd1837ce5c72dfa26ae45b1179e486d9f242fe0efd942b0e210edd0b34b870128165035931db003c5158e5104d7f220eb682a6a7878af64e88908a8969e65b827c1d212f911deedd62322df956766b42d284d7fe88f79821bf1c0f70b6fa657faf6eb8ead181539c80c1a13e9efa7890f4e63efcecfa32b4e1211bbdffcd6a945a04ac46f9888f7d7a6d182a0f1abe5aa2b1319d0cdf03074fe20b45a2f58daf4603b63ea35c2ec395c51e3b85b10f91cf85f1909788d6a5603ad7738eaec0a7d393e3b31477710adaf98662113fd349d34103aacb05f42849a diff --git a/polly/lib/External/isl/imath/tests/emodv.t b/polly/lib/External/isl/imath/tests/emodv.t deleted file mode 100644 index 4600a31feef..00000000000 --- a/polly/lib/External/isl/imath/tests/emodv.t +++ /dev/null @@ -1,305 +0,0 @@ -# Modular exponentiation tests with small exponents - -emodev:19,2,84,0:25 -emodev:19,2,84,=1:25 -emodev:19,2,84,=3:25 -emodev:92,693930,16,0:0 -emodev:92,693930,16,=1:0 -emodev:92,693930,16,=3:0 -emodev:522181,0,166284,0:1 -emodev:522181,0,166284,=1:1 -emodev:522181,0,166284,=3:1 -emodev:437824,312,93008,0:26544 -emodev:437824,312,93008,=1:26544 -emodev:437824,312,93008,=3:26544 -emodev:5705223363,2,3286325576,0:818318913 -emodev:5705223363,2,3286325576,=1:818318913 -emodev:5705223363,2,3286325576,=3:818318913 -emodev:6399553325,6,4107014863,0:3307178134 -emodev:6399553325,6,4107014863,=1:3307178134 -emodev:6399553325,6,4107014863,=3:3307178134 -emodev:29074823374249,77004,71683909277697,0:8940258342532 -emodev:29074823374249,77004,71683909277697,=1:8940258342532 -emodev:29074823374249,77004,71683909277697,=3:8940258342532 -emodev:78759078367890,8335,72115845746903,0:20414099940189 -emodev:78759078367890,8335,72115845746903,=1:20414099940189 -emodev:78759078367890,8335,72115845746903,=3:20414099940189 -emodev:-702894953466773316,312561,665754485123402827,0:84548134549060215 -emodev:-702894953466773316,312561,665754485123402827,=1:84548134549060215 -emodev:-702894953466773316,312561,665754485123402827,=3:84548134549060215 -emodev:162476353576735207,8451,299565526093115255,0:235405725752406313 -emodev:162476353576735207,8451,299565526093115255,=1:235405725752406313 -emodev:162476353576735207,8451,299565526093115255,=3:235405725752406313 -emodev:5569622159977645154297,902159,339048673939289293353,0:314927034088061888405 -emodev:5569622159977645154297,902159,339048673939289293353,=1:314927034088061888405 -emodev:5569622159977645154297,902159,339048673939289293353,=3:314927034088061888405 -emodev:6991839486419148755508,2553,530292436823694624357,0:4272543854207020971 -emodev:6991839486419148755508,2553,530292436823694624357,=1:4272543854207020971 -emodev:6991839486419148755508,2553,530292436823694624357,=3:4272543854207020971 -emodev:84643040276670536818634785,63,64928874055124010543482048,0:22546118193382720472157537 -emodev:84643040276670536818634785,63,64928874055124010543482048,=1:22546118193382720472157537 -emodev:84643040276670536818634785,63,64928874055124010543482048,=3:22546118193382720472157537 -emodev:-99555590330388726236230755,0,62041543621233726359336122,0:1 -emodev:-99555590330388726236230755,0,62041543621233726359336122,=1:1 -emodev:-99555590330388726236230755,0,62041543621233726359336122,=3:1 -emodev:700943089540446737340421223177,8456,835694701023829355087294263155,0:258410405038140346743628562611 -emodev:700943089540446737340421223177,8456,835694701023829355087294263155,=1:258410405038140346743628562611 -emodev:700943089540446737340421223177,8456,835694701023829355087294263155,=3:258410405038140346743628562611 -emodev:5473388626149338730799075406,729,850132294968984927109971586336,0:685051590046393947084559076736 -emodev:5473388626149338730799075406,729,850132294968984927109971586336,=1:685051590046393947084559076736 -emodev:5473388626149338730799075406,729,850132294968984927109971586336,=3:685051590046393947084559076736 -emodev:7542606175762975785023215555039217,0,1451486096670046812323372237867852,0:1 -emodev:7542606175762975785023215555039217,0,1451486096670046812323372237867852,=1:1 -emodev:7542606175762975785023215555039217,0,1451486096670046812323372237867852,=3:1 -emodev:-3426829035080908738042076334435395,0,2616360606577002719669450329100985,0:1 -emodev:-3426829035080908738042076334435395,0,2616360606577002719669450329100985,=1:1 -emodev:-3426829035080908738042076334435395,0,2616360606577002719669450329100985,=3:1 -emodev:5871172260267735917150171255408367076,88202,31506806059671945544343675240909419388,0:9882411358511873694991988201288706348 -emodev:5871172260267735917150171255408367076,88202,31506806059671945544343675240909419388,=1:9882411358511873694991988201288706348 -emodev:5871172260267735917150171255408367076,88202,31506806059671945544343675240909419388,=3:9882411358511873694991988201288706348 -emodev:14045780235333982097410791452776449214,6,63567135751970741787875276189593310474,0:34130827114620482312672610863840969228 -emodev:14045780235333982097410791452776449214,6,63567135751970741787875276189593310474,=1:34130827114620482312672610863840969228 -emodev:14045780235333982097410791452776449214,6,63567135751970741787875276189593310474,=3:34130827114620482312672610863840969228 -emodev:719958253183871430502261490413450673851124,9,661851369887131891462493813741667459688172,0:326930997921634036854135001452458647807696 -emodev:719958253183871430502261490413450673851124,9,661851369887131891462493813741667459688172,=1:326930997921634036854135001452458647807696 -emodev:719958253183871430502261490413450673851124,9,661851369887131891462493813741667459688172,=3:326930997921634036854135001452458647807696 -emodev:443624238294320571664949666413150109110287,6385,784303120899228089361406308796439491202242,0:342407852738883656584329996186795949032601 -emodev:443624238294320571664949666413150109110287,6385,784303120899228089361406308796439491202242,=1:342407852738883656584329996186795949032601 -emodev:443624238294320571664949666413150109110287,6385,784303120899228089361406308796439491202242,=3:342407852738883656584329996186795949032601 -emodev:1136928015233318011144243860597237613050611024,0,2789921991289922378761307428111094457098264457,0:1 -emodev:1136928015233318011144243860597237613050611024,0,2789921991289922378761307428111094457098264457,=1:1 -emodev:1136928015233318011144243860597237613050611024,0,2789921991289922378761307428111094457098264457,=3:1 -emodev:1450999454447652679327105307881736952333784073,77034,7671829281860481025428743103260720025399298938,0:4381187915548158452304254783248892025314678287 -emodev:1450999454447652679327105307881736952333784073,77034,7671829281860481025428743103260720025399298938,=1:4381187915548158452304254783248892025314678287 -emodev:1450999454447652679327105307881736952333784073,77034,7671829281860481025428743103260720025399298938,=3:4381187915548158452304254783248892025314678287 -emodev:-28809270937368266475212144802642236424417695707616,6078,19637146108400624623087855337736820815095169248114,0:6346379403436405925654497852274419173995099516658 -emodev:-28809270937368266475212144802642236424417695707616,6078,19637146108400624623087855337736820815095169248114,=1:6346379403436405925654497852274419173995099516658 -emodev:-28809270937368266475212144802642236424417695707616,6078,19637146108400624623087855337736820815095169248114,=3:6346379403436405925654497852274419173995099516658 -emodev:54802263149810015499242805866671806182669824281823,700,42916710160715229320560332911086106093153060357460,0:13057328573793336952133919465279513927703000293901 -emodev:54802263149810015499242805866671806182669824281823,700,42916710160715229320560332911086106093153060357460,=1:13057328573793336952133919465279513927703000293901 -emodev:54802263149810015499242805866671806182669824281823,700,42916710160715229320560332911086106093153060357460,=3:13057328573793336952133919465279513927703000293901 -emodev:-87262479450738832647843497026325034137115145947284500,0,72160898603477481125780254532680608704164997261749601,0:1 -emodev:-87262479450738832647843497026325034137115145947284500,0,72160898603477481125780254532680608704164997261749601,=1:1 -emodev:-87262479450738832647843497026325034137115145947284500,0,72160898603477481125780254532680608704164997261749601,=3:1 -emodev:100642928524030186658056860132922920804055208139127600,5714,414432667835794981195051773905850760614924210968557995,0:389354308493629553310648689336990724529053681122415475 -emodev:100642928524030186658056860132922920804055208139127600,5714,414432667835794981195051773905850760614924210968557995,=1:389354308493629553310648689336990724529053681122415475 -emodev:100642928524030186658056860132922920804055208139127600,5714,414432667835794981195051773905850760614924210968557995,=3:389354308493629553310648689336990724529053681122415475 -emodev:-9286825595306463634635411645143516399569604439462159992606,8,7606404471200704416983974125320849350185211717364432008507,0:7552810691207713503035685321335559561108880936575121774165 -emodev:-9286825595306463634635411645143516399569604439462159992606,8,7606404471200704416983974125320849350185211717364432008507,=1:7552810691207713503035685321335559561108880936575121774165 -emodev:-9286825595306463634635411645143516399569604439462159992606,8,7606404471200704416983974125320849350185211717364432008507,=3:7552810691207713503035685321335559561108880936575121774165 -emodev:3436239558982298112600646182085281977389588789170709040954,0,522233930076758999159392228622915543027930093543196382148,0:1 -emodev:3436239558982298112600646182085281977389588789170709040954,0,522233930076758999159392228622915543027930093543196382148,=1:1 -emodev:3436239558982298112600646182085281977389588789170709040954,0,522233930076758999159392228622915543027930093543196382148,=3:1 -emodev:98605572113921015570731666917408019243503426904818325007415747,66771,63600959482143388817643210552729171226910500110519779197352540,0:20785847662807375106647030150336411392148138353164443936289703 -emodev:98605572113921015570731666917408019243503426904818325007415747,66771,63600959482143388817643210552729171226910500110519779197352540,=1:20785847662807375106647030150336411392148138353164443936289703 -emodev:98605572113921015570731666917408019243503426904818325007415747,66771,63600959482143388817643210552729171226910500110519779197352540,=3:20785847662807375106647030150336411392148138353164443936289703 -emodev:-4195218021563262220079054526213885813430895541193263119720318,78,94545015698506343903535130261953470290487760846622612793613368,0:90102715451299572179538269962926144393625103247204607297473248 -emodev:-4195218021563262220079054526213885813430895541193263119720318,78,94545015698506343903535130261953470290487760846622612793613368,=1:90102715451299572179538269962926144393625103247204607297473248 -emodev:-4195218021563262220079054526213885813430895541193263119720318,78,94545015698506343903535130261953470290487760846622612793613368,=3:90102715451299572179538269962926144393625103247204607297473248 -emodev:782779308925261277591849874263374019866668332441496166531362744507,86,593800017785952660786088689171372582380372342941537491408809547120,0:331857206426756526945777967606015729867677745543253114395853770569 -emodev:782779308925261277591849874263374019866668332441496166531362744507,86,593800017785952660786088689171372582380372342941537491408809547120,=1:331857206426756526945777967606015729867677745543253114395853770569 -emodev:782779308925261277591849874263374019866668332441496166531362744507,86,593800017785952660786088689171372582380372342941537491408809547120,=3:331857206426756526945777967606015729867677745543253114395853770569 -emodev:-368107346294563441372147845929799838078404634847778857716085123666,1256,205426227269567020839924454096197301901405255816878779124728620673,0:29070586076917968101851296107557342940225724785154296253334920994 -emodev:-368107346294563441372147845929799838078404634847778857716085123666,1256,205426227269567020839924454096197301901405255816878779124728620673,=1:29070586076917968101851296107557342940225724785154296253334920994 -emodev:-368107346294563441372147845929799838078404634847778857716085123666,1256,205426227269567020839924454096197301901405255816878779124728620673,=3:29070586076917968101851296107557342940225724785154296253334920994 -emodev:-3986212837117931767741913193889401048695278656631180727109492306933238,146,8147531447709512983938379187878961602041163459101435151106563853435249,0:458849149288958792038072118798350524070548896798699913432941879587784 -emodev:-3986212837117931767741913193889401048695278656631180727109492306933238,146,8147531447709512983938379187878961602041163459101435151106563853435249,=1:458849149288958792038072118798350524070548896798699913432941879587784 -emodev:-3986212837117931767741913193889401048695278656631180727109492306933238,146,8147531447709512983938379187878961602041163459101435151106563853435249,=3:458849149288958792038072118798350524070548896798699913432941879587784 -emodev:8100902940229903010080076033147913858702310386781454704764453620638192,21,4267370499730163508065790684197722845343178463626879556739974287797969,0:1559194008070478152155445790765388085122959413923185554185144471054870 -emodev:8100902940229903010080076033147913858702310386781454704764453620638192,21,4267370499730163508065790684197722845343178463626879556739974287797969,=1:1559194008070478152155445790765388085122959413923185554185144471054870 -emodev:8100902940229903010080076033147913858702310386781454704764453620638192,21,4267370499730163508065790684197722845343178463626879556739974287797969,=3:1559194008070478152155445790765388085122959413923185554185144471054870 -emodev:-67357123532607208820167588026304493165680097354954648204845001128495790423,7920,54180751808291492597692968145199206126879627571212323371773988020895279516,0:38482445641925799800186404699759520693970772165979000339200404095536700469 -emodev:-67357123532607208820167588026304493165680097354954648204845001128495790423,7920,54180751808291492597692968145199206126879627571212323371773988020895279516,=1:38482445641925799800186404699759520693970772165979000339200404095536700469 -emodev:-67357123532607208820167588026304493165680097354954648204845001128495790423,7920,54180751808291492597692968145199206126879627571212323371773988020895279516,=3:38482445641925799800186404699759520693970772165979000339200404095536700469 -emodev:21564774075573665981752322921017132462944466357361497012903828640226528286,0,15058866062409919400686067571225883598025018993264993072866008153094783713,0:1 -emodev:21564774075573665981752322921017132462944466357361497012903828640226528286,0,15058866062409919400686067571225883598025018993264993072866008153094783713,=1:1 -emodev:21564774075573665981752322921017132462944466357361497012903828640226528286,0,15058866062409919400686067571225883598025018993264993072866008153094783713,=3:1 -emodev:777842233320172590239777220834144770465433238279191907466130446509467300356226,143127,809101386778417902091877810352677182715503592735762990564598234327398914965176,0:717304943713249257110869278409054343635488519531912801196499856064635084080304 -emodev:777842233320172590239777220834144770465433238279191907466130446509467300356226,143127,809101386778417902091877810352677182715503592735762990564598234327398914965176,=1:717304943713249257110869278409054343635488519531912801196499856064635084080304 -emodev:777842233320172590239777220834144770465433238279191907466130446509467300356226,143127,809101386778417902091877810352677182715503592735762990564598234327398914965176,=3:717304943713249257110869278409054343635488519531912801196499856064635084080304 -emodev:599990501312957514402788959646093776861193105404525472532452638242572938597485,384,694164098523184164132157046027096354720108308754361750383079701345225130461743,0:552831886836151341677818629154179022877513599687843019762824346082731337442633 -emodev:599990501312957514402788959646093776861193105404525472532452638242572938597485,384,694164098523184164132157046027096354720108308754361750383079701345225130461743,=1:552831886836151341677818629154179022877513599687843019762824346082731337442633 -emodev:599990501312957514402788959646093776861193105404525472532452638242572938597485,384,694164098523184164132157046027096354720108308754361750383079701345225130461743,=3:552831886836151341677818629154179022877513599687843019762824346082731337442633 -emodev:-717387166950856039948493623727619953417006786660900853391606222188523146978954842,55,249851988347340743956951710723755778934782102893613303732727155104650554024190836,0:94917559281978557652285194564919194471255372629172461015483079456525825293407904 -emodev:-717387166950856039948493623727619953417006786660900853391606222188523146978954842,55,249851988347340743956951710723755778934782102893613303732727155104650554024190836,=1:94917559281978557652285194564919194471255372629172461015483079456525825293407904 -emodev:-717387166950856039948493623727619953417006786660900853391606222188523146978954842,55,249851988347340743956951710723755778934782102893613303732727155104650554024190836,=3:94917559281978557652285194564919194471255372629172461015483079456525825293407904 -emodev:1247108559833255131023421051224206889208437707543309847268354783435841902933995610,733,5945033847480079150451694696629025175030386955808324187702080655474460793682039951,0:552121131858054985509439507160337194912532999251631220245735338315863124161594561 -emodev:1247108559833255131023421051224206889208437707543309847268354783435841902933995610,733,5945033847480079150451694696629025175030386955808324187702080655474460793682039951,=1:552121131858054985509439507160337194912532999251631220245735338315863124161594561 -emodev:1247108559833255131023421051224206889208437707543309847268354783435841902933995610,733,5945033847480079150451694696629025175030386955808324187702080655474460793682039951,=3:552121131858054985509439507160337194912532999251631220245735338315863124161594561 -emodev:-32236099593112567386979137194422864421137881615337394730197261867346802441980921669823,5,91752956401660637629886605589653679145541869208926297196888853146097034559639778456127,0:60518806834095575644319015741820323735595936545413392902275336817607638484905412448628 -emodev:-32236099593112567386979137194422864421137881615337394730197261867346802441980921669823,5,91752956401660637629886605589653679145541869208926297196888853146097034559639778456127,=1:60518806834095575644319015741820323735595936545413392902275336817607638484905412448628 -emodev:-32236099593112567386979137194422864421137881615337394730197261867346802441980921669823,5,91752956401660637629886605589653679145541869208926297196888853146097034559639778456127,=3:60518806834095575644319015741820323735595936545413392902275336817607638484905412448628 -emodev:50271884481278417471936841270780965441117412446282412169100969024758168373693942106624,3929,81963066766847673205247669622355518222939970750639201358276824482440704767576564991009,0:62281703540827707015524754807406004815705275005421409683659540143504669055166031995074 -emodev:50271884481278417471936841270780965441117412446282412169100969024758168373693942106624,3929,81963066766847673205247669622355518222939970750639201358276824482440704767576564991009,=1:62281703540827707015524754807406004815705275005421409683659540143504669055166031995074 -emodev:50271884481278417471936841270780965441117412446282412169100969024758168373693942106624,3929,81963066766847673205247669622355518222939970750639201358276824482440704767576564991009,=3:62281703540827707015524754807406004815705275005421409683659540143504669055166031995074 -emodev:-579340159717388367484103071217417305401854676291827723561829153224200380081237995138900716,651,307750673565730651787738866338890216282311653914599395911124646576595981539992209095900511,0:151509745004628309027577206278564432986410874344501872366280516978352818925422691489195213 -emodev:-579340159717388367484103071217417305401854676291827723561829153224200380081237995138900716,651,307750673565730651787738866338890216282311653914599395911124646576595981539992209095900511,=1:151509745004628309027577206278564432986410874344501872366280516978352818925422691489195213 -emodev:-579340159717388367484103071217417305401854676291827723561829153224200380081237995138900716,651,307750673565730651787738866338890216282311653914599395911124646576595981539992209095900511,=3:151509745004628309027577206278564432986410874344501872366280516978352818925422691489195213 -emodev:-97916243956905636477652083813766624733750918729402656599354295427509394488660812811650986,0,504214226951518003387724255017508609607833311675048629650486096975331876439736067207074328,0:1 -emodev:-97916243956905636477652083813766624733750918729402656599354295427509394488660812811650986,0,504214226951518003387724255017508609607833311675048629650486096975331876439736067207074328,=1:1 -emodev:-97916243956905636477652083813766624733750918729402656599354295427509394488660812811650986,0,504214226951518003387724255017508609607833311675048629650486096975331876439736067207074328,=3:1 -emodev:3292590583724934273152632680100030114145522324231651230586226973102509131367913652288365962855,0,3489305948459500758622220373494821215068462533405866936756424017653969429333910353069394383604,0:1 -emodev:3292590583724934273152632680100030114145522324231651230586226973102509131367913652288365962855,0,3489305948459500758622220373494821215068462533405866936756424017653969429333910353069394383604,=1:1 -emodev:3292590583724934273152632680100030114145522324231651230586226973102509131367913652288365962855,0,3489305948459500758622220373494821215068462533405866936756424017653969429333910353069394383604,=3:1 -emodev:-7978102455985676350366679275953460048435607670228140092963222007703573212864449715877925597841,29856,6437496673370692769029520191499051311630305921790132367949451008467412252240244679740653218546,0:5317938765885037665302910560037583058809520625824168737742040261509540549928785850499941206729 -emodev:-7978102455985676350366679275953460048435607670228140092963222007703573212864449715877925597841,29856,6437496673370692769029520191499051311630305921790132367949451008467412252240244679740653218546,=1:5317938765885037665302910560037583058809520625824168737742040261509540549928785850499941206729 -emodev:-7978102455985676350366679275953460048435607670228140092963222007703573212864449715877925597841,29856,6437496673370692769029520191499051311630305921790132367949451008467412252240244679740653218546,=3:5317938765885037665302910560037583058809520625824168737742040261509540549928785850499941206729 -emodev:67756737479519149309169118189597305480464085950144437770651525337717619238974063965848555442893510,0,61721185386054729344028716311850202684952560017220443047936445752013986984883181511511066630902828,0:1 -emodev:67756737479519149309169118189597305480464085950144437770651525337717619238974063965848555442893510,0,61721185386054729344028716311850202684952560017220443047936445752013986984883181511511066630902828,=1:1 -emodev:67756737479519149309169118189597305480464085950144437770651525337717619238974063965848555442893510,0,61721185386054729344028716311850202684952560017220443047936445752013986984883181511511066630902828,=3:1 -emodev:13622579220271678876766048827129463577857747656710532915693612564806742487161109510958801491048115,28000,84682569215903086997370780472826384755153630829606521208326331712119423387083844442113181771232731,0:61921681237911684957734827136839012206257886339643336895704703733211281700691618371720081605408837 -emodev:13622579220271678876766048827129463577857747656710532915693612564806742487161109510958801491048115,28000,84682569215903086997370780472826384755153630829606521208326331712119423387083844442113181771232731,=1:61921681237911684957734827136839012206257886339643336895704703733211281700691618371720081605408837 -emodev:13622579220271678876766048827129463577857747656710532915693612564806742487161109510958801491048115,28000,84682569215903086997370780472826384755153630829606521208326331712119423387083844442113181771232731,=3:61921681237911684957734827136839012206257886339643336895704703733211281700691618371720081605408837 - -# Modular exponentation with small bases - -emodbv:9,32,84,0:81 -emodbv:9,32,84,=2:81 -emodbv:9,32,84,=3:81 -emodbv:0,45,69,0:0 -emodbv:0,45,69,=2:0 -emodbv:0,45,69,=3:0 -emodbv:-93016,221819,301662,0:211706 -emodbv:-93016,221819,301662,=2:211706 -emodbv:-93016,221819,301662,=3:211706 -emodbv:44378,411312,93008,0:33472 -emodbv:44378,411312,93008,=2:33472 -emodbv:44378,411312,93008,=3:33472 -emodbv:70,2233634102,3286325576,0:2426711328 -emodbv:70,2233634102,3286325576,=2:2426711328 -emodbv:70,2233634102,3286325576,=3:2426711328 -emodbv:39,5533253464,1070148632,0:416533177 -emodbv:39,5533253464,1070148632,=2:416533177 -emodbv:39,5533253464,1070148632,=3:416533177 -emodbv:7482,37424954770047,16839092776977,0:7609954661820 -emodbv:7482,37424954770047,16839092776977,=2:7609954661820 -emodbv:7482,37424954770047,16839092776977,=3:7609954661820 -emodbv:75,7836789049833,57211584574690,0:32805712142475 -emodbv:75,7836789049833,57211584574690,=2:32805712142475 -emodbv:75,7836789049833,57211584574690,=3:32805712142475 -emodbv:702894,534667733161831256,166575448512340282,0:98236745124961586 -emodbv:702894,534667733161831256,166575448512340282,=2:98236745124961586 -emodbv:702894,534667733161831256,166575448512340282,=3:98236745124961586 -emodbv:16247,353576735207718451,299565526093115255,0:280933599223623558 -emodbv:16247,353576735207718451,299565526093115255,=2:280933599223623558 -emodbv:16247,353576735207718451,299565526093115255,=3:280933599223623558 -emodbv:56,6221599776451542974890,2159033904867393928929,0:837205353236184592624 -emodbv:56,6221599776451542974890,2159033904867393928929,=2:837205353236184592624 -emodbv:56,6221599776451542974890,2159033904867393928929,=3:837205353236184592624 -emodbv:35369,1839486419148755508782,5530530292436823694624,0:3355242496236254343057 -emodbv:35369,1839486419148755508782,5530530292436823694624,=2:3355242496236254343057 -emodbv:35369,1839486419148755508782,5530530292436823694624,=3:3355242496236254343057 -emodbv:-5784,43040276670536818634785876,36492887405512401054348204,0:19286493506125729203919284 -emodbv:-5784,43040276670536818634785876,36492887405512401054348204,=2:19286493506125729203919284 -emodbv:-5784,43040276670536818634785876,36492887405512401054348204,=3:19286493506125729203919284 -emodbv:0,95555903303887262362307550,46204154362123372635933612,0:0 -emodbv:0,95555903303887262362307550,46204154362123372635933612,=2:0 -emodbv:0,95555903303887262362307550,46204154362123372635933612,=3:0 -emodbv:70094,89540446737340421223177728456,835694701023829355087294263155,0:418424229988754966300052414286 -emodbv:70094,89540446737340421223177728456,835694701023829355087294263155,=2:418424229988754966300052414286 -emodbv:70094,89540446737340421223177728456,835694701023829355087294263155,=3:418424229988754966300052414286 -emodbv:-5473,886261493387307990754063500729,850132294968984927109971586336,0:19962186036319737098397980927 -emodbv:-5473,886261493387307990754063500729,850132294968984927109971586336,=2:19962186036319737098397980927 -emodbv:-5473,886261493387307990754063500729,850132294968984927109971586336,=3:19962186036319737098397980927 -emodbv:542606,7576297578502321555503921719145148,6096670046812323372237867852342682,0:6019928069694583180163173577702370 -emodbv:542606,7576297578502321555503921719145148,6096670046812323372237867852342682,=2:6019928069694583180163173577702370 -emodbv:542606,7576297578502321555503921719145148,6096670046812323372237867852342682,=3:6019928069694583180163173577702370 -emodbv:35080,873804207633443539517026163606065,7700271966945032910098505871172260,0:5423974510417358397307357591894900 -emodbv:35080,873804207633443539517026163606065,7700271966945032910098505871172260,=2:5423974510417358397307357591894900 -emodbv:35080,873804207633443539517026163606065,7700271966945032910098505871172260,=3:5423974510417358397307357591894900 -emodbv:6,73591715017125540836707619882023150680,60596719455443436752409094193881404578,0:19278231891294150546581628518996450870 -emodbv:6,73591715017125540836707619882023150680,60596719455443436752409094193881404578,=2:19278231891294150546581628518996450870 -emodbv:6,73591715017125540836707619882023150680,60596719455443436752409094193881404578,=3:19278231891294150546581628518996450870 -emodbv:235,33982097410791452776449214446635671357,51970741787875276189593310474719958253,0:12917271140684347997107415362626020816 -emodbv:235,33982097410791452776449214446635671357,51970741787875276189593310474719958253,=2:12917271140684347997107415362626020816 -emodbv:235,33982097410791452776449214446635671357,51970741787875276189593310474719958253,=3:12917271140684347997107415362626020816 -emodbv:83871,305022614904134506738511247696618513698871,318914624938137416674596881724436242382943,0:318195604484243187814770062976379619616506 -emodbv:83871,305022614904134506738511247696618513698871,318914624938137416674596881724436242382943,=2:318195604484243187814770062976379619616506 -emodbv:83871,305022614904134506738511247696618513698871,318914624938137416674596881724436242382943,=3:318195604484243187814770062976379619616506 -emodbv:0,571664949666413150109110287956385784303120,899228089361406308796439491202242113692801,0:0 -emodbv:0,571664949666413150109110287956385784303120,899228089361406308796439491202242113692801,=2:0 -emodbv:0,571664949666413150109110287956385784303120,899228089361406308796439491202242113692801,=3:0 -emodbv:23331,111442438605972376130506110244327899219912899,2237876130742811109445709826445714509994544476,0:1993464329197419695692136638851665690518853959 -emodbv:23331,111442438605972376130506110244327899219912899,2237876130742811109445709826445714509994544476,=2:1993464329197419695692136638851665690518853959 -emodbv:23331,111442438605972376130506110244327899219912899,2237876130742811109445709826445714509994544476,=3:1993464329197419695692136638851665690518853959 -emodbv:-2679,2710530788173695233378407323077034767182928186,481025428743103260720025399298938288092709373,0:154954456135957386487732495151651926343687936 -emodbv:-2679,2710530788173695233378407323077034767182928186,481025428743103260720025399298938288092709373,=2:154954456135957386487732495151651926343687936 -emodbv:-2679,2710530788173695233378407323077034767182928186,481025428743103260720025399298938288092709373,=3:154954456135957386487732495151651926343687936 -emodbv:8,66475212144802642236424417695707616156078196371461,8400624623087855337736820815095169248114548022631,0:5187964347290625676649944455881080044360235674382 -emodbv:8,66475212144802642236424417695707616156078196371461,8400624623087855337736820815095169248114548022631,=2:5187964347290625676649944455881080044360235674382 -emodbv:8,66475212144802642236424417695707616156078196371461,8400624623087855337736820815095169248114548022631,=3:5187964347290625676649944455881080044360235674382 -emodbv:9,10015499242805866671806182669824281823377004291671,1607152293205603329110861060931530603574600872624,0:322976644144573292044502952628119378896898007465 -emodbv:9,10015499242805866671806182669824281823377004291671,1607152293205603329110861060931530603574600872624,=2:322976644144573292044502952628119378896898007465 -emodbv:9,10015499242805866671806182669824281823377004291671,1607152293205603329110861060931530603574600872624,=3:322976644144573292044502952628119378896898007465 -emodbv:-94,73883264784349702632503413711514594728450092072160898,603477481125780254532680608704164997261749601100642928,0:385098763603163293508297247576178742276025427508920032 -emodbv:-94,73883264784349702632503413711514594728450092072160898,603477481125780254532680608704164997261749601100642928,=2:385098763603163293508297247576178742276025427508920032 -emodbv:-94,73883264784349702632503413711514594728450092072160898,603477481125780254532680608704164997261749601100642928,=3:385098763603163293508297247576178742276025427508920032 -emodbv:0,403018665805686013292292080405520813912760095571441443,266783579498119505177390585076061492421096855799592868,0:0 -emodbv:0,403018665805686013292292080405520813912760095571441443,266783579498119505177390585076061492421096855799592868,=2:0 -emodbv:0,403018665805686013292292080405520813912760095571441443,266783579498119505177390585076061492421096855799592868,=3:0 -emodbv:-559530,4636346354116451435163995696044394621599926066887606404471,2007044169839741253208493501852117173644320085073436239558,0:980083462330793649852651395567038357390956681750027115900 -emodbv:-559530,4636346354116451435163995696044394621599926066887606404471,2007044169839741253208493501852117173644320085073436239558,=2:980083462330793649852651395567038357390956681750027115900 -emodbv:-559530,4636346354116451435163995696044394621599926066887606404471,2007044169839741253208493501852117173644320085073436239558,=3:980083462330793649852651395567038357390956681750027115900 -emodbv:-82298,1260064618208528197738958878917070904095451052223393007675,8999159392228622915543027930093543196382148986055721139210,0:8315318460941735744654692360810076563134610768999859190038 -emodbv:-82298,1260064618208528197738958878917070904095451052223393007675,8999159392228622915543027930093543196382148986055721139210,=2:8315318460941735744654692360810076563134610768999859190038 -emodbv:-82298,1260064618208528197738958878917070904095451052223393007675,8999159392228622915543027930093543196382148986055721139210,=3:8315318460941735744654692360810076563134610768999859190038 -emodbv:-5570,31666917408019243503426904818325007415747650667716360095948214,33888176432105527291712269105001105197791973525400419521802156,0:19067105956731919771713581587977175395882533198855245354642060 -emodbv:-5570,31666917408019243503426904818325007415747650667716360095948214,33888176432105527291712269105001105197791973525400419521802156,=2:19067105956731919771713581587977175395882533198855245354642060 -emodbv:-5570,31666917408019243503426904818325007415747650667716360095948214,33888176432105527291712269105001105197791973525400419521802156,=3:19067105956731919771713581587977175395882533198855245354642060 -emodbv:-26,22007905452621388581343089554119326311972031808789454501569850,63439035351302619534702904877608466226127936133687827793089252,0:8473726082518788387163006019447427099005218230673702028073224 -emodbv:-26,22007905452621388581343089554119326311972031808789454501569850,63439035351302619534702904877608466226127936133687827793089252,=2:8473726082518788387163006019447427099005218230673702028073224 -emodbv:-26,22007905452621388581343089554119326311972031808789454501569850,63439035351302619534702904877608466226127936133687827793089252,=3:8473726082518788387163006019447427099005218230673702028073224 -emodbv:1,775918498742633740198666683324414961665313627445077186593800017785,952660786088689171372582380372342941537491408809547120368107346294,0:1 -emodbv:1,775918498742633740198666683324414961665313627445077186593800017785,952660786088689171372582380372342941537491408809547120368107346294,=2:1 -emodbv:1,775918498742633740198666683324414961665313627445077186593800017785,952660786088689171372582380372342941537491408809547120368107346294,=3:1 -emodbv:63441,721478459297998380784046348477788577160851236668812562054262272695,670208399244540961973019014052558168787791247286206733986212837117,0:211218046769494325969669872092652715825286994236558200831519171517 -emodbv:63441,721478459297998380784046348477788577160851236668812562054262272695,670208399244540961973019014052558168787791247286206733986212837117,=2:211218046769494325969669872092652715825286994236558200831519171517 -emodbv:63441,721478459297998380784046348477788577160851236668812562054262272695,670208399244540961973019014052558168787791247286206733986212837117,=3:211218046769494325969669872092652715825286994236558200831519171517 -emodbv:317,7741913193889401048695278656631180727109492306933238851468147531447709,5129839383791878789616020411634591014351511065638534352498100902940229,0:2840857949915095558231699206349834791724216125018136484978445417022859 -emodbv:317,7741913193889401048695278656631180727109492306933238851468147531447709,5129839383791878789616020411634591014351511065638534352498100902940229,=2:2840857949915095558231699206349834791724216125018136484978445417022859 -emodbv:317,7741913193889401048695278656631180727109492306933238851468147531447709,5129839383791878789616020411634591014351511065638534352498100902940229,=3:2840857949915095558231699206349834791724216125018136484978445417022859 -emodbv:0,100800760331479138587023103867814547047644536206381927221426737049973,163508065790684197722845343178463626879556739974287797969673571235326,0:0 -emodbv:0,100800760331479138587023103867814547047644536206381927221426737049973,163508065790684197722845343178463626879556739974287797969673571235326,=2:0 -emodbv:0,100800760331479138587023103867814547047644536206381927221426737049973,163508065790684197722845343178463626879556739974287797969673571235326,=3:0 -emodbv:720882,16758802630449316568009735495464820484500112849579042319792054180751808291,49259769296814519920612687962757121232337177398802089527951621564774075573,0:5513704439164313512320603722396796903350762139161644395131273954203378131 -emodbv:720882,16758802630449316568009735495464820484500112849579042319792054180751808291,49259769296814519920612687962757121232337177398802089527951621564774075573,=2:5513704439164313512320603722396796903350762139161644395131273954203378131 -emodbv:720882,16758802630449316568009735495464820484500112849579042319792054180751808291,49259769296814519920612687962757121232337177398802089527951621564774075573,=3:5513704439164313512320603722396796903350762139161644395131273954203378131 -emodbv:-65981,52322921017132462944466357361497012903828640226528286241505886606240991940,6860675712258835980250189932649930728660081530947837137778422333201725902,0:2906363080300504036446988558153247540678666818543108704882000018688053575 -emodbv:-65981,52322921017132462944466357361497012903828640226528286241505886606240991940,6860675712258835980250189932649930728660081530947837137778422333201725902,=2:2906363080300504036446988558153247540678666818543108704882000018688053575 -emodbv:-65981,52322921017132462944466357361497012903828640226528286241505886606240991940,6860675712258835980250189932649930728660081530947837137778422333201725902,=3:2906363080300504036446988558153247540678666818543108704882000018688053575 -emodbv:97,722083414477046543323827919190746613044650946730035622684143127809101386778417,902091877810352677182715503592735762990564598234327398914965176599990501312957,0:889212904562853779260747052184064517476716523608339827860458031582708193206654 -emodbv:97,722083414477046543323827919190746613044650946730035622684143127809101386778417,902091877810352677182715503592735762990564598234327398914965176599990501312957,=2:889212904562853779260747052184064517476716523608339827860458031582708193206654 -emodbv:97,722083414477046543323827919190746613044650946730035622684143127809101386778417,902091877810352677182715503592735762990564598234327398914965176599990501312957,=3:889212904562853779260747052184064517476716523608339827860458031582708193206654 -emodbv:14402,889596460937768611931054045254725324526382425729385974856938469416409852318416,413215704602709635472010830875436175038307970134522513046174307173871669508560,0:104803682559692025313965046839630608596949538962860573954122948467983495146496 -emodbv:14402,889596460937768611931054045254725324526382425729385974856938469416409852318416,413215704602709635472010830875436175038307970134522513046174307173871669508560,=2:104803682559692025313965046839630608596949538962860573954122948467983495146496 -emodbv:14402,889596460937768611931054045254725324526382425729385974856938469416409852318416,413215704602709635472010830875436175038307970134522513046174307173871669508560,=3:104803682559692025313965046839630608596949538962860573954122948467983495146496 -emodbv:99,8493623727619953417006786660900853391606222188523146978954842405502498519883473407,4395695171072375577893478210289361330373272715510465055402419083612471085598332551,0:424015515432121716805639629631123704621802071965154851362821400859180276022226483 -emodbv:99,8493623727619953417006786660900853391606222188523146978954842405502498519883473407,4395695171072375577893478210289361330373272715510465055402419083612471085598332551,=2:424015515432121716805639629631123704621802071965154851362821400859180276022226483 -emodbv:99,8493623727619953417006786660900853391606222188523146978954842405502498519883473407,4395695171072375577893478210289361330373272715510465055402419083612471085598332551,=3:424015515432121716805639629631123704621802071965154851362821400859180276022226483 -emodbv:10234,1051224206889208437707543309847268354783435841902933995610637335945033847480079150,4516946966290251750303869558083241877020806554744607936820399513223609959311256738,0:849166472390089324447217011402258926811127602345244477949055266800343927988355770 -emodbv:10234,1051224206889208437707543309847268354783435841902933995610637335945033847480079150,4516946966290251750303869558083241877020806554744607936820399513223609959311256738,=2:849166472390089324447217011402258926811127602345244477949055266800343927988355770 -emodbv:10234,1051224206889208437707543309847268354783435841902933995610637335945033847480079150,4516946966290251750303869558083241877020806554744607936820399513223609959311256738,=3:849166472390089324447217011402258926811127602345244477949055266800343927988355770 -emodbv:-97913,19442286442113788161533739473019726186734680244198092166982349591752956401660637629886,60558965367914554186920892629719688885314609703455963977845612750271884481278417471936,0:39492300709350508322185513215823770925957483374622610701455481874758748756164234825489 -emodbv:-97913,19442286442113788161533739473019726186734680244198092166982349591752956401660637629886,60558965367914554186920892629719688885314609703455963977845612750271884481278417471936,=2:39492300709350508322185513215823770925957483374622610701455481874758748756164234825489 -emodbv:-97913,19442286442113788161533739473019726186734680244198092166982349591752956401660637629886,60558965367914554186920892629719688885314609703455963977845612750271884481278417471936,=3:39492300709350508322185513215823770925957483374622610701455481874758748756164234825489 -emodbv:412707,9654411174124462824121691009690247581683736939421066245039298196306676684767320524766,96223555182229399707506392013582768244824407047675765649910095793401597173883674841030,0:45372936066320285565767345060984614982597172133924700246907679760042995966513245912459 -emodbv:412707,9654411174124462824121691009690247581683736939421066245039298196306676684767320524766,96223555182229399707506392013582768244824407047675765649910095793401597173883674841030,=2:45372936066320285565767345060984614982597172133924700246907679760042995966513245912459 -emodbv:412707,9654411174124462824121691009690247581683736939421066245039298196306676684767320524766,96223555182229399707506392013582768244824407047675765649910095793401597173883674841030,=3:45372936066320285565767345060984614982597172133924700246907679760042995966513245912459 -emodbv:12,741730540185467629182772356182915322420038008123799513890071646651307750673565730651787738,866338890216282311653914599395911124646576595981539992209095900511097916243956905636477652,0:597882447446136206020843479948282217243162285637054743586243300633734568794892620330552220 -emodbv:12,741730540185467629182772356182915322420038008123799513890071646651307750673565730651787738,866338890216282311653914599395911124646576595981539992209095900511097916243956905636477652,=2:597882447446136206020843479948282217243162285637054743586243300633734568794892620330552220 -emodbv:12,741730540185467629182772356182915322420038008123799513890071646651307750673565730651787738,866338890216282311653914599395911124646576595981539992209095900511097916243956905636477652,=3:597882447446136206020843479948282217243162285637054743586243300633734568794892620330552220 -emodbv:8,813766624733750918729402656599354295427509394488660812811650986545042142269515180033877242,550175086096078333116750486296504860969753318764397360672070743283292590583724934273152632,0:187419881697087928981580635353669700411908736518656599363509921235901203393697886905365360 -emodbv:8,813766624733750918729402656599354295427509394488660812811650986545042142269515180033877242,550175086096078333116750486296504860969753318764397360672070743283292590583724934273152632,=2:187419881697087928981580635353669700411908736518656599363509921235901203393697886905365360 -emodbv:8,813766624733750918729402656599354295427509394488660812811650986545042142269515180033877242,550175086096078333116750486296504860969753318764397360672070743283292590583724934273152632,=3:187419881697087928981580635353669700411908736518656599363509921235901203393697886905365360 -emodbv:801000,114145522324231651230586226973102509131367913652288365962855153489305948459500758622220373494,8212150684625334058669367564240176539694293339103530693943836047978102455985676350366679275953,0:7455082526360199945904164673384849878483828122749940095337812295059378328144102232203949899838 -emodbv:801000,114145522324231651230586226973102509131367913652288365962855153489305948459500758622220373494,8212150684625334058669367564240176539694293339103530693943836047978102455985676350366679275953,=2:7455082526360199945904164673384849878483828122749940095337812295059378328144102232203949899838 -emodbv:801000,114145522324231651230586226973102509131367913652288365962855153489305948459500758622220373494,8212150684625334058669367564240176539694293339103530693943836047978102455985676350366679275953,=3:7455082526360199945904164673384849878483828122749940095337812295059378328144102232203949899838 -emodbv:6004,4356076702281400929632220077035732128644497158779255978411329856643749667337069276902952019149,9051311630305921790132367949451008467412252240244679740653218546677567374795191493091691181895,0:2157703003465786984862106104496545852077633747681111082485733289488843538802921375640668056154 -emodbv:6004,4356076702281400929632220077035732128644497158779255978411329856643749667337069276902952019149,9051311630305921790132367949451008467412252240244679740653218546677567374795191493091691181895,=2:2157703003465786984862106104496545852077633747681111082485733289488843538802921375640668056154 -emodbv:6004,4356076702281400929632220077035732128644497158779255978411329856643749667337069276902952019149,9051311630305921790132367949451008467412252240244679740653218546677567374795191493091691181895,=3:2157703003465786984862106104496545852077633747681111082485733289488843538802921375640668056154 -emodbv:0,30548046408595014443777065152533771761923897406396584855544289351015617211853860547293440287163118,50202684952560017220443047936445752013986984883181511511066630902828136225792202716788767660488271,0:0 -emodbv:0,30548046408595014443777065152533771761923897406396584855544289351015617211853860547293440287163118,50202684952560017220443047936445752013986984883181511511066630902828136225792202716788767660488271,=2:0 -emodbv:0,30548046408595014443777065152533771761923897406396584855544289351015617211853860547293440287163118,50202684952560017220443047936445752013986984883181511511066630902828136225792202716788767660488271,=3:0 -emodbv:946,57785774765671053291569361256480674248716110951095880149104811531028000846825692159030869973707804,72826384755153630829606521208326331712119423387083844442113181771232731949302549335896184427699629,0:63291678821403600137229027314563244771616884878395099760855279589610716265728494065685311702593475 -emodbv:946,57785774765671053291569361256480674248716110951095880149104811531028000846825692159030869973707804,72826384755153630829606521208326331712119423387083844442113181771232731949302549335896184427699629,=2:63291678821403600137229027314563244771616884878395099760855279589610716265728494065685311702593475 -emodbv:946,57785774765671053291569361256480674248716110951095880149104811531028000846825692159030869973707804,72826384755153630829606521208326331712119423387083844442113181771232731949302549335896184427699629,=3:63291678821403600137229027314563244771616884878395099760855279589610716265728494065685311702593475 diff --git a/polly/lib/External/isl/imath/tests/expt.t b/polly/lib/External/isl/imath/tests/expt.t deleted file mode 100644 index c778929860e..00000000000 --- a/polly/lib/External/isl/imath/tests/expt.t +++ /dev/null @@ -1,154 +0,0 @@ -# Exponentiation tests - -exptv:25,37,0:5293955920339377119177015629247762262821197509765625 -exptv:0,5,0:0 -exptv:10,5,0:100000 -exptv:1,-1,0:$MP_RANGE - -expt:-1,0,0:1 -expt:-1,1,0:-1 -expt:1,1000,0:1 -expt:10,5,0:100000 -expt:10,5,=1:100000 -expt:16,2,0:256 -expt:16,-2,0:$MP_RANGE -expt:9,114,0:6076396096647706909168138770838836135530328017648434830996201971201776350890241322455818405320466786549738961 -expt:-86,476,0:662617332696362860524067230796827820618815284881665908870595313490845384402730799402221740741547892729430741053639014274968962128613995528237195069353968871860065099842959580048834695510748974202424908905352730826874949676923389706328585129209694843598031316497606363273659659518137129001683914681077900538211178870670637655474948719356656149928857724507047191532188701873201466847680543186709462811132458087950485580962981785390351911145306017418845982546035812744084364382432586452339098567898296989357418159116783507112574874002896769395516552960579886303506398054290885811079444534809660731243125017742263312078176886504861185566719851630353701862941682854137129215263285153620969438652988427729550528379121310832057528645876351114476064584186293636620546183047738657594287749786268444920697293633564476272776432769083439149706832453778408583421346390651383448852253784001810843070684412323782386158601772005993742336 -expt:40,238,0:1951092843947495144613498268620728941092873839165606969286973099765857336762353512575191314414682481974891831950879139309654984799555178316431360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:9,761,0:1508515174935868832740908844641413400230908698282014024654729092918735474326353646362638387096847659573480147230064829611049820323852929496264239478087068540642226919569780605621815548160687919464946810325130045648382743363240874672014902866728521582870078261816669666838432797381766007612134725161586319767428484319859256110793709691241551836459283171491322903212579581783263716842956174378353601721913353516686324030063352338083503343527729254306613462747468830270057853272630516028854927235895950242106874919224742672988595490274178820331573555174825456815488479104792855190670321093410569224479462267429452231735849215995686173314732407799996091669536594590589720060331368687564979078136565140955509332862196370159944529609 -expt:97,144,0:12448864341302864356285624793135454957839907062356377399873019819913674333304037397385881749787740378047787615516124593880867160513889753519548772992938610862712907794913424958325207507075928443769586211194132774382517001523776118917770065797726717096819996931978519564039067219497326081 -expt:25,122,0:353737464016668451855824972300304366432911374927310085530570894138105520257533012294512947342224925759920017160034290220932919252862236536572027034708298742771148681640625 -expt:60,794,0:71136550947732097223049080592911024204723415862845308040389197768507697553695725763485652390828706079386079253286683076446508807986344183438029484620306186446936364042768259107355223169364392353311443322952870623266797106042061359252992933819289381215897875409197357921675407844235432207568030978595888122411284106189806970016530299277993693667005155741905298746901362592844010565441606260646610040560804127639267467909340287601194961411351728753184912061106832973826776921930054951881992593414738674333726484856598478050587647451437933451435999205268943471465348558111458293504367268910731207434743916849298071460249600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:77,531,0:532813311656570249504626338521175986931059533505926279525440059983661596994102351537446926949363360529365260710018282274969608991708422465645470353238950991164094603760337431471373797674342466447685331328334896929530869521639021347860305641901746618212067382436047417802334922329714967747069071224609067366771145964345230898570999327581370275837424654936614015736099665593408214589717971837806254491231718922616012680565189067437536528526576020597271981783296886490561985553063246822960810078500648480156559918530508398231087164252252053517193755387712164533565474034807917780960207694570186046344187446803758345139338159388892261095589551022214765624192005132067602116482379395414788544646979450596452460362555591887638135655580299669062424023518502777571809123694201495640270788238169354113138409879326088017367705387411669267281998186298445497315171994082486321864442017377055208040226703055135151101106282748423896319916554310684705542590586019379478759401961042716809342108506273015769966750567573 -expt:69,147,0:2045579385385676298810517927458702060863220937986515106749791476657551971253912701625142580828008387342063850849956585037595400455275752324351745210872040235629033488870814386789439565218837255775426196335872604764004481418507627655312643367630027383681234193549436923389 -expt:63,5,0:992436543 -expt:43,146,0:30647461956799913663494655425076773992386225973903296590660647835395776515882377986142610962128804096035118305690037018948311119864211319779734143116465886493057052663022568542180068531441910862918530533350093865623799781552091321941805049 -expt:98,726,0:426708164655477000890275450255347996233537359230825603678068055078572185768690530483979279727883872477967005148697167468182222427688835250730805216703200346494527373336005252179998129153425179169405541975856774474069498366622503869407903427510194050762239470842997997171904492470843168606219304544549428357468779947949943413206194819154200161585559598504692063910328095937302046813011102683058231640089632368478947866970023522346778845648102870898031392605132459073175114548205304577635185214718149330416992983890351407166804165953949747506605647268028309196988233767305361741291382876521135508192965016090404300931198517364604358975250384413502392769253607192796721507324069628343907393125548382919869819440252750811077561632309583741878536279703230000857054139878422446147127180603427708828429704600917447413869817618302245994562895269981736545881770397064210337561050137140587310204526285808818450640283721161279575346308077129128490827488909459752308152575975333376251163648250120013220501057296109952540925755870893739088626118741752210805146783700608707536622996922837160677398003341203351388553480766110431344123182677789104679858022371096216510424982048676315996005859351101823572640031789389690671319495099716878889860298319419347560159622529618640118175355266744662407331598655239886273495406443560838728384648401252398353045183922227138034113900212648350987135932227570141916304732230558988327877007227972193394243239402490072781553664 -expt:27,994,0:5964603431471868470779586030579897508944005422481111504996101053704042888070620658634603446892718184220478121160877417420632344218074218536055055853341137441998294000251200835878902350186488825026483460943513306200517889603246366106853840145090440733291280737628836962672475155047075274192277218811417069065936482209339531226972570820904792756362193437359255260272908936652780579152117702725740119749377918245976402017781340294169531390247883611378505356757467342298706583634922064709088257785640184257059718176205448907751675016209636121926542527171904829380257098579043693273941177601321704542520456253669795714215535002523967268853493688846286706973999035367452588515476784419866076998252005842676395279638218578241484332229406009518807659452519350666942646794806449473475747553767493845162021519112769640526941059309326051192732830213515976229333540580413722595827300619108280969740698513378110488385074544619780641948295405495780237236276684111403379203230366783709039063472719411695740144082704697603632985497552873504333474571968038639730745252032873211100978857900893481330626200727251839567315077961576806464237728134101031182507236896333266479325934856175889116335417594516961071359041380154522292684361535083826965209299951003822498563135386891475232447007531309326110170827274814394069801400172716308094800028763449103928013302738446528312264064411790429063607977721347425016445446736220565463902437544468120409 -expt:-34,885,0:-228476523750723373644687014002375633344738959573253313295673378381427602021772078020242635916606956729056926140060033073714690114938322706601446752472086204645016603045913330963730961808178207763215017501900858842569395980296056740108703232651676106742955978639790402346938757058023705396206982274162272726053788981662544438635344871901487308331092875364378228725341155111018434010367438360637105101040524061771063338296772106596332044158968115550006262659165852163296710243618168537491315057352543683129215465809356035846400682903175992116512861339446629911475952731908088842546841550719832093476305343487020461708563559436380209360381168143472508064742652734842472679645707885058211800145889276047957973692059807305288049119319173129319106681652756562743739107763982095644384826187365922752532925851190935179707337534386963062100373634441547376770817028643050332728353004280762321859734138238987031675696783935311587870039192834643563874032592612926869623391797208269743645539702607895028584122500698098111011232061951530722490246531280555160067707338914792416989446928511604549465504192826378832978906732786898284995067855250035120805001076275382922780012160428673191761070264969953411775690292328243025746069928396010308859738310517827535649006402912255952898688436528776249218886864180489977578374114695105630836780908831245277680459913198577305780224 -expt:68,110,0:3766867964664544159080663337184475494042561418541340945804586832720994284771961635397385875362345125057120310938269750846083952813873238584240580179827028286414766076572917365783013027168357407600410624 -expt:53,658,0:3745606907993421946887439162000086810348803803092371857142904229709206909828318821048723175183121197130197244352493778939138463422250852343527134762386848777080851567505679505075345465770806895721134211771274772293259989505354294489544040145546102855689216456038976289617392680444976953405298744483530421163275053596226349987392709474693470945596072586963883209895508334043197301264236788171635960039858646321742025220295519025375907766179640091678782720809671950054095805941850551155084902979965473850917202849828979441725255702684409539964150439149357477472547510742865588406211296859461563407639715931477329008440374383580709783691664845736383663038801784370088793404842551953417842873348778874221805705399715354432210347494670220197359227112393213208248173978860627750353040703341367562548515958900446957626661507861996868491462583136836486757565972785201597859791653509981302034055855843211266876872054969345931382022744508783063231741810980521737612696916450990320941990166412615155878082383699204415978877720954451681587069814429903479542778158301091332107305065103043241495237616334706497558758024048371354995778381078122856889 -expt:92,804,0:7680919010486502611899642593747149466649196229266501367711103750663463292831658713415279184569662244175409947032999989257086334914196151008717155913095724421214123565414211404671154819304177054262624540117568190722055697928671476680220542928701368559838336428067111425536616146489821648041701273110577053706361418086034761443472306518865080966679098105467798346917600554685542898553062250741733411314786612840508881986382144004386089851397484105951275595996231115064888236880983094071936561219536816852038032287045459246026554363716223803369919418940349582736218979681160219265039593199424543894793508283019529562836802500641291446928979006411204413367433175378170319515975143760263714327381242315380104084348844582613710587726111048178373881327576604839032050152609478011520362808140313650631437624206065559757026169586967629556330683105990075123728304036555187713491828534603673570621146978011206391066697511863181519910465645525817216154078233941728180083417123747740080789188156807592630560128265705528875621630095351201299879483799930273817796360416169388658060657506361895914025279478414056917576529844826749149254978523394656765480215719926358133890602585178838119464948003289948380599052143243657411917203711988600003537438673472852245599607482384889722702462622774797489957621592414208918554109594415643546111991744898184380453126034201383595790269274373055123173862494511611609472258838476906869425218506801608515950342031211116660445405063954103192171748610888916224658384554763772392708457944737818761788668778004849546835031715922094579082757147279920864952420663296 -expt:-93,17,0:-2912125755884410842622249251854493 -expt:83,344,0:1455002626766365151331492634356788248715003383435775455996374149087127274539469938480434554541764208550166395886013614290542493336553727055035200479566375122407588223498846894540017410056428775935861377005037728217969587830322338737768781971954310027112710091083345708154562101156949905590633490616529984721229205694585229393810736667126990248301840585766896715156041016184889232474489806021208434163212143568783993412750969879402550558174816868622343662524065027291485375058885945026037942093663550462847296831559200222610314374017319326883901944196944190346470731947264070070668533749087738060363624871768516622722491132752341069559484881101460722290741607521 -expt:37,509,0:1639372139330474505096339736526839874531950388106785764526499216811362225270703761672667866735996696543474964780972938761569608985235961843219297731833082892285640739207743839560976358344004254125552207884861967683494079795135492763316903001285669079285642352434013330494551450924529881670919372226435491663678910321572802241052671829048684593319302540499062531002552822413972447877352398056117420144161447269350831919710819792646829325266226815447766753199630288869617053962763718694151712581758666586038482541785095213523640877958314344476036711277346617174429612617143676944589174538616885971879400465341144053670575443367839317972672752212894927196448994763102499581012815364079440761668903982747115134081448923972310533501089520501466675410274312105259815806872362946932755486301682363073385077 -expt:34,19,0:125342809160496617801464152064 -expt:-76,29,0:-3496183156153757826996482351208459912924449087659442176 -expt:37,959,0:8043653985532953716889715133535087168670385482210859421739682450017285673683111089377825581114293665656145651712345850663980083336468179806875814073857765425892155354598266669506804046627707739916500884106198506997527648083295900530561613402364276614913200001026056509772329191449641564220726849838723452604518199139241770839665976645631344667870833619675231878104275459443798340311110952188496587631537611487174398583536053876742575306117395796907118640363142612543112228300527887243345970257920772909373983605623295787525934506659963651305156708304203030998266284694349384314377300558457176325498546062335314396443971466680283426513605059525173724321570541512640520991258079091372220776160186495883992700218975056631545666177364476484572440897669270951851900895176798423899545287983761049721641455850562227655219058197710285516766496107629355803471562655222885223162182968326669241365735898955624385521019652649599364538263697078170698660931177959033737136065046900419098588879986481831152277650601951389732469419718135458317284510180252252347215282909809244252103764833246379696609330932880474725472382498914394849425766909318546858182860618752740997875122661035517690985707005948901199463714885386589945448510035753998020104333298915321476036121567051616071951554677670098530225928071546828420949645455483886944027286648764164718652180618519663834711653112733332792953298854502679756506895010313106988391740237915628327936616978344717429852330779137901687317622168225757826112789753604087557655040173 -expt:53,855,0:18024719238727749739525445919483313820179132397627088793412502725451984940695378279438673546750025166612239273512610516827961724525198882762072448802914929186534874689268838685049338395668464648214285629458942854743809087942072596640624011936285554457003232121031929203367446328606007087882829501707445687372318602594007967315081778231244881573239906171935915143655956161425143440493226007667195047540127725460951375078510152848109086910835297918453026272054497519156136102101888168736867868647822194907272146486388416624265152334316284765111597489635974901154683366709520639989936829700879404498384693571443613183789387222654028458579806593806268491518181218800476712301946966270100813204092285152986557168694900881657470791233632087214162768980287038944834419004548322680351210051534951796722585140993240046500305409149666028347813321755225701104959869144974670164886058856826565923628643498059733335090448195444279918303399796642120257846094099858071377352515014517392246807264485477604806428498201472579832708245125875380579584993781814239835479412029038694921470435633141289405105409413524512605572562361133641297988371189750573248231052889827586537697292556993264681319509450424190822893352470802584486267244129501288234774550146263799764737409541494978039756256344516245332054030367728222980738023243510101784709043134443224472285495023599866477956084806532775907376656412097028192665531115092097120219791652662455717002643200873090340640713123160526016567186689389757 -expt:32,656,0:2389933285405466860396692079116393607592094511377675771193917107985577957215786660857642782380647855358562124487585166367387947413551391813528167636162447060549990168729176552922878656050672076285621550614985470720664776531442576135048333979096784310286244860102378967371399286213595759636919115966603400112237639950891727815590236647193809310063401704857160813929322419325892381145791656471799426867797910499315367811275543479800432663111156312795121794429616492767525864645383481760770859827287365500386734880646418760089786239708463669779102319740012320361344177543946675529942817886591133769700783852263121450795052384716461322528105766425932143907687036561966697338295352111191252732978138183228296826658380107463086196091321472046087589204515401546744232072241940768351560772822305604027448970361890755796703363650465900018004257276623522292065343862084678326596045941765842024484410215769394555885885158749838834979597158322722201614329459219680380702370857126529706245613395378176 -expt:44,825,0:705436783209414656391711687641131832457317079567241536806961190125032329799945689381531828701711922651328924171833912445806993257740496413957550233738157646707468341476136656655190568061765250287343123150183203457096310554778580693127605900054156781937329687900011079033154328368560570397733837126414151383627725550551123061599523989519231809246838020349444255196435779598286912941849683826803885007041497453499648698536652839190738405213015416967571009307605140974000980854307563054593796685305388455731431361267420888839574695702395994221207745406708122106371051596919061007969322392348313397932391816147444777599673900815310461704623664643196151052250877625946280731633882993330125061545681460076713485728798412351901806167839675417726868727194522011871552299094826966964668768915141255798918499796543486231511141788910147145213662462426979493734390203264331227425018827335966699727291310495771236126927600243376852048316429905244128279916690719962985233688697060839371456481476421673214751905689846742695604260150120965796700034367974580976289127610455139192549104607458487162099297483432995551188890538592998367871918611578833922235492029074979130410421219592032895629208451572864516745372515998761341772487485436904736855847415242732131193954436562666516079556232801577061434743967882168334814393918596862293538397642429151346165775119942485356314624 -expt:59,114,0:7535799365523929401466950149815776414046724006436301251256273386014282698913901410854119082161738764751825402834444249521979494417181418024031729730875375541703751272328798861158409927866104969176716761 -expt:33,638,0:648475603635833183196469398829966467819872179533313634773199294300845287950459501715005525988291242251589147926178661960824082441163194476232580397116885117509943674289579029366937003306245475847226805096473463034937358215125841547863811379526289909390311989707533329900551425869234787887523054960552278032611552781528108935648755207909825160440738427953647870234694868460377213725626413535570112216908805974133165357493773798997957325074032229891071788781461177535131032268348271529076288914099185644193139733366057736098900551638267073002144185264974730918597301702988431169584478969558388865801487275460346465072354829295831509446111012459075308582088675497358398567086973619837648636885329011064845212317340840818123718736632174769798597171923150676024529241760831961841633158660369965791581395332178142007133509696793640532076763117981014872625633261577688978190292542653541593712317454035995088612040333001542622676149361438454964780663603604979033175966419868609 -expt:69,872,0:29950710056653639866040347513592954608907832187759095021784612336213340883909743941015111690452867673342534673834960600259673961740938823369536279442812481113707789275256589878997231276618632636210489615929064857400027555434720369902556432133478971302553689173725290340815598949062749239632058821352962601488612707115779689919582783658366139458929359238601369623679788087432179938746909197524719589777317181141198765254386641701187353660512871784711559256412459533781485842843404652110331152933616653843115472865088192382607300085255939568539834001519100403938776165952337332146706473461537817329969120309309517770547565346056282486046731066492332789904059680738904349305243649494763250736765491708310216396673397796961838301667209428954933817477191941146364618594356436871426698169064040813675818513426197050972194802492745959927175153699196273914186935407179377493000883694252000018528388345695513167889176432751477073481242404466807236118127264128971920247017078705326478921858295937254808875182604664522156032745827731392987081529736044441817762936554493023891039839715605648021019219907116643520667553628457465780133403776577685023637262452859732368262675698820414066865949360110605575303893868842664652278685058236518116527393248213186175036314144344761002775344535262642684517202791126837476442938864508396830200526809879345482138492481769343790209140327431667550761817827241581355415614928705123841250085260545474358015032657030444618098608485724932887367556645547344897117535819883458173888231937264034262930323293309593162187140783379967834211500900425793093911669240962055595069032779064523361 -expt:-35,560,0:4765460083484463473472807029671198741039814209947733085375343877805519722128264213906493004712395811794836067456926301347831701213543102558807372013840371317686389493491044956157976970854534780866809198779109650495115701056756779233669845873333611352227016172179141127201204621485258250872410797565587431587955801098712622722961241140244408879022252575756465947941316439513115927707432620645580331357844859947529159485059102032289565818525572625258477572647406049297215450764812141735725360033399668564250475303073470958824427283582477027047896762000913374878650247253682919902323190143426951007619514663885034098702528525398380830769050070744862297092823136092265705202572748338959960458521661389246148014773201598614888333659845567286582320269709906762495527111679682357140289756441194587185256840255908734955659782455404151202404960940839373506605625152587890625 -expt:-83,209,0:-122270392573975557137544098494603104038431911133401401060669780228862020091902727664948350712829411551252088259762269665003646460255858818493536471916081519810436077327712541465284264947694222413222906768064481479603637285266239005383584918898692141414316852928726367305370720092433674542731019975979821342341530442634729485864001750080837642935553282153040722532849483710322964546566862518809499408403 -expt:-22,544,0:18964367700820944190420983771842117471035813402172302356001324232625456871631696158159426747244273988396896874782255417862295115980915085588836421854267161890941876064963407590082206716515749082957670650572915503706055302390446576711188138153431530926911613355471966093726010812009574536833618487020923293412479710272640024885745749390406182848296906282562712038022234856787439331540733410267670953621778020862196051822262364620284766229990123269618359711309083829625146905646383609813594662427186141810814135462546643373090731265237443450146344536874441550683786161973931814080708597655835455648574641882644636540462283387226460671638812957375987034299333511378035037854459892174703913394380151030879671916383365880966083883565056 -expt:55,53,0:173469266931818817701197572759460512158186359368276122994156906997886835597455501556396484375 -expt:56,7,0:1727094849536 -expt:69,511,0:4486269579432801228328894978520612039865782962773314299890064827550076871686539386493998487559513347930912978842976457609693197201213966463505628022312395013622414842679517721662844319556038654381323108565877674965192437982575193911756281655521858715295957459295213878788866632588753200138937292160832095681182024559479348223221677348390842846953123958441380139228198612700886931654375724810762399664286697632157511028362743434949776821972216621014709224808699213105247588616225388811148034573781049594047599184470666181439258133413347363982316136095491031694475463436444214376593921337732387516213520549630132463991049105936530704212604782416902497080757979392934118897752584527916561354795284032980721598161111294569421622420394749960961723356836189382523894823797755998521714994563261231632958790842100581461483738927484818446238271808447886746812572795337464271466846423907255769829987902959874517226021350215314613561013455027818736269 -expt:65,627,0:497364306835738758369203816929587563621484908670308464881508611000120397210171552818133505588600972283722504217038299267610870712281857521011539651202476710112665851438274405311118329759864306530206464076881590237702559066115100823897031634086082484171733231579340629242599537765843919362377197750957150409164905009889637997973633002262727089466214411540563439873655647562353181575977350122226034217971081813504998125791931120734615674206813835553948971108562651944903797187278504359842148559086576885512335220747304460608200450624832543393270309192761368009850923893828230888362356748911750574377927901251690822238297994571714786631993517145675163841742009468644933432283278288658898061814717433241276039971839163707090134740016885115455078319929919984436448696758395047545344494824758451226738937682595385197871210901912587652241955896134593132930558535330562369949669112499207879073779991774258219495999580367039563626586056205306276658856886524280676036800529831507826841752629258128889348309920708180393144270583624503924679141781718886992556665276474942605349507318130943424722182510632471387490571856915266835130751132965087890625 -expt:46,193,0:817074232257484121156770823318605146696751569369000241039998457282648867989095210690478016388511247325018574872571127938218392125122241277384005423186652367061816702091193768108652663491211481548491110769652180143820817287796926886145903321477727282551759124806922035803851540296187694499862514735119610739703337122267136 -expt:35,224,0:7434331703617558866735418205564382401519158226603733006962337038114968755942018524978551854012503800960010205708607955416310926336526408147412201804428417291385136369283229527393145734163012864208910675715691737778124973593953966099385511183284037573029373908498077607797410012638709522747893758502294434854784643817993128322996199131011962890625 -expt:48,871,0:2296771307785108997996275281694403742355413375274328510033245315525621390174696501258885481415349678804771928342175537874324074456135373852706084607201324469163233145482596686038350670427036741247616932972355015054433455747986815070761138607427191348086868570458350738831195704010357098624395027409387096510181101959230801667175083036850637754119339482591099632372672743060138882768223599588213396264220864703488219466055760560916641000944392297133620617588807928555012293449584277763904964488395570608415840137573373251523555726603443441113068235906294848808710212674698053441585803096252716528906610961258208381697805496015211611434136696039563551082904259850787494200559601774616526509976357060921883050658747159151714704641435607899726584101580154243983256304378508592421407973560468995638307786371450739384529436653347101351955239349662908173828605297840447911481941092339861863239287090444745959885402693797565521445366949111927811171516747397914656348938374407730394789915004848099910670723354943700564628811075303193718039885360453078287438644715151039299030827041903587917146772156422724773803085293734569147130667846393861058073699252566570823424630289221233864648893789083533315907406376875479011330114253420148543906354793351474113233267966052291368733321678620499879469220151506192717633536571962409876554555026897490062209992621985629094620892105629420732687045223957170224155835158216412193474005114831859911410553422254858147750406913717620915044352 -expt:-36,518,0:146115200201244140508535808225340127069092033074086594939641038813380464643092784368499957960397457415719662913975450241240449832879511228597374618467828990096974163693493678321796688824401816250266725231269351174696889365960762080267621636961848851793903147492257687807404324628050042266187673582798121678172191086987308854792095986157320245166750739737004704454814011348168427466038007182398317491734265151076778063010496132619211679988260689473089297585811096036931998406782027461402044049893679481715416361137493463388085294521529831982907701884889345802533151813498254699533482401990075682782757616061340632427940899702653394635849940302575034960855494543054252959646383879992036574182030574286127878688271055584323109202843000534198573252028967226364808637164514811988498672481692393863899485418029056 -expt:67,225,0:735920003111339161159356395080570801473725293860740494275221824045023812579963935301031775447575688346607267267532812956137018229766093126468162396242424350409934923304882749620115802577608721780903966951407943056069309235411902308234969497397301699503940488310770219419812977280307849553181552764429270926502167344901946040611637758836796263098836023546748650013560091709744036462304218800125741698559917914307 -expt:64,327,0:417687513717921146683814441049501323149276759827878850220310682498444752633939174795763205590085370174509431176916209651043434482148970466887815330179965962230671681555803952508317812856112304403464539027712767146228053984109968456131599036017965241520523692299911631594821772907828969071619810063458617810626197420731690747206373943510385502671614727661759398749224149762165354813028102550602008280537871902180618847076481978941607093146933705617051198474299205992992784680935699867987139285893610877812099445086372781691711812234396546078333906858033970549278924593901475494268981324283904 -expt:-25,467,0:-68862700495331938784380419966649877120052824256986622780279879321123463371356437053662605722822371713113741286131261775228105217869324551668789632411755509078456849695493437707718952335537901163716308200277822404533843040793058284766310091608343833157319217838813156052838258955825903648017660766106461430902101129851205246720686051369993734795826264711765354552138512394382816264477130422900505062094863105482712026465196187406241972801187592058303442054845271865009183194933559721460674706658198949275466978787964466683095692914947643154576581856285051087744587327756364233631868758575460879749512993364615070536471908013709253282286226749420166015625 -expt:39,139,0:143873356853696095816280231561762895966095121358512894018038780434656905244853021253466390417066964861759354168210279589225963338479315659197113508775296585740367513592599261280433915157811377734958643545758755017210195959 -expt:-95,925,0:-247933317851371692765238123220353261074803765143732218785336375547364098379952983086176914411708967965243034975624089734549054262155405601872988521853631418092306768960388547432760579266561975163002729996245381862957127425938796307154036020276283894081669921750185924525104091927547088831951444593347428073211061542081598903847868922087058124406471582647813289892107277092495163694211929855009513467354559044835615466736137087947544617589164470286717500588970895846757222008275492885619438633488692498481179512599142893182301567662753282826824205385088400850355763371781678525389031580015072637605912123616365008472820886799996936155624310901771575510951295719809269053623900174867256402312047226014214451002303098027112553312370656182542716538763092449820889312056658510682841044062831350452293919927832336800994362138064805630261807651118108456301725299789286301137388212766815512960048788081683942442538085959986120065061285006871234949930940185524537103913351720159010805686696397758933127125408357428549627886466305653330611608087733791050176139563443301008883800301224683395958487326723987984535755499835378139919056198037756593511533680696923763042182818051706007416822608172896694323975433662457082439992053758519686924061393975580909143061424199971052081917912118305230171515641167651175575831760969677740062001963108837109680812905974982663520916997121589375625626487587266051342244289361033565546995111061042957242305246986582855170773641851842228652472157775674690273006693174629830847980593151580935023679044298283432329850647778394157726704922914014083180482909180414233817825446242940819724654162541194190922934651789175392031213637280829578333494425326947316977013855379710169610940508930766848830071334425047278453644935556250177705704902919191612346964146136409193037371777312838361240210360847413539886474609375 -expt:10,790,0:10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:38,727,0:318181364845266673293939034580700586615440320951037592693430676258808017944424452887520229213529156147652152548660229015222939861579338359559018300102639754560937092707601655387811647657615783015052071118531074778468055452194170663662420447464862055872460088793374322229582464089946075887299294193817540314008779527867126627186841075133467621258418817935949751545729428873936316847772054961100333271621441963886222050417381885840563709089357402135650374520106690685058742735682668165890186931960150146694452795036044289394868653254020018082650676484218338479013477191914691177584198123357631992799912818573072108670426678744162041820440354139322736565922639316890634686494961802003379496237970297257659344819835969921578132529764554764775387964765201989940411202080226725613765864563543622841931061034686660258178316702259830705725064960086720549582591661146532434470239211074978214823780252294240896745420707470768467541239033990368271634631401684194520335589793556924858688944215388612471082194103983918698849904549069496888168308090987990818992745725204687937832492824270761610420142018658784694019990897837283216723902382526473775384524270600192 -expt:34,140,0:25529857218193114702174428995046692565363901687129767356632099628880917562050351316339403612051006254976853376622453913126272976393819424111873308895894292132165245320628698829331239739743398255119320169479694974976 -expt:16,677,0:154606681340974124033724916902627302485363041461934511562903250082108656614988464109648607664350683544053521938530767427600678633466981349875552123311129851630541427823062009528531348391461351902236714300408426870798081310080290256564473876678342716043349504953916566734770683646870083782168391645037091096887725074202784437995895234871118748161377827084898726055250090503083390633622079852383302615813886977424887371916745952542456924382093237294285328320534432277883419048461987671479977721049775052451336009020607051890596444709721396693315217517965349881355454288834865724272352477664124571092063711425076519590380710563089443910597712561034332057450154631167542515719607903185440744035174760067913386635899419010434568177660006643202632247398908883971060098166563478386618325197936106985114484308324182451552256 -expt:6,706,0:2370187868170736180128996880721994304027981016428826558124299374475962263011616081209558299337721916323935274576896010123644085589608182399969109349184244152181717235854411892769936008301419019510706362282451476374286734568331276868548412899353395251910059734878220922682256862053827867397853562809960786231614060068494140882400067369125402792475819991480014501511652656632709028304308993356905586688240373617002392227009641266162761580915216325822191118000345304381153590367158129348967240326861414168892378280984649126875465847201669629322152902656 -expt:76,281,0:3225666254982005051650393297063271441718814825117776170427014225270006782094402082487845256842905212014111773807699305585198980793893448295836068068070917535721168698915088215578832824619604662314479653278742492907609252295864963415964828492105414048009356278895083198343094504871689181249621303435108028838697311751040340640118912946160635394223543123655902100316582935791118589542551193090214863975492460201159924354445816812213366018820916069793903958454530414527672845513966606441240056930757447014687133057326317955318808576 -expt:18,645,0:447471924335366323510556443313429700068812234629235460450763927673222040496888107200760252341703827945191621326306131795482065495578664462850472512309208303012474749490243865165651244373346115911654861626284849310331418035860337441989794201851669712221122090746182713388579296175033571904584078117965994933295275297103840168214754293386003180820988449264532865805743450873842642690490009197041409759427844949926369573051943199612022394939265067082007558614061463253995880975471188662315261624151062500359331883381108257415114898922045511558749525591359567772810243728526346583785738997208574199792837718461074881349077212584333624940968146337548498271397497840948183881043905337007166709139932188874261432029055567751709278200083034120925981318112036767874722249963589907141208823123050935466250723940859117568 -expt:38,388,0:9037233162685752053376455537502721342270736042628911593411187820255850239811996204786955561847703657226822474981226433833893660651795689900570630384290367549695011356487125952090574619505343150852674019087633094038448212974827153618462678721327783567647950749746305048046039645769130932898726170627803026748555303885698486663393441172336532741462629794066215797431699115607727238433090103791079601594737166721617874568124700807143370244859773481280231903946961271883712351477922567791456197385467880154554338880438639750996366163411447302912395804684732748389562157940271392193893922966877712008059498487345053696 -expt:-53,961,0:-10693273783600734316315714480041535221366626391070652169481102268537307894640601690397477696258749742562195832242552646613189180449413635841376794326217929699139495316029126112610199345461230984883346783455894745072918234142756324123553503913216798272404688802123185365091119718074925049882233927864436065352441795323304595442144701951516685757397182021033950771925191451161942776319733212924587917285871042600950991564279236504812265880751815730359811693631083452415593025707823313397391467358190650783232378570454741033068772420053491342610776102390217648020227762293217888965761840533847099886723514168515183975698570560700046391474030860444256074699445298615381649814262336045393110771426131519842556272342779016381298742869204722523464017593559562643622326956756787868098747774454389349057962560351445716834035262214568687712133450404931561726575840016754345335968416895437533133106784692856314926056588599354521991402833078563695458116405668054338438928149786528236240697114627604940900558577671850669754855161031297481210200709336712927075772035987106414260818355636404688451829315745413124591033509314578360848228738843568098733649384111596453174139763494748428119399833236094765497395040014927396796803419365269517770431524291886017302139482314655716680780294886334131069691255122316199720460643469796601064562003254702066340683252320430491769624200733429385588367602550126577348991899954540173131577135256775953664267528916851026738118382069532086600634832714152507186748303140799773366399952508384413524462895427617680029976682845372011808593897598687010617459593771185880907170544507963089979836763018697440064683745136860496786467398309247801653 -expt:24,659,0:3624167720890114802953487528882213552899975941370552554329513099376544209818189786714454437032689083823830559210703982255340689476005362403899468531020537380006871571749241446843383626812449117417305212547159344386130625689077819341774113065166198322275559097572679481175645104461252543777972030011842688825307404880548921803031127032140294965934932124130451113999567382233597289101129667669422461740167339579466317525327207235602937780467185586995750085737222095672175124755623264554299753026627050426905461119988938722765511047677254959618655219659560371687805940337041876822078905563120206071769003516902911102160952293062550519277843309757303919027154659813054662466523344826296354696819676501832559230684594091362492325587744451955871184496572010101281716464201362384124303957980156819470050845018195253142021574427135662512522551131249157276857182203346963051964089533177481641786738454705685271070900224 -expt:24,87,0:1197782680101993558280692226488373902822663746844330952273499589865047835820100735571943168026820232018026475094146023424 -expt:74,900,0:203492195695385637811035038604720591140552513788947796070956567581984736792471731249691172218148855021082026970704996363773142346074349135425135963357684169839046304274718335440539737845426708166907155882416103467979779965950248991451379072444893391480544023125591578249908365143894932986279251195201771680227260763948792352936603246330319755571622810515846412833416610215943371396912549385505415900612631771649294092252136231153758926269683448101315780244106657481380278801404098349704834462242414233848548074782034341541814977421309404166439064217724352480695426781157497383082801267848091972668055615592471820028314038214611664559270461638562962083716708158789715725864674555451425781736717842336751000970187435030966278734709392131234668572146766791316051896061637266899364682542146271901296285157019816702372549096549022107433241920866238031206698288958221202218632016024210082467069376475499042527317812114570642803224866302666554372000471823903015245471090472707641476693056302565407925873424770841334676265472397398045286273466791200069893478024154625862765074269711308789130828925453589264234500803624442724824603006351547935458354176575577193029177679995128433886548139638707554538291806471117578045308611020975110487218424109419478440720096710842152057246110025136351560085959690150206324456752232548848972311293881638155478974286423259965771742724362278920613669975929606425566174524456931028511307439225074591462541836290927880691511343917965103496059384368500739378244369199231681115377111475866919320958869237569684233879998976599199774623618592008415441793489599256106350578620210330523214745293501592975212532951752926208891738168918126903740755841015125828096229376 -expt:69,543,0:312648443078484768295888815598845711939768666257291433888513312757955049368020160698630214239551072326750999792081447984468792281784366584961486617285817648690364818430979007147880947832896589374742603762111790546410744285504068124412810547392012131346756698151463417807121112731347729403260984454420384883458358195998166979494748478670615869985947232052762056592943794463276191202025608190774698452993168999008156807611820727458156566335247124610066310858249753566038784341494062081025248869417660801751147084173434635188719725442490006572202113716375420781068822739057141812677299815087162596322545640703492929693633783845458495004922557983277693860984056624336776034398970301860440468265923692038302131802660874130160823777321529100807734183365271603815201483619478837176405601832237316540578306276376458696902711394652750821782153970726977230649237363702489026445302222042642632912600454038910186382368705894343877258931593200635310200405119407405120535210771274792854910251876704104130656951309 -expt:54,530,0:1474662736655096656312338279909177255103797074286295793375027509375168436887287143309336449315957822362332074972461382683286797326877474651509739917544753283401205851132747553963526978426226509486446008694568119578399112394135310582133814792181430889458385225614364665191714345684166126923640114344412210292872490366419258147481273591304234282967518734863233094427554073982927115901949385739053040841288630681194000841739865889168738376527086934295573433603264828521334566838823869117642465232442629165125207009991732054135918621566022150672289445131265256648929940581735965044254187533327954696081027388229809762269205140612326771928146305517366531304549928582772855377825128227036208742669924062385323267632632943920240050640881476505929970785291909572050487719596150442436573679196485824822432870194747280187996123290839971281376461049282852724465409463771310117744414420026630389950888196241467693900151918455422976 -expt:-84,689,0:-673640355906192963680854382395597279844991495307708500762664884953750280820203051032786298142078133894280971340126666823703549559943495473379620456496637792111780395798111098844210312668985085973564668031838744003567469055747069065192031462953751775303646522049111090958707099958568715666445558819096127800586726116121938372786122995565072105666246516054767846555535819145164971484723840655291769178603047752590255749910890559652661832177657587633043896917516743806552357328358607488168344891668330944104480564369749820890670196494165679972464070728580289276173364888339312490946125601330630747303595303211714451602985604824640650790788957226193419801364185053958966373216314087383429341884277698769522842899547363770116372724893917923171530322741674875748776826251410886127808937300207685295104886265377799994629948453289346468117865398420831689205702265516443957514776123773586799797709730156072453168535652382546461520516180270928971757408912398951511864855349540254511900269624608773339111608340753334445558782955747228498729808997160178550956563569619227991188807243565793371441378712685201693989991158958417406905444641725997669829449050156320054612300296488530139587379779862430775560465112395949278438701569138898951204188270163608488455419654051297485964746817157884159015683507047747566104920764542724284450774974464 -expt:75,389,0:2505136873002946052821571944823592082408787982442343539331511593683631375266061611945471197761357031711510886915023731134485877973866520759948988373363766768657863172035979520149693975667330757807327190596028499425293356360109900636077772084412582887566894237468021689121483843531949402500679864184300241610176967959666214567894484564567187709777650474627724716339736193918464027876178424957702442801379144695328707996397566477572403174056763614383402310541133628718945533392880172251145025200868578667966567102968410404698307362393252463909620132842830908725719886487634875664806284931154944418880613973079280757557147546572939584559289443428088245026515302516929139885052576138027479661467278315711837421986274421215057373046875 -expt:-90,493,0:-2764121656403808255688998318308448927779841418065114299643004937365951143205621653706679499387531179825563949289390297858821486365687544518614573344000251044963118567564039833580386521905044421727153991835591278223063849704280112286033144210330626593002183744292468432067084387118208158609151278745306808847873085867331739532972963860539108442723664744816240576949951467742831617638950862455974397049424866492109130205243025439534284350885748646940037382914614547509931290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:-78,713,0:-115731536307359192637735081399829109511702293973922696694208047458262444229652160307279087329855878256079999392518677233048314972657057388874094275182501289421919041337127404591027574520060185351444059593154392195135354268588962536879418312873113711549229994647861923000955099677819115616815194464713534830563588649882898053840400195424586032548275013843268241516993330630236304363211493713517911756737817101493890807716278347242379720375897560983549657660651681988416735332099874519575576530792228244128002461198707035814595388684169319814963566786245098551322585402939881500335265639906067916278437416968431351004007211662828198106584287898060279705437441896284017744946256629249246220165360343009335114244569954394057846850014421787925696186369699659423147781488451057285691394827566399868414895988087540099866995327706689353227627368171888882696031349643682455531264058160696858927471245322701673243300242916477186602464825933213315337095950543131154067825494224012789649177821755061866161853106394589673669448275431723352429590524472448401745233005597262909298660312513585040969384431420061687766818410927875672704386212307596396632002473179981323601609734932089290982557135462892951962999979904301332318424478936510361126749344194878185769161091829612201395286090063520676684836034985334594621505414563276756705579096792040160061812562668290048 -expt:36,763,0:287612717441501252938235364995076989912258567835194305503864222905817654453491398558770456798842563403876433023498607174234086604662738885378449834211542708982978196216184813939600530734616215970579451031345428619291554254395119224829150049864061092082799955573360133603219521595326864695021799168684562013852249376992623873343118112855686115088808687279222093858336092955998950873167464052797680801992263797310300356797391216282203047175649924968146172953919714557432086976362430640363345164555500849478372610459794623063760436116166308460356269543727122939698305973093062079308977070843850732062284240023079465164860441817815804509328285118427837803457119764359138865084351583806289107350041743083265057334370946088906064154344591975302967899967697344349561592938790173718507304039781398805086538649982989194487018155662504702768958902129616878720294795677270817445558061795402174726521022090102401668102031654702766531351739548933899772524672856784086512436602122477055532078885288888908773574437636605795708667526674002708829716332805686493462673251888541522849276838867497234297868970484972490798084656418668432596022103085029156910177825279909646274306163059443534849729765631328256 -expt:47,567,0:1200840839795357756556171793866035488669397069402218058853429523017606108853866073051675237735344222717110142579489091060363324010183030955999583202587790744873920391925268687014453103791428866488369403851229457767518484585400595793732678736929295286963479405802380386638374173162627363885156520588965951827128250889143941188182953700926722256155063001822289750113998809814892368365148536721743814094413016337848688568918084494871619775117616358924448269763664022118923055017911137842861355188743612895261789827872451309409128169082116168520009588315723475618309774431818335253416491565575448829636518484518313005184981691618323760943375615590224232297887531959092930319995333870473790498756459817363196667267350757707139114347799391414825307971212091044223074718730556986735254848581373154216006935257074685468225843364862663458199989272421190309964881842705492582909183953774649449964290445535763582719721041629607601034000766219103889698770634063 -expt:93,245,0:189811445138907350552800803028132318270856486385053418037712749975151905680839772940450886299589953341083999271531699036629608182153885935579378849451189841246877163907007586748371382526385877632296297367806278260073619502837087612560855634258114918915142457424551221666268613973872509210548656938814203992202491112249204302074777529915290725274509877730873272245110513173712234923547513758360328049613739612358250332564697958770448525150872819149530642122991079434707200113667499693 -expt:-32,412,0:132370456868089885903728134916792123229979044535154622595605894871140987448802881098535736981597853547268988767936094287847913714280410812805481072174892167662104073696464879991808809985596015029436652086821140759661740927560170521238888834410398394247502421409940705455667510851752205552056534626811618859097761109564081530555125656725768476650930897040696615149886691980619883285333853446759459196371669470109465000830819767736722846319827541624437545423803544499106306804575519579034243488673510700931803310410369834741948404811173882422130791081531135326386594346734508460627224488365883999000804776390900106160766976 -expt:-73,370,0:268817937446766145442198106557555707299852322454026359428476916174845729180692785461163460485079723744959939462749245845895687904735816865076794263717604966012182689168095690958838217033687276040045060280067207626046312195168080651837761881395764886113963753760834412127698107460752445557996802419849779908408253837884316512634805178240609167419868913614668320759158141050801534936091723675844304423297869129029497377604564133226027972677630729381553858132072499006005550335236095584481554598465568525006973584347149020417329885051185116957434174133558557099710477806848859002101511273766789849989896446599654420469118962896980442098745167512954118478569833907613848252608011717544208148049 -expt:-65,904,0:7476088006612927635813859446573471148405722216005428337873036043231186079958168234655128261355783807158721704379260915957758217822077621867500440560206384169070769533159985551483020985475710683700979236907363112033644990047101957273046170714199216404483780160537007038623527166449258864160198748783512961234393617386826793415081976514354630915756963837537486398859606568067746395464131895813501401617041983662268869523438391204770495826612433408765458410620435663877807032464442529968477115921940103577390216858052825708753864587656082968468616911026081653819514030331916018123044661418565642911025530870993821616297682244798142168034872991984538769820084587324504721191662886576517902618307361704402178724708336420139149948284282543262975792304028749420427332919952946188081580583790225269482964488371646996041495410496609499748805494361565442458937572152995474884127357284721870748060112844298373068726360209939266659158366899951921314063488385052535648321076683428148126105842193642286024992930678285755041759862538217409572268726649499499606980773383704800598813078039204400082630771801675842668399057762298657807788837860460553823914353025003459058307226171183437694740812857306950156717503856430459650244670803765893833707297125156273455126961026717976027495374263765611273780285988547067568437963799276682277771865186868699849332832741068240987335316519864763484922262355869276408357104152723004824262877136699430206518871186162960291243767646620145129860636993132567141351134152092406933156142883106133693959341914156343195330930009161411582963602590356021133287170265873006021777183311414517741244623039165162481367588043212890625 -expt:-77,614,0:2019785527067220859016075096184821912149421106403027443543560963240192036701879476616954690218222713063782827876839369054281035769658427703648498436632136421739556912595801858063198011831673005695866824564211542399160220651543556138188133469744318628351948574415103501052771273393981204066697612765091526265490864745203168780093996025480290335505689022134191478915929217289966800333369370418943444639005411560553516922153999320601289370932595922673608497374963224036658222600028845023713848177941244589411074334426669985928674891448116003285619161392614412835348838786861689490408617856711975955518135283909499974832312293000442708315178452215588031532966458821114754177230599064225634988092966765366270357352136983827262519338412138264927508379009517645365508020391394723293691499336705517066728129446273985998316873616836259122863394701325807912500191267168031985999081769304410020219207253073778474082824985837553109700468359743907719360064109613799688571311209634969765328990761517943042264537196838333401400347380897531424713195839839974898196239469825106641941501788961002992626402375484540632168133513967413294827065585616353005356965040287767941447609 -expt:-51,351,0:-227578803811760559923803665892351520428370789673508990418850061972740388632750522239984381328651663024374140778482561178630115570070474657027787117315641203458108979183298782364210915367865734034950589483411688132192087107896659215307961790261180554632888410345697285434656919490027197985190413884000757019718417174783272092501346827675850086279238576158406359659768393692045443493046761068561458216727137559396464882832268384099230639577378336557744586454311460874543212467858982205362934063365853125812601286856625659044169653638370861329579070059094709483721882329882116015560878826102047594205051 -expt:50,702,0:47527289157378995587876810145877577731621780159337975811043651439146356231936805088930037426315546580065265737582454716869456561094715587588615614596313199454696177025793364822808942384619882008554402956376005194359554004974096403788137885595666449606725010563408965535017560520176300458833774557317910487124563377753556232426423122662213885097303501569798166547963265331566412324291699762962584993997746712370064075751466905079402279342701902764578049398469516972909332253038883209228515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:99,984,0:50702746367732423332636756046707088578844764784173362783707521133315788404642161576107293454340562078957046303833670333713130937649400178138638781061468425602312597594693701873663307101648324074767020103581094560099128401539216160840172463185716103882966689828690031541684807314202742848158232180498584873013282070399063315854921210409313246152527668347143019550364225837781560926140640093081116049657971469048051468284711694257785789178809823941465962040360930016157617452358728751181336693124773903638007273836503394835409596627165112284850875254019710400215921524572141759487839278218635745589782578579334381032101526933997551326789078325869307607100354120311604173747476470292725643886125380388270758769897729363768023262199885056661555947313285025375746755494964841587184402442187978403892800295699470235365305791026570731207454053082865363542424265608839239142648022105330036603608639151764223209401458833898013848306012540918241308571343492002358749458954575469142998610765627649222413431262464681890620336354859534385697259957037363331495002282308313059575072371143057132684161422385180562511230179934391119387461580548233050228505428143177483520819923735804035411728110201914987438877780430590906308303881797836439366427239746559919144471214829376603306425594428226006996275012485608462520827573208905537492316802360406651053484551978898843772619804303428095512709190321751942504748924572861274319455120692685486947434437367729541467272766686966807916370179754298758691241170194777607607571459715789461966313236323523592837374223651504636299665197397806178032081657083412157743291936555271637270327920149177481942718892398679774780630393442679911779866113264527251757137767743475728830777662545861851530110286521972777533327238249737517010066472027602218338978796182855291347346819511885654909739106341730048204503382676292182395762019301010339302187086865618764387685077382309395957419707422191992883094903391508671890404797538764337688679015997252261601 -expt:52,827,0:1363845534203275602945715020440112734101654002035408092138994948157965218152597293322552516013541102339042395990176596143927924801584852182694494402174469146476365708253904854631754423456184213955558063795789571339488371939150388709770832326123293382199321743931181340567197060909930816221066728909932740981323058976498861029285889367417218324674394634948477294304297443288075797373908416729496901734018773669789061707665790116223052131538693972561939226658646132503581784089567145866185449011839827233650866407425601793037832263017989277208429957875080013654195540329347914131526642439138839114974367753637477200190329282310264113595396994805361388494628682431321748217640801660295524027806208203770728640462587823579475986549878451221998889514922178015943053639821129315654194174336476091685209054536280060360926059507789375655383925910919328884755937580198622348199281035939633612639571160057396942003035048191323428551521466383128724883857629281100336791723016090894181692768913507036769585784474370724499814943464300066137630528362913596888302207349032278219095928598441501164781762405564581223661028609149292490970074970826464288906555662494076317777084113019235504450774633168894206571329889041276981381226535278534026720907837639336650956477462141594816136215684669130211088491324847506030723793623545095412834551391863147335556256713198925300756827943629425257037444345305406856996887201268436359318843454128128 -expt:60,323,0:22021853740468578834412999517383915986003725826542069182383222392560149753844176723050212105982537239537599021478108969602682255828632115769764860327553473474873742876444567203370333512921531141121798618506475910567199986084415121901524096659710646681600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:93,407,0:1487853124884939684161385095260700523967859232818286064937128697770803227477244897265636431308165638318966698855220495473642835305695739102629480041222137050463066756784476730673688602838369260908469031821258574541365094727586343393304192201159344658073883254741254481946525006070001016365758933994228518537153685742527173077615516552516989509505043555164058392121782339357054879545731381596514378851078834808332428961106140341211035824086439359162868820393089217972263771995780773037041591155928597930802603797367287480285258739006095757736651824883846891644962424204439039748118255361764570889647940764521065367186406409883179355871269579713473352431638000331921603972636225043550734332376892148456648021902107583989118652297791718607641268173465287735838369363888845836639239193661056146350176700757 -expt:40,532,0:1976584504954205257348587370301926826655826657852950374579114824486624409843704559491800622084346918898311307268718866322166100951033139422529427733796274510952318596450843372699872145918879065832419606235085401060175854330319264634942415582511323792390723208128503608909506002101860376290882104576621154915114333409116160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:87,730,0:706406052439804276576366923069975401164592339719248046363175133041504186269361366113522873942837171766575825692907350413361305763457682609785452731784223726861092814681363318067351830762134706310235218630451383037256434744365437287493102400695653964561812007768770271884322063288345456326150855163077971604365104144672964323628928074590169741911380893259497388141831058301465764795085547886037717455631758754798786277409911481103533394944945594049303351200226257695107186231608269522603794233543597973234060805867176925733535004507818576356738265678541985876988343565444956563176444492195721906970792397883768414377487670435384357764529998377542821466271982699148147379912153120661855805478752385210208666518800046101644963551222667137255772127065300202085523460000468880606604031569380116746352741827362128287425183441335754455687265829010585467574413596756689179258204408286889278803328179345980814287315190200086811052836534046524248233679177100752570989171333960664035727831280319345425290977756020974412906899038592201787348761825228061083631544347976763613084792365803249527341553106644812202911851620419765048510696413924148728211652659875437527114828561845302300246793974650997138116778423178153360481516286629888500954470861598210243812921260066728648008448752894712658707214973199057680079905435919626256730123127286301269269533605024856318874090809110868170349185734499760880296308653980901200084758996049 -expt:93,605,0:855428814634958918544599433108540171368754753688076725315883503766618616635962892836439002252201637178631493204536270801813620260674345152674646475870593626683064317677060559261922597424647952067084352720270230897768699019551822862416702016439561791131256840774075776817158756158362876954703668271367349100772697424595673989246853166711784033450960087641035381498697333940896283341471626085405973825001412103159308752988378154950172135332537721061626398804507352072137874822359784882151232478545958168287870325307214815056872605634979408681579673200606265939799910966127483516061505432535339722111470845347125788524278717471958918210481766553564146010755715128950367184222764324448405602954498081027273677629683607327120669429941319549473748000856525799606103272316670237148246821455126298282076072799525481524482941289874128889144124068775066511048362399672727230153446359840323405054769633940438256055614689237151453949465506127337023888311827938050913222460384888518805017976698191594508859162464655030117614187828782625057625442536831551817101524758129922535918617854470433795037085700145033888156152683557013427888199380333661049871576750433106831383797201751809880804414028368093423693 -expt:19,963,0:27524390933462438193837863038173257600749953407807781713047411800439226575830665293723529758944853530204290511646210815182136606877662463470431698540803603366243306719651411385140530410420060215533879433895666800137273296375613114999995493626942192121350040312694984901577002074624731875041793317359566297539168950875820565444735886011981922691483574660663239016046035782355557105396128292283603712352714496861384151418904174890595393015389865531243654829040983885834314285234495791323218841795533872159352451945484907904644311539896414067347389400151749600657579278895960573693934814752676278273915895909394982922563318173736071016647179057619243763230042827139542125644226762956903187476598431665900029305113678469725913961143048032016348386870923089862955467576132232067430573022824628886621106941902269773912408414386384958744554226394315986912008000652067452553259073901900219599312892013220890882796369063146728028726932516237716682483149607295171755157994925014520354281344751176954994548850375523372990992872608235206800552848373884097904303114896951128191894747953292238976905990208894450092732832100441840572843532041330491790737292506221131878514424077507009732780885474368274416396249038243621795514514228806975329626059 -expt:56,854,0:89655113212012673099023948416704807879861978221153827237199661778584008468165651080543902613878620062782298351513276228294432072744284649261971266393894256607375431816304583821803793716587924442301007552505586044505538442132617485337199937369235592237428954101205944468928491652642992561924170992990684875183153689532992782682092920117235762980760669791412674782564117374541646440937370311927125956106266172810510670685525518812212950138056170979608664706763694733342515990968354863012666224960142013969526617072730522216789165659791684923653320596610175398020948129729808736281334106447129989405194534944350195768931899586302086738465979769199582498488866115372356961255007890457956873669299696404273010639537644911751286565659364626323246621985820562215324013173040199503927765343915648047310527662125096994825235508795834438673893661434170547036065620501605840890610501329654028608371726543612867845130909422255505338304701800505808679604352191497405251720910198472034708192083380402820761289291643085960629808979419703266679006005273854103326911946960981639672499634075872556388250454617093178267203875157005188789441834290824824375362710217394654516436622832004430364564578406063107709727937712128720552024767984099273684466490280196940322959059058007593299284990312017697525386129849377270562464418952129091640339393380715993311611910305891157877528570148396220151382371598274439328443130602108218216942517868406522662920683285329640812262460209537817661379779669996166934404739153002496 -expt:45,612,0:5835236069718882114506897382533566247377415373160348322335381401959804325982764654985369043691019754782274324932902412422919504450121982411071559141523227598048101908706172870018726600366871511993242258104983964714191482096777425460159405868198347157194247010711764769855120922789922675107180581288360243567263537448253664324716669975682189100014404252781455216273744498335122639653589122310702857513362909180771831512471469920303997788269181344157274446834696917540185278250066349263511743262735271477684129972106758329375646539895223543706592566504943908712300110805454844873245197309482926904374664094429569566237475738252689670337625545730148780598867696059299091915732424441403497739984466234589413447120981326541342694519489432552938181829843044368724644161584697373078490608422316687980922524068552209758486036117805534388377565978109780133632127524991766800756255658237049157308049222993126272044553147845347401604176748405215264533091894230978452810922757566292930209161937682438292540609836578369140625 -expt:54,451,0:20397910418377356550287300571804200557786099666116822595739338489264108594693629585863016865675849836447133820178583817056787257865484263341787975124682123033432566176550892031542044673807061607597691619952835660477594361209973279361945781375083740594965736649506183676117824430817491153516247325248281553959922896499435214529883689562648236636643053318925258184450463587681659723559391253678624035379856699358467799364301117153745186153084620238270375863919362076592257374084773424126742009360452069312697567282746968871243121905805216854913928572510658635514695126678391222696789673476384418005261871513244182859164066090813969042874136599996354815022967528679816614580768946293305191453668744093542408847163544646677483277319352956875504219155308754191860667890267580442087522304 -expt:56,73,0:41469229998734605907229666533990439080884762393847798172038084645287681671512979662987869210144861737361911662097025032274313216 -expt:22,325,0:19380780692127535243822988975518862106688283415440409657318777291773460112826177488864304471507503296260257393000381968404530628735640782306320769328605753305997492221828698343046454208648959261843736522465022722130523152030591371634509064404845763380835114201823755461164985487277973692677490997892134149211679493862203005748191879355934593251640178434694460018581599355100053236481539133268074642752831875821126444829199442221499154432 -expt:1,259,0:1 -expt:70,28,0:4599865365447399609768010000000000000000000000000000 -expt:2,431,0:5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648 -expt:-79,826,0:27540854187929799985257468247523155680538433703286824739517469481759833990910653892340315597031695813840072524465738129420981768137177778398386187136483179521533720543407277753119393284152155957481914060287817028607256937594519868156459054669091954974712188347267089425432969106634444194388017265965949995692097701957114472823086198047050856806061672798574128287158999679211211045866881231653749742181206820843018712814234776885483960209113108635431190289016087501917845943054954808695879153901235902843669634627518243307894193841992956050535767242625612932115880911409609569876836530027970817956419533492446863797815044925775952042741550534011707510148845849950514957657983203500516405099685290711977967093948805920524360187028296830546987867500833588472504414005192236672391462985520150287811665577020744455460650359790618613062093825277825004505744707271241064882064070718065648023094280188167073044844547232500114457694590999166919669094693398432022411757793919755408026466841256100301169395413642500129881284167587546361348378140644375492018741141892055856217500455547981975199608522237536059854818106117812566998653773404384267708945402650064006573487698794343692465354553659902815430390133210939131290292916108564064726731071156431583014478295860724491974850345289250462234755107356158270289808695989364604670354446702945425544248554707467316099882094498480778646008506840517719579244276824018750506251514906770636895869751648864985470369467283659845225076014465077719158624528591794989379957868089133908677744283634297198521265648631548657239277970447594973921 -expt:66,694,0:580084506530496199901715842061550478736929285435953296906334763408916457294745083700943659750072194007911117976928910771034469652824787161140202192812060086123933696794422026495786736350391860998721709184616206282429321340426294474560554065373638494945279261660818135550623361880986266761169809383156965092394530526878349935560951819098684650456236731366518214247980897154666883115720824687584260186753579248039306484564334815454921665784875496640601208054064934367623514543431818401964065471753818112528393669877004534296514842252720036344695851083439754895878703603097422007514258951525128317284811160997854687940441212627578246621158606819889227734453833088076792053010410429208939580294030978672807007323066516188519488729062055117608304054056122408278794377322396923294276347941530691555115638860207628093697674034586478685823166311562429468232346680345400111368599877502918619287029806863424209567337550321781645413583273156313569257554412238414216208778666350590080290958187713067860125458768396034295744470317801851373266428602679222973688293459392062447571375823266655946023131694535754930689276382991650046678195497949989578167243234281923601875893680839438188017891503234218524380143598199558737455868031691457764742432465500138998414409914742091022336 -expt:61,929,0:372749204262219234661028605059600082005472058401807779391175774103147347020721809274006944812742694550566021615220848169519541529572954087195954262275827015340392843546317426147733284748546026914169745283094850736754214694252834868482075113112267516722630530017429413488354970058983032863915079743805868398514511489371415564743824566521175475718773953538278821907613967819226017166214104739437588073569813368813398149488565589556629477697737427900926249987010320503591278599110557450366143792209234346301744107084844660292442687200498652998894095601669905889013178322152368594429857818699973029703219264103421059688221938804094297461171047462303386552014767355489371231645242214605709573806038882091320000969833466616172674723281820861230659720784846394592186695882554183766611030058785231355760030032991550909225744604523622367813062613525325165760288801654110165225918836315855062845073372541514571337989620384391488490776891951817514249041749473163422333900356474699047977817400879900507930748372050203706672988848432054792535888114117248293709532406518972437029506673903536575555598954258917589173484915883729820461151786963746755203344621234694493460419788239808892616004989648342937608880857613762630401759659568336317724218590545423848713453198029293212741308983125342860690464093569963158486256404302217070545170719057156149028351035109222842931378174195730467004520244530634927115724793217592798273975809563142500814120034065476390178392762733701597980347726390211680084858484316148662425498700389466706121929317730214556147564067838219041971460802562516019394610534531801572433089111247198407104918760032599577878951582322678994706142652947962481341 -expt:-9,601,0:-3160444535448242529092641683723644059539145692308657340859411006936058865374641314408196086827043799075550619379423798587542309132164609200204439951579781831500807632453119338125875367204968679095724562036128784121814572255501838157522005562307704591221323902634201333248104060896549891818729439534161465226719835137730531986768862453929457126667118122860406909711654476082395260883189301675745656233295957116371351513365076222859294597957033255348289403621311527049289776180957730267554140209309181978595028474886982653235278904914878205932888067162450567679909275108376009 -expt:97,61,0:15598246895092955513443352386309396583401527586016822407020611754291026801166140429261857563228075418881342331811243126497 -expt:74,605,0:767698049587939197359683749977648383836859839557642912409031546875066993197361480792391911022007587571205286132111673072469130312439363390154975794877785145691154425588220181582417662944285388056619181981589072518943031753597130867006603410867195350232262952739727149609075085699454676389509914456400111058880374719374067186562888441743787354629796015365677880935538353010170412164805965916706642591317263073481887535024205339087233459024635435688359086659169461648708865487255695675398023180920346709788305388156864497546177737256623458491643341041204795577475348427124793503135829398978121525554056766257030843704524575334061514903999726663601269068024921811397693529872001218499944501992703297464998852615587466138862714871448007704439720092007333440282216859169819279737835066578327985762318343795059984146296977874262661155133530578457531318820157803398989111207312212355231067323772033741977708388313965862076950112842132301934452667454484343330105847945439333136829953705856876014817393705072041603637057816525800795342430049224928087060220666508991256383019365798391401213524865142728401193068597503580931118244325830426624 -expt:36,975,0:248278005620103284639045703633892910971579590446576896390366023318446808572139362706941322105353809474568993267209279242065096446488620910399483811208530728287594195549653360186846362277601130595472769480324082311203270696569975943570941969562919822812104500652408711500447873544596047411274288014555337548896670749271601634625491645631804888387660782682890889223510249234197182987228667338352972908620961079256927945363991111693736862822062801054752644720735597690210678508403694665212607341057194061256992464781310624503950172678945568406904426022068101752528300052652001276542298094132591990104962487076763890948081836407437498998808161080386782802526119075692789537066681886677023071338001090161651248031406605922396939134353858229048521453819325323124966146924584063700897925385709942659537790517149987487173581392712392934799338496185296838242169097046867947616557569663967960878013987948526741195844085783626887255741456401906399763700966299733165267865215995696668857089937482337710909782176011909086961041572658525585707034935545895295838426884822305638121505564930966674346565073344787297923158159728519118453365025481613806608095528043429679151758551183290377061790258979194328969739145711528285504071957396890777097691503292292512140424378576323419960320470786958549180355944550997252189926822915544222112451356508263343401791620402670748174883090503543874879537424232633444841283544725100377811657760945870884387665856213462789220780358446036998302940381411899721937124651210804520592109143837152301285376 -expt:-7,998,0:2557666612174935343076642515066804502377520561389767696864275525553001216974247274131608960292888178840788079990848858707874061009535980056363078332058256731224798188707371509890293039384338196239143157226455217716275665577013531086263168378395631166498491605806001681974869749146726373202776324945125013953453368299778708945971227290643969595629713562243419908025456961888745599561183240940509205834167387996660455423008573664383326301867960985504323358173474091543641085509125145760080557840801210219094336590559580686735948781675614855516621028604833789337737476275129016558156702593389621170307048966068339005329960325088885775363738622269191020959920658840427262709698255458449248536217491851761664583813025566114309314584253990687002952980625513485971873761776789106023932689391842584592322920065018940027985924506720083084514443495522449 -expt:98,601,0:533177103720501595374014423272499180364132378499160666153205148287497431057729394569971402806644432590292381465328310811262311129879335218558809778840423111439831395996547946125056037438926572002773115800873538665211948124422673756566945099641176492241232608229762984189514655606698161295525325616990201393228718812438865636613600881016384894116920222938495899464735527691752379448855611912417527389079639150256802359259202228730317836086556170590276966277499401959437472907925192927018522051374174184596825818778972688910983212905978633684186938477351015355179910878863238407299688657725777618404474888655212468833055969341513248604687220063488622962824592611061373538419157946717588609988450009564429746027878532253109391471912738954897803162861544906424860818226748531212662795741229276596890126256794061814383421311422736715585563600029962135442113826772475696417325421015883937926780471519318690864459664035455228247945210545963671338082833659176679989196527849975925731239343901932556903446683281672284250829662800543414520052002458669739331249230862598278859245402390741706350229540923193423152041354794777470610379380463931916503753572520250120327494841108274055472875847368852693579726848 -expt:71,113,0:155665870729530205341310326859872459537926086918288608509540470629351860391099882586273156224776434943964531186950530766165453973920218517388369336029496210775525110769905804823288221938617835119278838123463111 -expt:88,907,0:442367935572376572508225245682376008933489111316498137860990507028355805276660122793212942345797461553842453310264287269547264461627567883151291662994492100078344571908312323703967322111609104550792111450058081718989072815115851882388563478737616122984915164909745468851730941089128173523430879823706000843384957667316760881888264090864169349212921302774263449334569646606880597808832359653989122198423765672987068986676530059825422164710070729150784542517772146017930986715605834667445246856197609230392607836274592038028103289662613608042193082727017234381117193204646042933195569061774171215561867979977536504587733669688385439306083861005747682093252438793416405292269393894857797371282733609831597024792462532979252620533612898923536406352613040278291119133710169841942272610880326076250824796315291769779313197811055736478745579585246354714882550479199964522615379791935029462701848490881087210486616588742015690198161694007740631075914977342479383653037979280440452432330650580558326686619170505019301413395716564578646343919112222038215172712390311828679340129762907111087076354552831143978497060075661718540626266557415357423140554743330726141178661837462646531942496692764465824964428334360066828688839099062489813585188443877907045253387120110743470809899546315304940652259267302446808962933370950281961149706759813262075876658787778751634455269684666084979732880496655480607530401657107712607869822390372442674816531402008096066231847402127938718306972865332558595609085653122439480481119259426244455543280347111130355917037063730253045491171053471360412763262481476838567930318043324002372902635753161108413432524658790895161967566922959535333684336970564087502342071263031219942567744837673438233646370315543730522460987677141774838398907195160788992 -expt:54,693,0:3538959212637179650332389010097218547839980601093690465533384462821473107518120134643329245982087864317937908704373458854914106407415643779615995841169386600913075521454433838879465455760020550207139247760073103240863782684441878651997401564323185374793175538443983412787862620393247499479636694089753362683716397696397917283398425558068217711985447159317136026122405227956991309955957305130230342078570923159947618234652978345575496908772641954759715818896470873163820343504250486061693462131428151141184256959845856167488510754499527069147459850959898142673913068231658647704696101725713008481473114205759711924188717911743864320055181356930972595979239402793810079643314094026495828298793070503069066311897901487935228391178144871449270977053884209274680793281139427835365536821473478187015781075924946317138803162094976414459954194354095344108788615082753544608345483223312927636999008063997529650656957732197940704471295178444341702958910607189754168223147765846213872939337214235441488423377963042762703792152968410669091074122567701986969963794378828129171913930842249996279788381704931705888803023880349755565650291290845634952973640558107667121388591534953156403175205437026399021173691121664 -expt:38,856,0:197132715335944702010464928289068787258126989327281133977642459352310471635694659935863663034893224402661971507965073109281478523865599215163431556175379522026942698195490717331056237820749570952967717007649366271894056379198300178606041623775325949617283624435203477373703809019861048596220111560408850308709136073536236931756950635354870794668286264213752040997939539541387051080544346518658745783173789667395614130438466933466487546913034843807849350170476768221968845260192149232038583063007145032622472464523166365735920186939572956871374170348147525734840393491062416576459571924060826547986510253181877148984750114103946480014297867097001766341891006238734128868718256859876341374385005847514034681950344623145375661088734911525281809871480522601658340102129823934063220140098540350561496324424874246538855230619339148284533370024488661745011726445642690111494919560707585228174864187763259132194822208827893654702830695772629276887925981051128487055423282643887884462938381948997470435721291697587128910687319970929427859109724267542710439086909913634572523183081655946843912895400563035037344361397713522987937999965880651790361428060580389888264631102954948376159211750103503891634869806965067088907401334445114937251493551662240660610686055435327064505561719003363736562191988450674773018772056555774194438968053446880417310543649670866927616 -expt:-31,708,0:765736298588882623745464551248533589516728262330945024485987989003966799697519427922524828295538506333120906420497833190822172854823291505196845183135662558430608661582624850664725007618784585092336587620980112185589698249795027371672676312069829503342898152005067487306044707288099529713186820460094321862725166577558202701116811479992992160597205251212891371390724533853382322337514186669568739285186663884891566968084627353685451588298678227268272695471519080722554889447126207382826609688589782622034263523702002067627492259917412663020367888185843581319175113423749435759149520782360313210168155362235445104891714946334675780994250948917428592423464724255498014927635397210595806788729762917250871841151153544592712985783889618176401395175667540813239941136361290336680403138159551455700446304015319933056996010034922500542872536431111997459504310947292431025900542295004555040557979582695891302414344669597914053356301361988698100342875761385692372383787936620811489997313151757515795773510401149056466969197955066877735357001712514205212720669933441 -expt:83,555,0:1225578881193055029211627122654046612502838285027451787523333889078091117395677304740312290856548894569025972732093305262022262904766698517843710251028889032008071021523615947494541437140578410083242439006303675242241181694132064945370271165796403044400021233214176036607316649425463754916274528213700425307672925070793107159063558868221691827352040472536655806967633986881743762489226940035732391901428677713410085277373744973773271636779960125482940121021337248817093605269643954914154264236561300490516647836816796937996874660377751119032325126115584325317487570936637230731531209445181074951179372481656744462723784646444882817173348451279220016187868806676293898865251048319248697918535078227324297131747582957851638254483032160979834998953230605023477565269493853309225765083693484738566931845020418708591682116652295291303636819498565470825532192376545824497931844947390200802139827837145992356261755130151073475298317589343849166306928091630048941968076783492543886466245827183954554006162583165658402103419444975524038123795891288877937208254234082383456107 -expt:-14,196,0:437617814535571368432038511337652545614427696923129424177713451048312616488063444444116568548619798360728579274072579602558189605289698688298076102960815381950768025379270967729373733335391251544937988597855682119418496679936 -expt:-98,54,0:335898517749742807149149239304847110365424413007280865740297764742923286290279482895371271867934265713885184 -expt:36,114,0:2621109035105672045109358354048170185329363187071886946329003212335230440027818091139599929524823562064749950789402494298276879873503833622348138409040138018400021944463278473216 -expt:19,880,0:2009874029398980029295434722831970797532919043227819887587032786743144365367526664823247908827194455630622170606057232748931122179234484742203908570131852774251405487769265120505741541610105732725739348564765526542332365086458667418301828317751506967076229654788429336978672638225832010298145579102409262752736707461051491772477782570352887264641512286428683926389567737024065515860584891869348632484190723337772808946418211067908239231699266990927693314506689204660382252789414936010605752823023740942793443449899582312545405585967436891389485301908118540573354341705957891466220807814875490535322936464464190634279487514642962273091394501124072606449141530155166291432938436888069305529351823734620388268783707293175582244589408920429277320778044335476174137843245578718617250608413970893780067437205632161590787983801169075275248391505534693130703217363266217430925635281802546131654287314896587348755945486748557565093898213697334397719214794326654886046758572050840080888194502573280655340846994980936684326929231978782129907525294831982650961681342044316149573667246042886388298925914414391461565675869861333636998206401 -expt:22,721,0:77046492558224796788761802514088072131880275970877661304506183244811291459780757474421304659351160305442644292605839122224017614753423013459535933948248049249528771300446785986946709805896287030039183115458755228202024899421282006247675157856987007861882304710551488072995285854106976686201919909140206483194373001181110350256617582296405321373555584594309012456901291312584219573768786649572212517073683836945456976006726338250005200687545264869064958787610169087462340120923702046458000168595260841096750492141312671829384006125954306548840981666835043447963679445859020819819138834089832266078096711197961096290254275206028869494312694951676428802173538454063412657550689313921331316469141026674958943351278665317595537923216695203682252676572051050680540810268656944394976378717156317037697429183535766592224765986513447985454463834647332790672247864336230364221176419961961474234981387758066111628913552702951065406243272417272225028996432449465191839224742019072 -expt:17,917,0:2097301675874874262337384393256157290550457272641070742685181359655298484419530330975119591493945747194067982196745980906719459748758882521093062942106370414411307130989688371347312396400965251294933801479523245300205124498392914857119952454973605402952283548281059993829706858741240642855866024547671426840363544681591758614171705795900874121429015664043430807387470485214251545286572177964862773770430978379005467765291145746924901839002665096400397942453076588723612807208413217092949289492019664961222972978192822676475920744552252701836678236202368876327668639558452692524803118939191010230124869369557526977853787148876084719302299232475362067256488446210852407409309331633276993895009372306807316745243435453345840085033563601310824164178695180595270040323771052788593322649328459197776655430007609049049177562253219889705605903722950620003852016584473859694998609725264429690598113186546955167630012283368654064816468752154783362082778625443452372549847742049125737902403986921080094805248820329567053386368469178503759368276006576774606472539223477845778733320367553885443289921963031175184555111324035235498303342308177 -expt:90,974,0:27052299935047786065293705383293371594928459960636493591858679901229530489397827439967797113560000179030752129693483986009759069814344789464328028124389302229982080849292903566689398199538736384291803478523321463426163427287122485942132332484438824633259632500429907489423839508356778347605611863182944177635491198031896503926679224776089106017711039660784400591006292140993879293923209120615399556982103777565419076004780936708141570335102044570334141660285505239366482840745962298126113781491303989125579971415048181359429126117863548989486391973761921728851807165407598678812115381168882267007400683443822154895256736017606370596941988046175011944197627446203315020223655176866443121247527516304873917419276577740100216553128143639001206191984430353639022361358939550577829476281299576074140336299277402936582067383619719327798911232272710866516643940342077662311510080648261530453984792175767586937809041407061474275004126136100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -expt:88,533,0:25660449281262222538494450001863125622542059254495725488128163750941665069643744134848017926826911153501794213458141136118798686952318128330169211354566747333325537986995462503989216458427236156137402612135248417253059095443287160848570588029400648482452870347054911987033926310964969317423952372643231383031833176623179144615827641601677528585812306167020803446102194410693881507224213793037477717521197480665170498415644315118063624358208859552595534937279894843336541477825309304143549461073381212334783418760579349454160671722140424226639994874257433085267041153503087290920628156801330326875713842007053978145083999034880721014435679044734743002931660496447382048291494534747035171647495659446493320583080918221954598494959009870518773105244525770713362092498386891958081893316423699439660136195380395615149744310401608278793638807731614951269163459033645996046310958400025916261303110642807596573667882890880336479719496725477724544562900521034037056197498694805705196162644018155788990216861162622711326815130754780320976368304128 -expt:12,155,0:187539665641051633765939629010126862030861602821510134598513247329704373202067865855904581679588305105558426392209111518109357753525875656563557488739845521658156679168 -expt:84,732,0:37362626400287469786015728314475507196576346217451577972340560264817777335475340674816958024184760346347561438501466002380065324994816957074697212139052544975947819746208063697307962302948345421020870897563746896137814303577394468618413663330314199040777371901150981465952170446359267027980870158458849108279054769543589192992244998367449195186118755704549074553943383839728968976499539257576575130852721502719453361944489930498227884992093281287795552589618712166509707464487440188402096761270376491306019370966520073730856558528831146413882339665688468833965993044432654395376803788836651945621982999063779396803021750087040026958788856842217636023983209404960799438677955235981923691837336224814448363848125978496886798250942574484985336211014321720899330415880628445289132294841424914787671230730112190724165482715241239871542120185970126756942511944451784053266847219551455015565798473788074284186189118669182080184743138159319501208245476233431491562603292975987521331235533354675181947901194397959442206360514628651055734093466035888302489823943737682169815612826149059209986740615789135359084267106289623915297355833264060175823550703443673841878097340893266267479095018072578698649320448199760433477235766344924312161142440752268668342566161645418763284828712617629493206149751363684796869848593636426521501235005044720096689821574083797399723544574440327020813476324227172574108126760343901889888256 -expt:79,286,0:526439064947238802053645461445020487916872652166019614740851000911432565395604993916756724273343382808249492973087992062325249551325359686735575913143465467581047691930038117373467695602824586884710893085987595912587448288044732217351433963632626007275558435035805433116956578902569644720408764508101410145243233157169608100135310715793917742521403034578354501408583090243486810991762771487300120584737790555454222432759955623420408431532698387943150871884498498636773443364760233971133647087214954160646197476641876831719032258038195184329121 -expt:-48,298,0:1023030868022814299054713017964868399102957735431782102215916358604604051659703035572837203405877079107051634525945219766070256763817295621420805604993635631490817683951846687765019250182667988090399985362595946141453130325277952090882208566546530763707685586001179407168248639583706997713561296809021500677647862937784168307555475376888964203999111072179073538018050362405289547337600007038981171944778216894564706920577451010395411246759676715366409166040432558779691978486479294657424378342139756544 -expt:67,294,0:734500327961443669234315379892319347436893827696021491142391697563378578446291077887806124176875773502748252261770540334529098051241702520337994712391193396474812051324450141046760676076260316236367877489247807236984474045776385255239037010394553624592302745770678862650712113089224670041590960921068572134081690133046715543153096542269435280673848480153667033339024712187305544312593068136273774422287977966196973980766284625470220034542418965941570269327451886686200812785835233820579323336965260949631248809309330127020161010203411929 -expt:-18,16,0:121439531096594251776 -expt:23,783,0:17096043011003615277598794858486068754024940440179973307979725548138117553890262896641152305435426637168346356686100176044925372354921872747501460658856273444772550524367017737008810328712782564379920672077160208017588610872900933505244440864632694623791999654579846020232116933586706946483379032274515986264401321379356564215058936360373677277919864278279794625946762796494116433783821073561146442740575287992208852561076777520575751129272827760948307704793048037510164918774200200085555861489097574107784367443496372000977637695193822915836028040509766497522766784721558336792917997571201278516192223590838889688612546686389608843721034916667041733614883996563547634015007274594387270209090391868747626612843208187603964244920932750585408044205476476229852915573917584786214180312460069710688659542311237951704151388274748457930956937912692497993167574943229551708370492252437047946879513486746068495028744525641440991301695614236365008498571998939850585670845752278477745811135337129266946940607139194863121256913904896962276321551899101278415815402393374517929767 -expt:-66,815,0:-8478274364648612330188917253283022359058819830563672517212108821628253393962000107434004509667343937534845252876105916914550690362654306802088184928424521570461209219177571955862371964722226410637046742655117010513197262769697714640814368023744763233323396664955472317206306714935880218313050258650385673367221675620501577511198414613930001668113399143106311450680541330404416353053190642499775032620035730460907253528440201689228392425128611695226403417406791574278689202884590346418539029059209980814013704118450210566908353305850659319394569789593583277865075164609668529102638203772555818321297822419290710586417444995207152787848623117218947477799582750664329264358615866224038190922228629974680499679526981709174616924365577700177072886843030924028404354842213079523220238443352288912242203925033885655177475234008253977458800922719481452623217104266383098663601342961199447190374025272206739771683319522016840242048283276894211421554923410027867743938181352146258867339132020852657862198937040181786435550099700309055348307396827575249256603692440439981038825878568365720841374284500628316724088850430536784223423104076749618800240805402030937435626889672205773792103911906204527061949920720885833279883726692710574946314456869324980999570723090979946872598945360813531346459611164448392012613641192887272701599318084665769391014924333193179500033230229853166710458920123986965349475008600343653534535593116799600793757728203652141876940711203421375996087235090052747651710976 -expt:54,664,0:20391845050873191652345159631406874537839455686365280217235427133476142582092996043619608390016389292965226896811762634987782972686518739140212360064330493755768007040302669237780668310608681482526562495176314471562104423826827089408141436551453430030964346636473177072344012300123214143559305872414360567214132682148167038413419037687295369781258678081076745492992503736782832174090246186699082419488498244657442094259244802484573507417869446357085909447262706180711907718273125250308231346034020925518798041278971653974463785808172029353263314071093941305571685611808887063740166405396225068221678544525487393228625876836004989079566259935122474245224409591612160442040129636723080187009657142522509070943421819954801779957035427054617629433447229882724015810298068048100626156055542733454456801321357919554628269944544954700528568251750045531145328694687448392559273455873142746224088225238286750883430569184631252959597186815034796504990060130502168310308220045378042228226870235350079089558343443820937472250762918032769865387382756419568756482286011357857171768933280108973733824989544483820081477750150555112569963683757807113376801387242848256 - -exptf:-1,0,0:1 -exptf:-1,1,0:-1 -exptf:1,1000,0:1 -exptf:10,5,0:100000 -exptf:10,5,=1:100000 -exptf:16,2,0:256 -exptf:16,-2,0:$MP_RANGE -exptf:9,114,0:6076396096647706909168138770838836135530328017648434830996201971201776350890241322455818405320466786549738961 -exptf:-86,476,0:662617332696362860524067230796827820618815284881665908870595313490845384402730799402221740741547892729430741053639014274968962128613995528237195069353968871860065099842959580048834695510748974202424908905352730826874949676923389706328585129209694843598031316497606363273659659518137129001683914681077900538211178870670637655474948719356656149928857724507047191532188701873201466847680543186709462811132458087950485580962981785390351911145306017418845982546035812744084364382432586452339098567898296989357418159116783507112574874002896769395516552960579886303506398054290885811079444534809660731243125017742263312078176886504861185566719851630353701862941682854137129215263285153620969438652988427729550528379121310832057528645876351114476064584186293636620546183047738657594287749786268444920697293633564476272776432769083439149706832453778408583421346390651383448852253784001810843070684412323782386158601772005993742336 -exptf:40,238,0:1951092843947495144613498268620728941092873839165606969286973099765857336762353512575191314414682481974891831950879139309654984799555178316431360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -exptf:9,761,0:1508515174935868832740908844641413400230908698282014024654729092918735474326353646362638387096847659573480147230064829611049820323852929496264239478087068540642226919569780605621815548160687919464946810325130045648382743363240874672014902866728521582870078261816669666838432797381766007612134725161586319767428484319859256110793709691241551836459283171491322903212579581783263716842956174378353601721913353516686324030063352338083503343527729254306613462747468830270057853272630516028854927235895950242106874919224742672988595490274178820331573555174825456815488479104792855190670321093410569224479462267429452231735849215995686173314732407799996091669536594590589720060331368687564979078136565140955509332862196370159944529609 -exptf:97,144,0:12448864341302864356285624793135454957839907062356377399873019819913674333304037397385881749787740378047787615516124593880867160513889753519548772992938610862712907794913424958325207507075928443769586211194132774382517001523776118917770065797726717096819996931978519564039067219497326081 -exptf:25,122,0:353737464016668451855824972300304366432911374927310085530570894138105520257533012294512947342224925759920017160034290220932919252862236536572027034708298742771148681640625 -exptf:60,794,0:71136550947732097223049080592911024204723415862845308040389197768507697553695725763485652390828706079386079253286683076446508807986344183438029484620306186446936364042768259107355223169364392353311443322952870623266797106042061359252992933819289381215897875409197357921675407844235432207568030978595888122411284106189806970016530299277993693667005155741905298746901362592844010565441606260646610040560804127639267467909340287601194961411351728753184912061106832973826776921930054951881992593414738674333726484856598478050587647451437933451435999205268943471465348558111458293504367268910731207434743916849298071460249600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -exptf:77,531,0:532813311656570249504626338521175986931059533505926279525440059983661596994102351537446926949363360529365260710018282274969608991708422465645470353238950991164094603760337431471373797674342466447685331328334896929530869521639021347860305641901746618212067382436047417802334922329714967747069071224609067366771145964345230898570999327581370275837424654936614015736099665593408214589717971837806254491231718922616012680565189067437536528526576020597271981783296886490561985553063246822960810078500648480156559918530508398231087164252252053517193755387712164533565474034807917780960207694570186046344187446803758345139338159388892261095589551022214765624192005132067602116482379395414788544646979450596452460362555591887638135655580299669062424023518502777571809123694201495640270788238169354113138409879326088017367705387411669267281998186298445497315171994082486321864442017377055208040226703055135151101106282748423896319916554310684705542590586019379478759401961042716809342108506273015769966750567573 -exptf:-18,16,0:121439531096594251776 -exptf:23,783,0:17096043011003615277598794858486068754024940440179973307979725548138117553890262896641152305435426637168346356686100176044925372354921872747501460658856273444772550524367017737008810328712782564379920672077160208017588610872900933505244440864632694623791999654579846020232116933586706946483379032274515986264401321379356564215058936360373677277919864278279794625946762796494116433783821073561146442740575287992208852561076777520575751129272827760948307704793048037510164918774200200085555861489097574107784367443496372000977637695193822915836028040509766497522766784721558336792917997571201278516192223590838889688612546686389608843721034916667041733614883996563547634015007274594387270209090391868747626612843208187603964244920932750585408044205476476229852915573917584786214180312460069710688659542311237951704151388274748457930956937912692497993167574943229551708370492252437047946879513486746068495028744525641440991301695614236365008498571998939850585670845752278477745811135337129266946940607139194863121256913904896962276321551899101278415815402393374517929767 -exptf:-66,815,0:-8478274364648612330188917253283022359058819830563672517212108821628253393962000107434004509667343937534845252876105916914550690362654306802088184928424521570461209219177571955862371964722226410637046742655117010513197262769697714640814368023744763233323396664955472317206306714935880218313050258650385673367221675620501577511198414613930001668113399143106311450680541330404416353053190642499775032620035730460907253528440201689228392425128611695226403417406791574278689202884590346418539029059209980814013704118450210566908353305850659319394569789593583277865075164609668529102638203772555818321297822419290710586417444995207152787848623117218947477799582750664329264358615866224038190922228629974680499679526981709174616924365577700177072886843030924028404354842213079523220238443352288912242203925033885655177475234008253977458800922719481452623217104266383098663601342961199447190374025272206739771683319522016840242048283276894211421554923410027867743938181352146258867339132020852657862198937040181786435550099700309055348307396827575249256603692440439981038825878568365720841374284500628316724088850430536784223423104076749618800240805402030937435626889672205773792103911906204527061949920720885833279883726692710574946314456869324980999570723090979946872598945360813531346459611164448392012613641192887272701599318084665769391014924333193179500033230229853166710458920123986965349475008600343653534535593116799600793757728203652141876940711203421375996087235090052747651710976 -exptf:54,664,0:20391845050873191652345159631406874537839455686365280217235427133476142582092996043619608390016389292965226896811762634987782972686518739140212360064330493755768007040302669237780668310608681482526562495176314471562104423826827089408141436551453430030964346636473177072344012300123214143559305872414360567214132682148167038413419037687295369781258678081076745492992503736782832174090246186699082419488498244657442094259244802484573507417869446357085909447262706180711907718273125250308231346034020925518798041278971653974463785808172029353263314071093941305571685611808887063740166405396225068221678544525487393228625876836004989079566259935122474245224409591612160442040129636723080187009657142522509070943421819954801779957035427054617629433447229882724015810298068048100626156055542733454456801321357919554628269944544954700528568251750045531145328694687448392559273455873142746224088225238286750883430569184631252959597186815034796504990060130502168310308220045378042228226870235350079089558343443820937472250762918032769865387382756419568756482286011357857171768933280108973733824989544483820081477750150555112569963683757807113376801387242848256 diff --git a/polly/lib/External/isl/imath/tests/gcd.t b/polly/lib/External/isl/imath/tests/gcd.t deleted file mode 100644 index df7537e650a..00000000000 --- a/polly/lib/External/isl/imath/tests/gcd.t +++ /dev/null @@ -1,761 +0,0 @@ -# Greatest common divisor tests - -gcd:0,0,0:$MP_UNDEF -gcd:0,0,=1:$MP_UNDEF -gcd:0,0,=2:$MP_UNDEF -gcd:0,=1,0:$MP_UNDEF -gcd:0,=1,99999:$MP_UNDEF -gcd:-7,328492456,0:1 -gcd:16522181,930,0:1 -gcd:844378,24,0:2 -gcd:209,3,0:1 -gcd:70522336,34102,0:2 -gcd:32557663,995533,0:1 -gcd:641,701,0:1 -gcd:290748,-233,0:1 -gcd:-95,4770,0:5 -gcd:6839092,7,0:1 -gcd:787590783,-6789049,0:1 -gcd:721,15845,0:1 -gcd:-37028,-949534667,0:1 -gcd:618,-3,0:3 -gcd:16657,-544851,0:1 -gcd:28271,6,0:1 -gcd:-35357673,5207718,0:3 -gcd:99,-565,0:1 -gcd:9311525,-5,0:5 -gcd:6221599,7764515429,0:1 -gcd:21590339,486739392,0:1 -gcd:335,3699183948,0:1 -gcd:14,8755508782,0:2 -gcd:-5302,9,0:1 -gcd:8236,9462435,0:1 -gcd:43040,2766705,0:5 -gcd:863478587,63,0:1 -gcd:8874055124,10,0:2 -gcd:8204,-89955,0:1 -gcd:3303887262,3,0:3 -gcd:75504,-62,0:2 -gcd:436,2123372,0:4 -gcd:3361227,943089540,0:3 -gcd:37340421,223177728,0:3 -gcd:-35694701,238293550,0:1 -gcd:4263,15500547338,0:1 -gcd:1493,38730799,0:1 -gcd:-635007,298501,0:1 -gcd:4968,-98492710997,0:1 -gcd:3367542606,17576297,0:1 -gcd:232155550,3921719,0:1 -gcd:4860966,700,0:2 -gcd:2323372237,867,0:1 -gcd:4268,-29035,0:1 -gcd:8,-73804207633,0:1 -gcd:395170,26163606,0:2 -gcd:-70027196,6945032910,0:2 -gcd:5871172260,26773591,0:1 -gcd:17125540,836,0:4 -gcd:1988202315,-68060596,0:1 -gcd:554434367524,-909419,0:1 -gcd:-40457802353,3398,0:1 -gcd:410791452776,4492144466,0:2 -gcd:135751970,7417878752,0:2 -gcd:9593,31047471995,0:1 -gcd:-18387143,50226,0:1 -gcd:413450673851,-124,0:1 -gcd:-618513698871,-318914624,0:1 -gcd:37416674596,-8817,0:1 -gcd:6242382,-943205,0:1 -gcd:-4949666413,1501091102,0:1 -gcd:-6385784303120,899228089,0:1 -gcd:6308,-79643949,0:1 -gcd:2421,136928,0:1 -gcd:333180111,442438,0:1 -gcd:723761305,611024432789,0:1 -gcd:-91289,-9223787613074,0:1 -gcd:10944,57098,0:2 -gcd:57145099,-94544476,0:1 -gcd:9327105307,88173695233,0:13 -gcd:73230770347,67182928,0:1 -gcd:4810254287,-4310,0:1 -gcd:7200253992,9893,0:1 -gcd:-92709373682,-664752121448,0:2 -gcd:-2236424417,-69570761,0:1 -gcd:781963714,61084006246,0:2 -gcd:78553,-3773682081509,0:1 -gcd:24811454802,-26314981001549,0:1 -gcd:805866671,8061826,0:1 -gcd:4281823377004,2916710,0:2 -gcd:15229,320560332911,0:1 -gcd:6093153060,357460,0:20 -gcd:624794507388,3264784,0:4 -gcd:2632503413711,-514594728450,0:1 -gcd:7216089,86034,0:3 -gcd:112578025,4532680608704,0:1 -gcd:-972617496,-1100642928524,0:4 -gcd:86658,-56860,0:2 -gcd:2292080,40552081391276,0:28 -gcd:57144144326678,3579498119,0:1 -gcd:77390585076,614924,0:4 -gcd:685579,959286825595306,0:1 -gcd:346354116,451435163995,0:1 -gcd:443946215999,260668,0:1 -gcd:640447120070,-441698,0:2 -gcd:1253208493501,-8521171736,0:1 -gcd:8507343,62395589,0:1 -gcd:81126006,461820852819773,0:1 -gcd:87891707090,40954510522233,0:11 -gcd:-767589,-991593,0:3 -gcd:86229155,43027930,0:5 -gcd:-431963821,48986055721,0:1 -gcd:101557073166691,-74080192,0:1 -gcd:-34269048183,250074,0:3 -gcd:7650667716360,-959482143,0:3 -gcd:-176432105527291,712269105001105,0:1 -gcd:91973525400419,-52180215632622,0:1 -gcd:9054526,-21388581343089,0:19 -gcd:19326311972,3180878,0:2 -gcd:501569850634,39035351302,0:2 -gcd:-3470290487760846,622612793613,0:3 -gcd:827793089252612,77591849874263,0:1 -gcd:19866668332,4414961,0:1 -gcd:136274450771,8659380001,0:1 -gcd:952660786088689,171372582380,0:1 -gcd:429415374,9140880954,0:6 -gcd:-368107346,2945634,0:2 -gcd:2147845929,79983807840463,0:1 -gcd:77885771608,-51236668812562,0:2 -gcd:62272695670,208399244,0:2 -gcd:61973019,-1405255816878779,0:1 -gcd:286206733986,212837117931767,0:1 -gcd:-131938894,1048695278656631,0:1 -gcd:27109492,306933238851468,0:4 -gcd:-314477095129839,3837918787896,0:3 -gcd:4116345,9101435151,0:3 -gcd:63853435249810,902940229903,0:1 -gcd:80076033,14791385,0:1 -gcd:-31038678,1454704764,0:6 -gcd:20638192722,-14267370499730,0:2 -gcd:8065790684,-1977228453431,0:7 -gcd:362687955673,99742877979696,0:1 -gcd:1235326072088,201675880263044,0:4 -gcd:568009735,49546482048450,0:5 -gcd:849579042,-3197920541,0:1 -gcd:1808291492597692,96814519920612,0:4 -gcd:6275712123233717,739880208952795162,0:1 -gcd:774075573665981,7523229210171,0:1 -gcd:2944466357361,497012903828640,0:3 -gcd:282862415058866,-6240991940068,0:2 -gcd:571225883598025,189932649930728,0:1 -gcd:815309478,-371377784,0:2 -gcd:320172590239,777220834144,0:1 -gcd:654332382,7919190746613,0:9 -gcd:-5094673003562,268414312780910,0:2 -gcd:-77841790209187781,35267718271550,0:1 -gcd:735762990564598234,-32739891496,0:2 -gcd:-5999905013129575,144027889596460,0:5 -gcd:6861193105404525,-4725324526382425,0:25 -gcd:859748569384694164,98523184164,0:4 -gcd:570460270963,-54720108308,0:1 -gcd:61750383079701,3452251304617,0:1 -gcd:-1738716695,8560399484936237,0:1 -gcd:9953417006786660,90085339160,0:20 -gcd:188523146978,954842405502,0:2 -gcd:198834734074395695,171072375577893,0:1 -gcd:-102893613303732727,155104650554,0:7 -gcd:90836124710855,-98332551310,0:5 -gcd:10512242068892,84377075433,0:1 -gcd:-726835478343584190,29339956106373,0:3 -gcd:5033847480079150451,-69469662902517,0:1 -gcd:3869558083241,-8770208065,0:1 -gcd:46079368203995132,23609959311256,0:4 -gcd:979137194422864421,-1378816153373947,0:1 -gcd:-72618673468,-244198092166982349,0:11 -gcd:529564016606,376298866055896536,0:2 -gcd:554186920892,-629719688885314,0:2 -gcd:3455963977845612750,271884481278417471,0:3 -gcd:-41270780965441117,-4124462824121691009,0:1 -gcd:47581683736,9394210662450,0:2 -gcd:8196306676684,76732052476696223555,0:1 -gcd:2939970750639,-2013582768244,0:1 -gcd:70476757656499,-100957934015971,0:1 -gcd:3674841030712174173,540185467629182772,0:3 -gcd:82915322420038008,123799513890,0:6 -gcd:466513077506,73565730651787738,0:14 -gcd:-38890216282311653,91459939591112,0:1 -gcd:576595981539992,20909590051109791,0:1 -gcd:956905636477652,8381376662473,0:1 -gcd:9187294026565993,54295427509,0:1 -gcd:8866081281165098,6545042142269515,0:1 -gcd:338772425501,-750860960783,0:1 -gcd:6750486296504,8609697533187,0:1 -gcd:736067207074328,329259058372493427315,0:1 -gcd:680100030114145,52232423165123,0:1 -gcd:22697310250913136791,365228836596285515,0:1 -gcd:30594845950075862222,37349482121506846253,0:1 -gcd:866936756424,-1765396942933391,0:1 -gcd:6939438360479781,24559856763503,0:1 -gcd:927595346004843560,7670228140092963222,0:2 -gcd:-357321286444971587,7925597841132985664,0:1 -gcd:6673370692769029,520191499051311630305,0:1 -gcd:9013236794945,1008467412252240244,0:1 -gcd:406532185466775673747,9519149309169118189,0:1 -gcd:548046408595014443,777065152533771,0:1 -gcd:23897406396584,-8555442893510156172118,0:2 -gcd:54729344028716311850,2026849525600172204,0:2 -gcd:-7936445752013,-98698488318151151,0:1 -gcd:6309028281362257922,271678876766048827,0:1 -gcd:6357785774765671053291,56936125648067424,0:33 -gcd:11095109588014,9104811531028000846,0:2 -gcd:-921590308699737078,472826384755153630,0:2 -gcd:652120832633171211942,-3387083844442113181,0:1 -gcd:32731949302549,335896184427699,0:7 -gcd:3635516318567409721998,16713986701316425,0:1 -gcd:6746198240933100303896,2007405485449,0:1 -gcd:-19072614334803913032,-240759760944833349,0:3 -gcd:828472954262165857,127978158379025077,0:1 -gcd:8306750095431507743,6378030328941226919,0:1 -gcd:7938532173109072,7646615157112938170608,0:16 -gcd:25274397567311,3125247753747112,0:1 -gcd:0,-6378030328941226919,0:6378030328941226919 -gcd:-6378030328941226919,0,0:6378030328941226919 -gcd:-6378030328941226919,0,=1:6378030328941226919 -gcd:-6378030328941226919,0,=2:6378030328941226919 -gcd:400327281633151431,37147489147345586,0:1 -gcd:28164658061513141691,818613450005821036296,0:3 -gcd:476291935913056166817,170589720180888384,0:3 -gcd:84130837655605609,16051948347568699941145,0:1 -gcd:438146043336536562159,-2206822496905640873917,0:1 -gcd:8120293725815373571,24028314574527126,0:1 -gcd:-667658265953408,8440015504605457600699,0:1 -gcd:53314441150262832895,283247085055963859,0:1 -gcd:6658153298145442,2140281300389057549,0:1 -gcd:213046498706732967,784948480361985741,0:3 -gcd:-3857522843819,419578526133778265155,0:1 -gcd:-4948941087660882967,-779517282262677550602,0:1 -gcd:4277076043224464,448010594023993,0:1 -gcd:-644113523059324254840,-71225587742718143,0:1 -gcd:264902435468141506,-823887292259809475,0:1 -gcd:1538706915662950684,448326823774496344436,0:4 -gcd:2036808313025110180,30422160628736748027,0:1 -gcd:7385426850078311,9871854919284839,0:1 -gcd:804644713550364054117828,8379163811459445,0:3 -gcd:981008037679996757191201,-641409668917881464,0:1 -gcd:64201713053871850,879119102660231895102,0:2 -gcd:1033957429367195,1113485105415049436,0:1 -gcd:14455075580451942850,-1885962875546302716,0:2 -gcd:2615475057635555327591,71606675442458157933637,0:1 -gcd:596676024530775,2621192750454214313695,0:5 -gcd:71665682789483848832034,351563529541544408090967,0:3 -gcd:5092055214749737510271,-1833800774226189505,0:1 -gcd:600508413963341945,5057063373752305154,0:1 -gcd:-92318043858914149,958444935645415778103,0:1 -gcd:385447683586530283,1775981280157037775814,0:1 -gcd:80717517906672139,362327909576030289130356,0:1 -gcd:31249856290116188,7875872084416640,0:4 -gcd:5339381130045070,-287550419156538713298378,0:2 -gcd:-28993892995370333046,698005135756870427,0:1 -gcd:9179674525723481348,81469928617693608886,0:2 -gcd:7522547789649675160016,285918417200326088447794,0:2 -gcd:-901774653467788803,236000195734098992,0:1 -gcd:142671415131788790,-2583777714764598301032762,0:6 -gcd:951078283105727024828,1487627587101952300275691,0:1 -gcd:19185476025869672486,2445736876347152429980675,0:11 -gcd:6741226163186521681303,2568160083399218078514720,0:1 -gcd:3987919571578399660412212,9884144363611069680876,0:4 -gcd:99431631881940059268,-291965406586754754564989,0:1 -gcd:36727416735327035,-1612205593089728906670,0:5 -gcd:19590774006340220367562,984968880458891391,0:1 -gcd:70695613219926859099201753,62591913993270611799645,0:1 -gcd:77425442645246583405,-296832015660977965,0:35 -gcd:807971872592227526408,40230405885131399744453603,0:1 -gcd:965370212546292322,92058451234918953535616,0:2 -gcd:418561885926860582,239657399821326936,0:2 -gcd:4657697584188823828175,78713797195009784682708,0:1 -gcd:-38091455008728662,5763777114003492300442812,0:2 -gcd:54943065861736600767,6268390929335695219433,0:1 -gcd:-697639190379957186138,2936028900796584636,0:6 -gcd:96018089280939789090187,29566309848085271814423786,0:1 -gcd:-1112368751522257152114,1995174854903534746993983,0:9 -gcd:-84342841213955171500540,5699084396809137598518,0:2 -gcd:225675029492277024520800,92998377812004114915728728,0:8 -gcd:7655269162163547244,594548791001649285,0:1 -gcd:17608380663675562604,264448308193844308642824889,0:1 -gcd:223093179893694063251643,17908241494426478956477995,0:3 -gcd:-9501451313199296478183,164266650410143061944307590,0:1 -gcd:4558730178677382262,3122005086984557462,0:2 -gcd:54440882483631228680923933,4478571958703194374379,0:7 -gcd:36855929355558415329723,308635436762628905,0:1 -gcd:28683868680975381560,42902583850929860163229,0:1 -gcd:24731088466679335541839144,81462858536522998396,0:4 -gcd:-72335534127835253275,-227166439208550011362,0:1 -gcd:474777034176054735892,839001319154604024448982,0:2 -gcd:6299666296143449904,797331145004636509,0:1 -gcd:8540885149755672764459236,41765710483565552588310,0:2 -gcd:385990739803366398,2963466700114736836981086,0:6 -gcd:-37246197932269024,3005402223074948482,0:2 -gcd:-751622018429096822596,3003864133422104297,0:1 -gcd:-6108319432277782804,-82931541043539126216389,0:1 -gcd:30921518942393713547539642,721143788088068568685,0:1 -gcd:570903751254308471830202651,-564896588437884119958,0:1 -gcd:1054271475454361570597270062,16484741384321323400,0:2 -gcd:6529831639822170310307759,85346429845722052312845786,0:1 -gcd:-754058902141939454006,69516695016006129145191,0:1 -gcd:976193241125104191848393,33823563038032982713854,0:1 -gcd:2920092456500658009757,8895875497550350532901302605,0:1 -gcd:9994369499844252132394601638,93334243646132127297454621,0:1 -gcd:569015432462996733746,16322837154963292812416483,0:1 -gcd:192500272569416024937360278,-235265435750733300361,0:1 -gcd:5267095375035104443898399000,-764192677627393558125306,0:2 -gcd:51025753118541843018,-1664207936338749988204,0:2 -gcd:-62402848465899883613105,12900108782353988220438351,0:1 -gcd:-8212641700259728565,297115088713153106682478,0:1 -gcd:-5313586393962705049080,-76998532453336088964044527295,0:5 -gcd:463290189242313601142817059,969769350842083604500926,0:7 -gcd:1917277332460964412252,-708614825339303498360550,0:6 -gcd:99562752968815530108,23844471852654970991199350,0:2 -gcd:3003923448532254675001,7732856831499478812681071,0:1 -gcd:5794073936773633607324540860,-76553654622431077040278132,0:4 -gcd:-644932980169883872037968349,42642515095105038480,0:1 -gcd:41892582203464757978762451494,68041907390182959305068217308,0:2 -gcd:-5550794996398648089925,-61773015425098686639107,0:1 -gcd:26506218374693057900,-167675112099207386871,0:1 -gcd:145568384864275126584,40072954892382195328941863291,0:1 -gcd:3161170925861501561771687,413220145707787390821,0:1 -gcd:723440854928237000349411,-71208223609049472714282072,0:27 -gcd:94994080481292730137,4307839512004666207932600136,0:1 -gcd:7821178378958515500742,3087104738440174209004586,0:2 -gcd:869891649236864909625695,991848579874131467931448097,0:1 -gcd:17628160996789341122894,299337591195948255548811,0:1 -gcd:99527056994641754235498057471,655773087035017085668857,0:3 -gcd:596721281791001887739,-328175786669349585798669238390,0:1 -gcd:266802917073126657350936,148259550527207353925931727,0:1 -gcd:297095531532857951877,8071469565512676957784213778,0:1 -gcd:-64574484904487858142015156737,351049851111701482889769,0:1 -gcd:9213606993296693767546,-974475310790221342435,0:1 -gcd:-6506246525097752180174,-95653949321972166356216836249,0:7 -gcd:7211807452760603826715508,25981532388511222064867790,0:2 -gcd:244358078258267292267766114,6788410077941126965241803849,0:1 -gcd:-84498071017578145227329893,51359077717175899950414794158,0:1 -gcd:315675121566194900458712010,607326754590110945679173086,0:2 -gcd:3336777364604897112789890,24326442512123908471776,0:2 -gcd:-631164366791648249399815693437,224085205047080377284686,0:1 -gcd:-9374071452933990971885163627,-8124264246742383054580586,0:1 -gcd:-8986611810629266612086889,39090932189616079255587,0:1 -gcd:131042125952122412011234961669,-603299752062616670818260436,0:1 -gcd:-5931135084197112120929525527383,817854717051260202081870677650,0:1 -gcd:37076034350171687718404493,6575825691817817445639700141386,0:3 -gcd:6586877468189252639017707825771,813151310907233772623665199797,0:1 -gcd:2933337084774328653741904208050,516673656644156545121601676651,0:1 -gcd:-9902991686684787357658450,173313993122814232472956,0:2 -gcd:9274522469490915283112908394363,44864081129175577116760112,0:1 -gcd:9608655195311416270604257657,65867528105907714734959487,0:1 -gcd:853239911600142024011098491,17829323361272785163230303,0:1 -gcd:23972081642808055559504902,-4501717580058722285684735,0:1 -gcd:5314236376598680151908105,3994830160691915764873,0:1 -gcd:4935319583093232012062136782,881389216056886912824752493825,0:1 -gcd:580231659494763900889556,96767644291944525456085901,0:1 -gcd:303622305001319462939309066150,-27984889540977885375442171280684,0:2 -gcd:8908131273613694428163643,418798812110676949375564324,0:1 -gcd:604960317372762640669451812,820482420778387317631260055,0:1 -gcd:3125355862613621420823337,52123353846012574000878521623,0:1 -gcd:35876668588605457895900,-237986271303986771473105323,0:1 -gcd:-43001262189486935668928474222321,75601013836677651900921245468148,0:1 -gcd:50360054222226284955381499,-7538629547593198554710875138,0:1 -gcd:16303655607623383537122,23252538460647040924816117157,0:1 -gcd:29876051059586965106021953,26235768232838079362376,0:1 -gcd:29623076251397963944271763623335,47441755805615786352682527,0:11 -gcd:9892811422980328964557595259,603482574014084208448431822759,0:3 -gcd:-2549498483308845928405350,2555383871703609992631017913548,0:2 -gcd:-935906971037827073384146870,879641356065373793312781,0:1 -gcd:19597038710644290533555897021,2985160892106475439715913026,0:1 -gcd:-5608937456930306694772980,836399586633606428927522624674,0:26 -gcd:7718522069758342120350478031,7389561033066750535580836572,0:1 -gcd:718875898101761373218778459,686314096776480574628984874102515,0:1 -gcd:1300200863593962819188902,525922101427424561614551608409976,0:2 -gcd:539220635752920237029329058,29487916769600117002583914582181,0:1 -gcd:5654437789656914341120143121414,6765853316633901505298664574837,0:7 -gcd:103114174998937498500059583,920095995082794389728025430890882,0:1 -gcd:29882936700790118228421849,-1860889369990333700884198092,0:3 -gcd:8909623809613954310018698,-462806578041198407432067106139,0:1 -gcd:7230230288816368650543810,22162946284655819337870476,0:2 -gcd:734442358589456361847988629,1647427465162259118128391711,0:1 -gcd:47616626651192848094181030316,2182277257935167463613810412,0:4 -gcd:294703827229370598691617,63046555168872062038888853,0:1 -gcd:-533653415261740333749397,-51216937243134223196656339350075,0:1 -gcd:784368839220787531616946253680351,39613735771181195550018240677,0:1 -gcd:5770744507580580048400572,231937913382367374762373686161,0:1 -gcd:388816489715059942531589642,82051838197217717225950877,0:1 -gcd:60241729629297025142644618709,85181464884435369517497693388632,0:1 -gcd:1560786485638020475934392460005620,8850527081981124295638445,0:5 -gcd:8296622334734688413856037840,-83875508267086319614619277276,0:4 -gcd:-45794179084517723375284971259238,-49063790774577780701852303,0:1 -gcd:1752071933321291709931075226933,57773126045256149501100162,0:1 -gcd:730668796977177255106481634556,938608337106204028806933670639254,0:2 -gcd:921730456287198291208119641693911,5458708493078803375257300,0:1 -gcd:213400535376420556914942871216081,4183995847570912793889135547893162,0:1 -gcd:32806047880829491896013320805772,753489056993475245589087354,0:2 -gcd:15218771998961411533589410518,23457061020403160442042221,0:1 -gcd:9046617676720978441798060,7479379807328977629621989162,0:14 -gcd:2219170169044655639393672927,-5391273013704097527490654785062,0:1 -gcd:277590531551034474232270111103,579362077865358674190909581933,0:11 -gcd:51422590325724235826789079575,2121952875387495603452158,0:1 -gcd:511034032165016743768820348,458982236103828060996895790272,0:4 -gcd:4440454508740215531301617636697,3258309525326637800581711028116821,0:1 -gcd:6330009746329830092300048092,-6167250670699283492360751201828007,0:1 -gcd:-9374602262965156933926707655416,-30595740075402425097079774283,0:1 -gcd:83645893910576549628700447097824,49931389572768584324081547829643,0:1 -gcd:8030747712125824227213267818544,63329417394086865663449328880556,0:4 -gcd:378845361147099357535431194,38180105668041356349238612217040,0:2 -gcd:25958762365949818177158173188075174,40582859445868015162861781,0:1 -gcd:95871031013239291309686124,64936572493882710890460913285902999,0:1 -gcd:455128054133718561191432952712,39088645380524987234419335395029,0:1 -gcd:1307047523348091088814812136,44132853285705545682051355847561,0:1 -gcd:1418285824252402530993393665755,636810955908181043849421782278,0:1 -gcd:3071172872783184341780369192882346,-58125204065109316437571977973,0:1 -gcd:56958148205198214736866933854,4922289245511311172745764679844,0:2 -gcd:4836813580368584281452577588,-5400032605107989894617874622172581,0:1 -gcd:493001845960066187429806680791,4028800209124423703294502145421185,0:1 -gcd:71197215106470682909632132625,70077573297929109151274279,0:1 -gcd:486722080146274783096432055886,505595939085965376271620470551,0:1 -gcd:-194536785271632924316130857883181,8276525052027013498990299177664024,0:1 -gcd:241211965193448971857220311,2710726738427327769580581757190,0:1 -gcd:667013805494915469984846976421,118549400818390788595763048,0:1 -gcd:507926799850267721181735296662204,67253859677995358015731931706714,0:2 -gcd:448088677681619431331494894631309,779948091351174817338856782981850,0:1 -gcd:187408370748924381155985806145,495794563709904959946586644094587256,0:1 -gcd:868633158815673181555237006,836615025635832190680248872,0:2 -gcd:945386362083356835627622353491,8230893874122803805176630038821,0:1 -gcd:5596932048341890824814087121,-2850793263280920843358756089,0:1 -gcd:92079468846004092188293849,65000203344267255501708018874742834,0:1 -gcd:284485059147524530505559245415623974,-52174853366891975161102679787418,0:2 -gcd:225019940499042054289943285,88057001889802818516938839002453179,0:1 -gcd:267625311635136684363577960127905,2364801628264216400078340665206601706,0:1 -gcd:-43414374537943144129863577734786164,-7033210862612719519352562332,0:4 -gcd:32883132771659855270849300682688,359989040176539024964573548207106,0:2 -gcd:8225754994306229461538669946760,79816684330375527507314556065816,0:8 -gcd:7425838080456254658426507595,-1772612320788255147892065709861,0:1 -gcd:1660461221569443640519526747903779,1120888096894032723781619067526671,0:1 -gcd:-11718764104457037189982579964973,581785925357694644406822708535571,0:7 -gcd:6811677000322905212875962023,8457366124986245338105030092893823455,0:1 -gcd:234277964462994083732538315234,60350281492645017737168270090,0:2 -gcd:4183588612759663468880479337,-629574038019737820951243554610835051,0:1 -gcd:2509727174403533842481294816277585179,366325095871570289922697736369296,0:1 -gcd:9652053493694317708921453500950,-91539642994112368354952933916454,0:2 -gcd:35148593969489612322148628595,-82585065708416968121031576511657,0:1 -gcd:2800741702103544119527140802733199,46761480207188283686223358035,0:3 -gcd:441336276433669766301405280032,2656936104993980830437872804,0:4 -gcd:19746122571650880858695931178058857,104545112367422664420669962306,0:1 -gcd:74432478600289091913597803372,1021411507303737809729230605483660893,0:1 -gcd:37218119790882940825047165121,-9786692593914842780007874460688,0:1 -gcd:68400175404962139133336849460667620753,8111497426974768586772111911266,0:13 -gcd:-36411507888779255237781266679960702586,288273015425729999064058691683,0:1 -gcd:-93804297004149089553676142929158,72597578405766612297542242292431,0:1 -gcd:-82026709713179475197473688526642531,5827788603588390535677091203646382966,0:1 -gcd:545760067487517393173385480028,42151112506666653978439280505,0:1 -gcd:-697412421088675986809554647004214,6926944054264140642234974161460,0:2 -gcd:57812799959867792819685059219,779735108345604313576941265627654,0:1 -gcd:1472311567166258003445083977221663144,83378953824849274359711951741465,0:9 -gcd:570337459673916278308389115966167469,6333660822968779197930730584647562275,0:47 -gcd:-388785693105293562593219349398,820248784628021659491960244881371621,0:1 -gcd:11679788667362042415563834445557578,-5819547639993570526822921884507,0:1 -gcd:-3982959591737356792197606403519482273,-333248358612381656382679653253,0:1 -gcd:17221610285774362123428353448280602,11458184790118982447972303969280231679,0:7 -gcd:772738633297996807166456840381926971,785759122171938805714543081571173360415,0:1 -gcd:125784145401376536208808801528812039333,452055550313139515567680226389953055,0:1 -gcd:32903571905950760393177782893378791,6631740924411766007832465757451477,0:1 -gcd:8742677352155721160009371273251,25083360125803108633092433384973055,0:1 -gcd:36273669132247708836176424212020,533102320793846929600697481505030771,0:1 -gcd:11965144674509690079804137520044857,9349045655011350274674885782216185552,0:1 -gcd:3321305668226664033356712162893,-403949753985171409898849824686029161,0:1 -gcd:7395363159337411027760652209127419265,44729331460301249556947662501414682,0:1 -gcd:871058047335719958990871843414,28094200616974302760918376942978068402,0:2 -gcd:7704699734056436938779166257084,546898541513497897846722209401,0:1 -gcd:950290435067652970604023856243611,4001208123591666075058892234775,0:1 -gcd:3119293215232541154035748455321571,808684220462127868482572087900610,0:3 -gcd:432360858532087298548744564083197299,240846574096518547683557847064319535,0:1 -gcd:-310788798729818682147559678302,-2172955391250831365155305151397888,0:2 -gcd:649283478652713472152371045373000641269,9179675498867400603641823155076,0:1 -gcd:79980532708199255123596245351024866045,35273005660545430889304120342364,0:1 -gcd:-83351007958684418946822288153831314277,-51634644710916030743119182132599855,0:43 -gcd:4992915740405389949821656927954249501,4523923119542484578579105473053048,0:21 -gcd:-801991401381703662108108758716412,1462655905419442096496214673085035312112,0:4 -gcd:679369055865583831572651301119431385801,6364653911974833953564963906049365,0:1 -gcd:32178714589413433072024739357148883,2182815001928827996341206621079833349525,0:19 -gcd:604754886257955637472038235002006997,75686581968330008368600832791867,0:11 -gcd:287068066584060661996114628597630371136,52011890293701406927883275870768865,0:1 -gcd:3979837024286745384581666788748758,7350136706945206821986896298939283,0:1 -gcd:7385865195603313817759905903511277,1520983986703891701713359953638,0:1 -gcd:764457193068206149728854992613,27858021258550102776458498820919,0:1 -gcd:-4155789385717252736363125208379519,513716864065732253356348104577569642,0:3 -gcd:97365354260983249124725672833811771,5020029690975786355406829440294084209626,0:1 -gcd:83139160308299020652846789174256754,3913486804605023733190361150860684,0:2 -gcd:-17691166446369130975076403772363811082668,94600134419678935394632555907142,0:2 -gcd:634823647473707443708903538054380,3956996255499668253479385484122050809317,0:1 -gcd:-3637804742599340390876015169076139565692,783241759542604459838225899706055858717,0:1 -gcd:585812248650822285457691267576462,21534520461947113931625020852108318,0:2 -gcd:11281432653044672416448534028211038025,711109480140515578563170257201359462,0:1 -gcd:676293649029453415159585825583394,97280549393475973449516311017466882903,0:1 -gcd:-60552656313655809329731693060696763524,493007935144068742422888317617165,0:1 -gcd:499127054152037037035927375386500,1203956412395744650060889503126393,0:1 -gcd:50094686288665713475507184834256049095574,-832478827433992238527275985275884802100,0:2 -gcd:3587136855297236649460183411772356035310,-712398604370738955166219235841134498742,0:2 -gcd:-8101551106022390770336067301182994,9185799272249263720169676176910186035467,0:1 -gcd:68680574795029722620883183609775450677,-84158462638889794851250260034014551972363,0:1 -gcd:155258118178686765062886673806448566,-6850017870177195667059084688029341396610,0:6 -gcd:285166743996114296479394289968524943,559627723033455856754700399288311,0:1 -gcd:97635198013817214038209538637709608537616,-43337611052093405089732573050042882425535,0:1 -gcd:2025635628106428290541842218677337,8363403252785996217814021695187802,0:1 -gcd:39403341320445818916772945982544618,-3081545887974055895915003777735743,0:1 -gcd:66538675039876745133366881210395320367369,385523580015310377616062750074359,0:1 -gcd:568797587304724025372575349953868,-809993079501337508688725757864677957,0:1 -gcd:87438670031005707662235517162074411507878,762858503307630620547057859718065131261504,0:2 -gcd:-135539991676075663249711183869449098,3187117064807540583340853903135708355720,0:2 -gcd:3623316226168035106420698863103708,281527696822113339094642926844583498510,0:2 -gcd:462743256592937700094228107961335,-6269566498572477078237555404177435,0:5 -gcd:-685484600842741055621576203380446857767,871551172534175305655069705808532,0:1 -gcd:220964518681325411201409247135357488007,-5641829172229111635876189209726787450,0:1 -gcd:302531333113895329527974519952510,186535245939488501803212618851457571589,0:1 -gcd:817537141270922830542026664184986,7821981713799768623509532856543951,0:3 -gcd:8468979244486855292413811013010058,-209488808243349961649691393540068,0:2 -gcd:879852422051274089521663230058530,49497155404087571445757965616479604,0:2 -gcd:21764922287301916637920770938954126,164044760066720848860497915166650797335,0:1 -gcd:59469732179854673335933541543666124,33859516881008254191737434099260638598,0:42 -gcd:5622782096444522942366700649751601671560,1818924766888381565955786591467033096941030,0:10 -gcd:-83658234598433632746857009684831849359505,-29016349811234824466750396183186748,0:1 -gcd:7054089120269602821498711515003074,4095832337673576318592596805192095781914,0:2 -gcd:990394898068553803695514279851854605418847,-7739084020331097221051527297005947155388,0:1 -gcd:54075935489906064661012070011939942732,7918292813066039667153314788962651008581,0:1 -gcd:8772115771437424285869834799732506658796,-932849018789404004804426567212331569,0:1 -gcd:-474373401937043543973615567508636867124,-23736477393422078122335330115520892673,0:1 -gcd:8436352086792195283692976718955932574,-24226347745891111460405966918193715809620,0:2 -gcd:814519302031186083731939523439915121,55324835095437197264275880684820442585,0:13 -gcd:-237764758709584162016066869681905512952347,27730963225107998869867496093972168,0:1 -gcd:7518474854158787395750001309747813,8381114315785290417935232114225100106214,0:1 -gcd:57926271609377407522025180011097851547,-460438760475654775684236043340437433561,0:1 -gcd:6638349918167655693810387712273716693403,55308325418124425819340246954531134649556,0:1 -gcd:-792096039638367514268257857215475476214,17985352918594429617981644232595132,0:2 -gcd:17523605051927467343416676052611136060682,32818776862511079287568864844380549,0:1 -gcd:435598204136143930685119666237820390,902306362378699323196514142749053448065695,0:5 -gcd:7246625600474134146152993995542881524104,84045078681310625106949990828070364497,0:1 -gcd:-787638361574460696958641849383712843152717,-98972482600264920015196417920239935812005,0:1 -gcd:82374608290966933640517911377351376793038534,3375365592517566879211534105358267232412929,0:1 -gcd:-65869507968457359071511077346860349916,233541308077986424091233056554170108328607,0:1 -gcd:434965647854018848199731601803786298508849,6881642201690537465635377223216241,0:1 -gcd:719612999193225374224745692059996056358,-315519530953816852193901984099603790510,0:2 -gcd:3371856558784507755414140667220962994794,-46940188151078159734582108552804551252391781,0:1 -gcd:4803433840417804894873156694592939602852,-72456645795090954873268375616538340122311,0:1 -gcd:48568835567133010333265540506612310476167,-10706367926604784868082114989212135746648832,0:1 -gcd:-640514959144433868933444881224466486263623,495227035072426375802319189512972514543836,0:1 -gcd:-6488859550432975345382980598094012298,1739553070312394609661279054142037504040,0:2 -gcd:62439762329215278757554454849955204768025718,79602289985731119990152260854511851,0:1 -gcd:6054057220822234921996955072468282902047103,-41461621564455176604944655360416823,0:1 -gcd:41593335543156355768394832800525873230,751910447000975730197547607815241920,0:110 -gcd:994454253731718339598418586069934146007,674502407982587721309172287657440910774,0:1 -gcd:467599304203676521904495847137440151064429,1065364075426775111107441639016359411726,0:1 -gcd:-50006834540638623993722097585899096403763,-5313099491095445109561808031972399857647,0:1 -gcd:80633786527554906657368596063180401716797,60423064130048311342811193512905633441,0:1 -gcd:7515721962363288712694440724080300383839,847957688242291310060264069657345589412622,0:1 -gcd:27726212382161724111674518621229053817654,844465139764626291093420179330707907,0:1 -gcd:-9817131728229141224738800156068771165515,5514447437310670168515402768125807553,0:7 -gcd:1101490427405231724327190816394483390794764,-1715150116840413365727028822839059671039358,0:2 -gcd:8714614705512806124985108394035361802445153,2277516152797095323407597912040972562623326,0:1 -gcd:-40241069975197162607015133362864260639182295,92350494843755720369837991386076354459722485,0:5 -gcd:94926798565178929705057494111757110129555,654944641739167114202854904453615515658738188,0:1 -gcd:265280847975099333384365084677641815670787,79159871617113409657206914064640126799879245,0:1 -gcd:116347226264838928071222153238640922289035,68573180747149861177662470447052670907671443,0:3 -gcd:1040609825768545533315151293676302487896884,-81323728160947963681253577857302080515,0:1 -gcd:995902591817252306534602024050315471330353754,5332558356879676808399004303967153306,0:2 -gcd:2001969035383918099033090062929650143669765948,4190101466247488888803682714062857957220,0:4 -gcd:520711239532941932960582838954921846930386522,-3853096594619017503346777573808512971,0:1 -gcd:60199373689261241651972446393273631317362,4966864098864732001544113870901038040,0:2 -gcd:945149245494027792287917914515672725163081263,8902933189066222709145663761457459365794,0:1 -gcd:42113632082774519107063284261972952560637120,550965713086089226514793739995356299364345,0:5 -gcd:699130208513509445029837360613055447835,1388996167624703080432361535173321299212301763,0:1 -gcd:2708864861499120155181972404884433662661130826,-9669434874243213781569557549324652869447,0:1 -gcd:-2663320619224926510783240759799877830,-9288856838720796348912703146202293649985994,0:2 -gcd:129339208558322679510730678747389994722,12274162664070343010820636150243461714,0:2 -gcd:7927826382521640149002540477963715500150746,169024688202278131082480706237325364215068990,0:6 -gcd:136906526225769628858637915191370345692692,539213183682016621647404279498623014328141,0:1 -gcd:30681142365936990868501835461428152495,-5027491490146180677917496407674117704,0:1 -gcd:-971981137022757867271162004648718096950546,4334305792750860480761829171455584581712,0:2 -gcd:578802014801938809246604894083179003839,4755521418153118560811649969223227339815203,0:1 -gcd:-85637729865865539531457719920611651870241486,974400175977421869121902925057819107693817,0:1 -gcd:-168964790731095355351979412256338118430524648,170138331609580398941494555432555720911428772,0:4 -gcd:790938498909251314495722876378080005340582079,5214770204816378474402582970231763702140978,0:3 -gcd:3097935765451813281781983641770574025792276,42609404056306319259222360596281494320705429231,0:1 -gcd:-98485087154927525975034391790808080098982,19775664577849930783360381707025488283978,0:2 -gcd:25900464334299058097279910365875929228,58255952834922520501042331752256379575,0:1 -gcd:79400185595521899110261406600117591081721314118,201740226840130845073877991057259510967,0:1 -gcd:981167299738316185980724229187020822277,8133607419206585086507618470282084549435045911,0:1 -gcd:81466412463591236560961446462245299836549126707,866192944729287017177690246604876328497,0:3 -gcd:6534998388738554052417315288897046254899165842,46609611771478693989087838979597248775,0:1 -gcd:948084924179221265735435784532032916982,31095014697784883179376411641933005719333,0:1 -gcd:2750322192684776089555518232723747026,16282797711115835147148988819960931175880625768,0:2 -gcd:-916832268194684002726682872945582785046,80175456371164380904577325966825746198033406059,0:1 -gcd:282231592138255672195189656428026230056,96673996679717919403145753072968455552546,0:2 -gcd:550580097204590201609373226827993784219420731,60517713169991893657707958780297059239491,0:1 -gcd:31526794192792048622410273704705620482050682,70537996848502378104686898733501905256490,0:2 -gcd:-923613180033278870451470473112995033306843225,62635452857298067541908563173475507759656054707,0:1 -gcd:469196843768624413897755875308788890398465291232,-15296277161521766221056511754171865009042943213,0:1 -gcd:2628065716223500508449356215564412668664236,713708318009199991674271791693482010536664884,0:4 -gcd:604553604369312265623368647573085123221252020,990982890678004704551740474471789043760433700479,0:1 -gcd:97586462652371414650265963064033775148721243,969409880443270812997088798402379069080662,0:1 -gcd:-765406874969209688613302257358735487317,687488505077706911028822098735771705823765697808,0:1 -gcd:85075624707999635862443444914978287825359,778046486301986342411165862027907781749497,0:1 -gcd:8227248806783006644129224253415431417213104067,-96883503079217553138854609209329008354340832050,0:1 -gcd:5027554007771258456873599804445876368468,9124875242153734630106913217321584664013715,0:1 -gcd:39245745484403729199058188063461104557810253,220067769421357576954105356315871937975114,0:1 -gcd:12265626358518464602956912462337886264411404165,-62808539324142868756473505816723401975937,0:1 -gcd:-12272356051659726939876917766506363796290,17656166644036956054896242696928896080969790493,0:1 -gcd:637223594292638303876168193085997138882431056,94504571343119776477559774058446419793557358444,0:4 -gcd:5571012420064356266635359647247635200655740,-21295217227115690481188602248443089551209070396,0:4 -gcd:5263843748978600609740419748581371970418448276216,5384845751134428162699702180820131424931650492254,0:2 -gcd:886573921242233631853410597832339291851986573,91564665302299543163193474542608720062467,0:1 -gcd:26539751625701457124278640373644598585396,2325338527842485879693477585982320189921160388553,0:1 -gcd:353508003643539157483752498296868928280378,10742495675871104458509832622060247315860,0:2 -gcd:-4734613561112436559828705330418786656799216681,5767402184612349878575526105980302509419976764,0:1 -gcd:82083010698635736174070971617820650592649198695,632174562080517027772509374721051956918078145045,0:15 -gcd:6173991144338684494350090118957116722781373,-738485502817232028305101940854863776286515,0:1 -gcd:-493513047233893983448577482415236886372545860,510358065314512191744416886029069217313650,0:90 -gcd:326654054139623246358073868314669601484091,-749350879522921841553744544029160051092161118734,0:1 -gcd:1402621524995633967650615579165227953957890517212,-4307813373241246419295301377872133252586,0:2 -gcd:429404746005804957738561594094664667352987,378882853314853204091011966904771925997210303,0:1 -gcd:332341701384724523211310134953299492552149033413,851224516641538736779656410258860743437969813415,0:1 -gcd:8093542646198882950722808884458624246299608906958,-36537804019444103265563497755234936603188804846,0:2 -gcd:22659814113479956892126670971189905912120035824,-7769923990496178313173088170032841760727,0:1 -gcd:-66431972193306385702365512934093484764859082,36581996652652744665199423002405565247156,0:14 -gcd:-888473800362239868616054745127669042022317,142999759078860850560633007783677610020527766,0:3 -gcd:5971942663513046812876552589351160577576206860,5155119487765712370432570496238254289228130147,0:1 -gcd:36328343589972083920724771391132711614346,626466814451530915421088090957480792070888316,0:22 -gcd:5293116409600323220539205506696278195160522774280,-89478075685508708042860880549625934136374,0:2 -gcd:79576614103508536656978289576589750212587261,852468870734033057111244131505440601392558836846,0:1 -gcd:8225066772418695359596812838151452668642167,32895491347247919323385073727832554930053,0:1 -gcd:6163942593967174125699747500635651388266851958125,35785148285967657728202559017385960485415693874,0:1 -gcd:2768453763718344802615194690925869147682838954,295289393573622382700104229276698254424111309,0:1 -gcd:543530772918490900335995207569824317804903920459,3816523263571207729432080444412751436592123632,0:1 -gcd:1092477340633785505464776554395206472561372312061,-80145274095041381989361699268630409045305877,0:1 -gcd:5221300639042222043517187865188827094681806,28716457589092549537459686031371792838180039728,0:6 -gcd:-468871256127286679587501070578429844680401783,7709908112767006788780052051800778651016113933,0:1 -gcd:60187668034435065431875732180204005950423,6575730301760601160210842777500398231559661,0:1 -gcd:85750547893356514086330287277441673045104762,79743140579005364490235586620393656130064,0:2 -gcd:4548581293372942515724176487253593549214930,4238661184062900689214356649238748109095650,0:10 -gcd:870890539340345883811990618518239041519315472381,-326492148393756245001717974027772662339968,0:1 -gcd:66987553698256227716875714961629477167428173612,90975165679807773385648454136069587671757554212,0:4 -gcd:55214217278725852504312036656428464058159216571,-38639629611220548541845337991516346077285504,0:1 -gcd:891217139364757949280558543150622433360536923866,30525879876993440244467275213072433106397646327,0:1 -gcd:-27569366446500582408824975793718887457276922405388,634666021153562229559368735956062829411322343,0:7 -gcd:502864235446447920785714797929749621810588808385,-661761137717295415776353819805381820532626437501375,0:5 -gcd:846540274257645306570757431119674434472851673,8616613565185012233547219046445322085886975,0:1 -gcd:-3309007371119113533010968742743901666008447,-54456422219293958622124113256532150483182055,0:1 -gcd:3808438337556464123872249539607274641406985997532,8958313515020597801994910602927304472155060964765,0:1 -gcd:3966980856734279836284487724100931405197679196,7991199588345191911654938564028578389298180118364,0:4 -gcd:65639444382189527381103754239686068124303248439,57344187472963481946737524023690750337279473205806,0:1 -gcd:415167227201847402226579925485934896345892,586575228633844519664975226407615633553394085108,0:4 -gcd:61619333876398280418219395631027787927517659829394,919912829682211281138193507951318719985265,0:1 -gcd:-868753784405826481862596863379498777711457154096,545880080147628730834302628389405153791727839,0:1 -gcd:9429941770445780812848883836626433106364646270218,13789105660912116612159357433833332620650429,0:1 -gcd:43608475425036256086742701999180132009804867174088,26543470249142438881834938827109299420258184885237,0:1 -gcd:57684506610503798187871631196324475714333617510881,471695506003883133237678946411955700467360,0:1 -gcd:45545031179301366913301053296868047362176530184,-91968879037454375774626628433933013352182139387,0:1 -gcd:-390021533721654785753654976920878586915091,77031076759836910371783959035306703983828680,0:3 -gcd:423541795082126371645621560317104281087986536944,8300998559716429411460238557591751288655280830676799,0:3 -gcd:-22004254439719621882091733525180851819037175217519,99335356922776842325949741933027888097618837,0:1 -gcd:-568617824838411255064542027229734991599889058339286,663945656360600870466864889023341282183894393751666,0:18 -gcd:79416546968775553905606945911160893343240489,57823044209535496953371020115352329847370545,0:9 -gcd:944931014689390846530685010237152128723129879051,9132010491010578008428313272813386452749469110941235,0:1 -gcd:10724730362623743957337791385603755532922863,72480373654893123070601266938859686093303005387292,0:1 -gcd:7713352208339235603081099644445084271357860,603624463205826416829628929324533190899935786563381,0:3 -gcd:-374652992235609318781751374140306949494493761487551,-8211631925711097443824357620157273567158306960781,0:1 -gcd:148033237001979427358794216800322662159772216729882,-2761071692676096788505988250569937615812882,0:2 -gcd:8799836897423935827052239970797993642793054321869,7294647877437509677171255169879966954414823484,0:1 -gcd:638050122120135743843926357476168630346968836720976,-521011870575614667006902791543319211035082259559038,0:2 -gcd:-17589569754541719055752617853886490778777621596833622,-757763302557856615098419826290170728613135917189,0:1 -gcd:-9391500830250456597029446286855934735787373415653,28432489383197015180933073382445953529667174,0:1 -gcd:597671128380217947385553643776956963479914986403,71727950226724858021016384499343090206442916,0:1 -gcd:220524861586728547654066186650842017022514113,99830670175055229565653522851124444573641171168883370,0:1 -gcd:-19711747183549435340491469077888147043386014913558,-1141914280129478236596364286858351511269528735,0:1 -gcd:-8382072953685010521572064715326232892979307367,8986558828596332338706049003428573784660004270,0:1 -gcd:8502152308582607794375019565844324676023491104593,10470050208175536662422671560468368371690332,0:1 -gcd:594601725521916181847167140525593251441576703983,963458725567603941710493681498226412426881800,0:1 -gcd:7141961266638507042734562322157608790427840009,-4549724799885066646710284284349071123364728193387,0:1 -gcd:-556279059738139499395948604306347001411150129841210,96265906951839620646630096006130967227739083772932,0:2 -gcd:9097507009232650355633416767082868346314279788737,-12952310876092402836370081770801404571317963729609,0:1 -gcd:4268792759888467657870170840963084681877952381149,45230992824683770972952637110379461673717665076497477,0:1 -gcd:-14981624589272129153412283534256311120144659052,-3422881033749335138988900898217088225431538419464,0:4 -gcd:1220927142068793741881867214403185329458765760024,30622524744504892825380221509502752145574896,0:8 -gcd:37912807996403481194979034824173466165481184382714959,-90878397829297201187948170371749592240094934625,0:1 -gcd:11421510093950565340830017403217629128966938056,2237414009357389011349863244579333296452235392013656,0:8 -gcd:192657988036570687555057992620686662908295387946910176,931495134488306662235768448970442482109561110,0:2 -gcd:3406199971289940059753501832956133340637816361746774,21717729758322757474808809344766892648120530501033,0:1 -gcd:6909979467876024377878180024452018966109074368033,842722308262405734840545048662350517397572773044955,0:1 -gcd:373077837411940479742523640303846004174658252010,174968689985940718533112057941120724001834591,0:1 -gcd:69447921082122879577796325457481062492384026062297,4859735149388070292660864796695584862286590039960,0:1 -gcd:97668956744134573191931364533568770116368809990432277,32650097939706033583832290610502297382443475332059,0:67 -gcd:-1130623853521736649164698623052358825973875071086,97117938880122601762963490311393663414262844,0:6 -gcd:5196766948376722446473792182397797566282488000645,612809465745222737408369151997835003504928829,0:1 -gcd:-260800009832764286426719551521843883719112476,-4764630548313512861236355180550436291099515479440,0:4 -gcd:446884272848375074930942162217302913946161786743256,21042882325490620038960351129083746002919260315816,0:8 -gcd:951599922613172445123982155673072679115439437787116,170174123089259663169419228763721448308107859122519941,0:1 -gcd:21383950451514823653827321489681070470148156716394,474049024111864801681311013604155672359293053819708610,0:2 -gcd:-470414357544256461922663993336752968654129573423633,9062081906619161788388889503790336651084511675587,0:1 -gcd:780091812513073375693179028189802313142318232500,3497278556984926411479728842600230671778387696053,0:1 -gcd:-1625948018138433921639232759767284243608022009577,842118879046315463699452834842435152085239651627,0:1 -gcd:25026283351500865895404594716390919370787136725638,193605742569640932386538365909397399503766353419,0:1 -gcd:4935030558829975380051283297334807636335988292915939464,826975811338155401386754284486847375740824437795565,0:1 -gcd:692976306506130156561485116659173381923120836885557,770158528298664593632506223863839610768381103479684,0:7 -gcd:79877139216893064041018839082816187503862428735,7269106113282857654532427145534479409503583394410641,0:1 -gcd:2539745404867281753796678186777103230989134057269,1232562503892732555700624680547460824244298064,0:1 -gcd:-12342369542383197426854745694214905543911988477283,900468407001638487525579769577535461149066925224901,0:1 -gcd:25508383419230789798346692675791795579961116333703,-3196912743165527117167038251788165837584914845275,0:1 -gcd:-1299528036083269250543034346520127753461072609198859,600594652353551219594047525595273354045086799190,0:3 -gcd:2299157394917175882710807816574923359426328448491205413,-72838172890838078649390158065336999589794176457016,0:1 -gcd:-7349901043851956691882158234459042155688766310737050452,38963935506607940884321914070762438994955796523516,0:4 -gcd:958387014018743982544025716556283287504010616036,1443504353635051762579994152447131178181054158,0:2 -gcd:246125390054194220242986809766512103907648232140291,244701030143825150512131468437935457382757506654,0:1 -gcd:-704660850546084071765145007935951186831012905395382833,5588984198927622386999113229239134076765551765835797488,0:1 -gcd:50682657377075501007405908966255159073041913889268,-221227972486061875975200412557047324616212536548,0:4 -gcd:-65153936048938235385603864221810574284616709045012408,2620409042204728497893539911547700871421142555353,0:1 -gcd:2124140486540339235997181873057458560557130144031198,6337118390151757487365380009696068490770095523526655,0:1 -gcd:70505951289040282645383932312380844925860919298,7547000534925894125969206219651626162975048702546706065,0:1 -gcd:-41539404414450841529694974131865311088044938789,-87120273993379326877611820290578462959192080166852098,0:3 -gcd:8365100924146743906263010309561180555381451232169,64464903694507870558459227754837948332608708108908133757,0:3 -gcd:-607028381550248615720149092346152462853976790359415563,-638047705393414341349283089715056902457142563666819,0:1 -gcd:9617834842433276206013447576300042077483363020815285,528061422615472570377974310003284316297281680382590494,0:11 -gcd:86576571095874523146332767288469633576872568596,28806568894922815646464384363885717260300665904363145435,0:1 -gcd:307009198563449723583109556832166934014223122475324,138726608616028283757694379054230076836833023549,0:1 -gcd:950446831200123302940271854492691726825599408858,-72101792770002156123347099210449392040964040896942,0:2 -gcd:981208671446974342191660850214776536471793694644642,42331603864003005956059961823201488180622810810249336717,0:1 -gcd:436034751789860072246023599184144455891992330310990,72833959249163120346712529298424162613591559886645,0:5 -gcd:90712859511805773491925085535825623597765615019643547,-747515802065477997196092836504038150570958532540685162,0:1 -gcd:397399782669545823592934194763075791833495372998,-59196779886291303828419299835113054892183602687860135035,0:1 -gcd:32400956990211215478801690694170683149459902468,-4583955972534683626923454093368608704790928252299,0:1 -gcd:987205647053507741802554416690401353287928887038,99876648283232575129630115679242229378848334523759990898,0:14 -gcd:613843278686603793281546390730144010908586402122774247,-5096436233192165525303465082471737429087562092805456864,0:1 -gcd:-976952961430926103170472845979881570029763109667,935178486322270132160329332160301439376977149568344208099,0:1 -gcd:-14766907052440196735362466027665124699631240785562617,56185497908476101017098165076418921931361374576783903,0:1 -gcd:8086945629611784458016532027184114429962417844094,915144274243273504802165174453120299631299876477769004475,0:1 -gcd:78088762763327100616786616097147636046671948600444,567540241084477255158834032762283528860020033647985833,0:3 -gcd:719986964333569855824423695658491299542433105292,-615276910378191482694097418592439439457014608822814,0:2 -gcd:45518095176552517046254533808850801860612235127698055,35562211507032265793347677842985571735031362689772443740,0:5 -gcd:9347651927739244225461883666785850681796998039204,-49878021756813856103391637115956958358002286487531,0:13 -gcd:-918018144578664428004161449615771398954961013294489,-670699097650597095681408528960639081653596263477957,0:1 -gcd:27390700201762535100035783959539579449610388231,-1589447744597072139866306928627083981945967837919031841,0:1 -gcd:2277199840598187516900058221233481999025368188568,9608219845154413235861538421470991851896216584568613,0:3 -gcd:-384224188940171310851587214747099156035618205974037811,-365155157346205326208918238248019306559191342503,0:1 -gcd:286446854858822908871115682474835177238732522628,-57158496101544373650727927690968913495792599007869,0:1 -gcd:-381089856197823678538852020226946248080829424869589,-3010621081997078653311455126099557341287585438919,0:1 -gcd:116824003493453841699155925492342665434851317689062,-23510392931055495213857939210838689217666922526899551035,0:1 -gcd:580076669302513896163920831671903321718154827187111,57642903862300589084685292813271561699366462736142,0:1 -gcd:5760449410973032312996903274730533429280588604119,54924391723347076414566698417788233810196808558058264,0:9 -gcd:5657781195595763129830083459999757852112323789572340704,692061618840647789470644193517118113508111433346167161307,0:1 -gcd:-411686824144764716061907353842274549877341843077020461,64596348790121485579427789661619008385819947602752810318,0:1 -gcd:632256394728894097701649213009572878755743290206395156077,831219707790000649838963373434914934485492976701321111,0:1 -gcd:1670481530219772906326138470230000469885289884882422,468290338328174403769157221534943442214405575737600,0:2 -gcd:-5940255960924729598832299636442321100271324046668226,57672031765846684220194592702663453624777841860734299817,0:1 -gcd:1070320750308710183653165839089007570013512879851785,1457798154372592051774290334996812066679847800239,0:1 -gcd:4878833860261622243309660185570248437064542060170266009303,2713399212910344466363698742990679778889654409261764714,0:1 -gcd:-153727669883775746511963322850970227020812560900211022,967696702028565741720227898697068313091723784217356354,0:14 -gcd:-540592613733911579302709730020084890208422708295834255759,1487237786400760689794761062671094249214728767786149324317,0:1 -gcd:6147134348286513705872901614503400707429078163757093529,477008107151085089956583728568535862114663515203848020888,0:13 -gcd:7614680849639684551334463800131196276563566036683927,25187069984138015151555984154271413618496480687947851,0:1 -gcd:34751974072174908316243318351151710272413759348773,8306602488518142539700335965542308143538343391985,0:1 diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/.gitignore b/polly/lib/External/isl/imath/tests/gmp-compat-test/.gitignore deleted file mode 100644 index 64a46a937a9..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.o -*.so -*.pyc -#for now... -test.list -gmp_test.c -imath_test.c -wrappers.py -*.tests -_T* diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/README b/polly/lib/External/isl/imath/tests/gmp-compat-test/README deleted file mode 100644 index b03282517c0..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/README +++ /dev/null @@ -1,106 +0,0 @@ -Overview -================================================== -This directory contains a random test generator for the gmp -compatibility layer of imath. The tests cases are randomly generated -and run with both gmp and imath. The results are compared and any -mismatching results are flagged as failures. - -You should not see any failures when running these tests. - -Requirements -================================================== -These tests use the python ffi to run the imath and gmp functions. To -run these tests you will need the following items - - * libimath.so - * python 3 - * gmp library and header files - - -Running -================================================== -All the tests cases will be generated and run automatically by the -makefile. First, make sure you have built libimath.so in the top level -imath directory. - -Use the following command to generate and run the tests - - $ make TESTS=random.tests - -This should generate all the needed wrapper files along with the -randomized unit tests. By default the unit tests are output to the -random.tests file. The tests can be run by hand using the following -command line - - $ ./runtest random.tests - -You can also write your own unit tests and run them by passing the -file name to the runtest script. - - -Testing Methodology -================================================== -The goal of our testing is to ensure that we are compatible with the -gmp api. To test our compatibility layer we generate inputs for each -gmp api that we wrap and then call the gmp version of the api and -compare the results to the imath version. The results should be -identical. Any output mismatch is considered an error. - - -Testcase Generation --------------------- -The test data generation is inspired by the QuickCheck testing -methodolgy. We want to test both random data and important values such -as 0,1,-1, etc. We generate input data based on the type of the input -parameter. Most apis take either an mpz_t or a signed/unsigned long. - -For each parameter of the given type we generate the following values: - - mpz_t: 0,1,-1, all min/max values, all min/max values +/- 1 - small numbers: 1-4 digits - medium numbers: 5-20 digits - large numbers: 20-100 digits - long : 0,1,-1 short,int,long min/max values - random long values - unsigned long: 0,1,-1, unsigned short, unsigned int, unsigned long min/max values - random unsigned long values - -The generated data for each paramater is combined to produce a series -of inputs to the function. The input data format looks like: - -mpz_add|0,1,2 - -Which represents the call mpz_add(0, 1, 2). Additional test cases can be written by hand. - -Test Structure --------------------- -The tests are run using the python ffi (the ctypes module). We have a -single description of each api that is used to generate the following: - - * intput data - * c function wrapper to call the libgmp or libimath function - * python wrapper to call both libgmp and libimath wrappers and compare results - -The test_gmp.so and test_imath.so libraries are loaded at runtime by -the python runner scrip and used to run each test input and compare -the results. - -The code generation pattern looks something like this: - -genctest.py ~~generates~~> gmp_test.c <--includes-- gmp_custom_test.c -gmp_test.c ~~generates~~> gmp_tests.so <--links-- libgmp.so -genpytest.py ~~generates~~> wrappers.py <--calls-- gmp_test.so -gmp_test.so --loads--> runtest.py <--includes-- wrappers.py - ^ - | - reads - | -gendata.py ~~generates~~> random.tests - -Adding tests for new APIs -================================================== -New apis can be tested by modifying the gmpapy.py file. This file -contains a list of all apis that will be tested. Adding an api to the -apis list will cause code and input data to be generated for that api. -Rerunning make will generate the test data and code to run the test. - diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/genctest.py b/polly/lib/External/isl/imath/tests/gmp-compat-test/genctest.py deleted file mode 100755 index 67c140e2a21..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/genctest.py +++ /dev/null @@ -1,266 +0,0 @@ -#!/usr/bin/env python3 -import sys -import gmpapi -from gmpapi import void -from gmpapi import ilong -from gmpapi import iint -from gmpapi import ulong -from gmpapi import mpz_t -from gmpapi import size_t -from gmpapi import charp -from gmpapi import mpq_t - -class APITest: - def __init__(self, gmpapi): - self.api = gmpapi - - def test_prefix(self): - return "test" - - def test_param_name(self, ty, i): - if ty == mpz_t: - pname = "p_zs" - elif ty == ilong: - pname = "p_si" - elif ty == ulong: - pname = "p_ui" - elif ty == iint: - pname = "p_i" - elif ty == charp: - pname = "p_cs" - elif ty == mpq_t: - pname = "p_qs" - else: - raise RuntimeError("Unknown param type: "+str(ty)) - return pname + str(i) - - def test_param_type(self, ty): - if ty == mpz_t or ty == mpq_t: - pty_name = "char *" - else: - pty_name = str(ty) - return pty_name - - def test_var_name(self, ty, i): - if ty == mpz_t: - vname = "v_z" - elif ty == ilong: - vname = "v_si" - elif ty == ulong: - vname = "v_ui" - elif ty == iint: - vname = "v_i" - elif ty == size_t: - vname = "v_st" - elif ty == charp: - vname = "v_cs" - elif ty == mpq_t: - vname = "v_q" - else: - raise RuntimeError("Unknown param type: "+str(ty)) - return vname + str(i) - - def test_var_type(self, ty): - if ty == mpz_t: - return self.mpz_type() - elif ty == mpq_t: - return self.mpq_type() - else: - return str(ty) - - def init_var_from_param(self, ty, var, param): - code = "\t" - if ty == mpz_t or ty == mpq_t: - code += self.api_call_prefix(ty)+"init("+var+");\n\t" - code += self.api_call_prefix(ty)+"set_str("+",".join([var,param,"10"])+")" - if ty == mpq_t: - code += ";\n\t" - code += self.api_call_prefix(ty)+"canonicalize("+var+")" - else: - code += var + "=" + param - return code - - def init_vars_from_params(self): - code = "" - for (i,p) in enumerate(self.api.params): - param = self.test_param_name(p, i) - code += "\t" - code += self.test_var_type(p) + " " - var = self.test_var_name(p, i) - code += var + ";\n" - code += self.init_var_from_param(p, var, param) + ";\n\n" - return code - - def make_api_call(self): - bare_name = self.api.name.replace("mpz_", "", 1).replace("mpq_", "", 1) - call_params = [self.test_var_name(p,i) for (i,p) in enumerate(self.api.params)] - ret = "\t" - ret_ty = self.api.ret_ty - if ret_ty != void: - ret += self.test_var_type(ret_ty)+" "+self.test_var_name(ret_ty, "_ret") + " = " - # call mpq or mpz function - if self.api.name.startswith("mpz_"): - prefix = self.api_call_prefix(mpz_t) - else: - prefix = self.api_call_prefix(mpq_t) - return ret + prefix + bare_name + "(" + ",".join(call_params) + ");\n" - - def normalize_cmp(self, ty): - cmpval = self.test_var_name(ty, "_ret") - code = "" - code += """ - if ({var} > 0) - {var} = 1; - else if ({var} < 0) - {var} = -1;\n\t -""".format(var=cmpval) - return code - - def extract_result(self, ty, pos): - code = "" - if ty == mpz_t or ty == mpq_t: - var = self.test_var_name(ty, pos) - code += self.api_call_prefix(ty) + "get_str(out+offset, 10,"+var+");\n" - code += "\toffset = offset + strlen(out); " - code += "out[offset] = ' '; out[offset+1] = 0; offset += 1;" - else: - assert pos == -1, "expected a return value, not a param value" - if ty == ilong: - var = self.test_var_name(ty, "_ret") - code += 'offset = sprintf(out+offset, " %ld ", '+var+');' - elif ty == ulong: - var = self.test_var_name(ty, "_ret") - code += 'offset = sprintf(out+offset, " %lu ", '+var+');' - elif ty == iint: - var = self.test_var_name(ty, "_ret") - code += 'offset = sprintf(out+offset, " %d ", '+var+');' - elif ty == size_t: - var = self.test_var_name(ty, "_ret") - code += 'offset = sprintf(out+offset, " %zu ", '+var+');' - elif ty == charp: - var = self.test_var_name(ty, "_ret") - code += 'offset = sprintf(out+offset, " %s ", '+var+');' - else: - raise RuntimeError("Unknown param type: "+str(ty)) - return code - - def extract_results(self): - ret_ty = self.api.ret_ty - code = "\tint offset = 0;\n\t" - - # normalize cmp return values - if ret_ty == iint and "cmp" in self.api.name: - code += self.normalize_cmp(ret_ty) - - # call canonicalize for mpq_set_ui - if self.api.name == "mpq_set_ui": - code += self.api_call_prefix(mpq_t) + "canonicalize("+self.test_var_name(mpq_t, 0)+");\n\t" - - # get return value - if ret_ty != void: - code += self.extract_result(ret_ty, -1) + "\n" - - # get out param values - for pos in self.api.out_params: - code += "\t" - code += self.extract_result(self.api.params[pos], pos) + "\n" - - return code + "\n" - - def clear_local_vars(self): - code = "" - for (i,p) in enumerate(self.api.params): - if p == mpz_t or p == mpq_t: - var = self.test_var_name(p, i) - code += "\t"+self.api_call_prefix(p)+"clear("+var+");\n" - return code - - def print_test_code(self, outf): - api = self.api - params = [self.test_param_type(p)+" "+self.test_param_name(p, i) for (i, p) in enumerate(api.params)] - code = "void {}_{}(char *out, {})".format(self.test_prefix(), api.name, ", ".join(params)) - code += "{\n" - code += self.init_vars_from_params() - code += self.make_api_call() - code += self.extract_results() - code += self.clear_local_vars() - code += "}\n" - outf.write(code) - outf.write("\n") - -class GMPTest(APITest): - def __init__(self, gmpapi): - super().__init__(gmpapi) - - def api_call_prefix(self, kind): - if kind == mpz_t: - return "mpz_" - elif kind == mpq_t: - return "mpq_" - else: - raise RuntimeError("Unknown call kind: "+str(kind)) - - def mpz_type(self): - return "mpz_t" - - def mpq_type(self): - return "mpq_t" - -class ImathTest(APITest): - def __init__(self, gmpapi): - super().__init__(gmpapi) - - def api_call_prefix(self, kind): - if kind == mpz_t: - return "impz_" - elif kind == mpq_t: - return "impq_" - else: - raise RuntimeError("Unknown call kind: "+str(kind)) - - def mpz_type(self): - return "impz_t" - - def mpq_type(self): - return "impq_t" - -def print_gmp_header(outf): - code = "" - code += "#include <gmp.h>\n" - code += "#include <stdio.h>\n" - code += "#include <string.h>\n" - code += '#include "gmp_custom_test.c"\n' - outf.write(code) - -def print_imath_header(outf): - code = "" - code += "#include <gmp_compat.h>\n" - code += "#include <stdio.h>\n" - code += "#include <string.h>\n" - code += "typedef mpz_t impz_t[1];\n" - code += "typedef mpq_t impq_t[1];\n" - code += '#include "imath_custom_test.c"\n' - outf.write(code) - -def print_gmp_tests(outf): - print_gmp_header(outf) - for api in gmpapi.apis: - if not api.custom_test: - GMPTest(api).print_test_code(outf) - -def print_imath_tests(outf): - print_imath_header(outf) - for api in gmpapi.apis: - if not api.custom_test: - ImathTest(api).print_test_code(outf) - -def main(): - test = sys.argv[1] - - if test == "gmp": - print_gmp_tests(sys.stdout) - elif test == "imath": - print_imath_tests(sys.stdout) - -if __name__ == "__main__": - main() diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/gendata.py b/polly/lib/External/isl/imath/tests/gmp-compat-test/gendata.py deleted file mode 100755 index 225f71b7aa0..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/gendata.py +++ /dev/null @@ -1,338 +0,0 @@ -#!/usr/bin/env python3 -import random -import gmpapi - -MAX_SLONG="9223372036854775807" -MIN_SLONG="-9223372036854775808" -MAX_ULONG="18446744073709551615" -MAX_SINT="2147483647" -MIN_SINT="-2147483648" -MAX_UINT="4294967295" -MAX_SSHORT="32767" -MIN_SSHORT="-32768" -MAX_USHORT="65535" - -def plus1(x): return str(int(x)+1) -def minus1(x): return str(int(x)-1) -def apply(fun, lst): - return list(map(str, map(fun, lst))) - -mzero_one = ["-0", "-1"] -zero_one = ["0", "1"] -mm_slong = [MAX_SLONG, MIN_SLONG] -mm_slong1 = [minus1(MAX_SLONG), plus1(MIN_SLONG)] -mm_ulong = [MAX_ULONG] -mm_ulong1 = [minus1(MAX_ULONG)] -mm_sint = [MAX_SINT, MIN_SINT] -mm_sint1 = [minus1(MAX_SINT), plus1(MIN_SINT)] -mm_uint = [MAX_UINT] -mm_uint1 = [minus1(MAX_UINT)] -mm_sshort = [MAX_SSHORT, MIN_SSHORT] -mm_sshort1= [minus1(MAX_SSHORT), plus1(MIN_SSHORT)] -mm_ushort = [MAX_USHORT] -mm_ushort1= [minus1(MAX_USHORT)] -mm_all = mm_slong + mm_ulong + mm_sint + mm_uint + mm_sshort + mm_ushort -zero_one_all = mzero_one + zero_one - - -mpz_std_list = zero_one_all + mm_all + apply(plus1, mm_all) + apply(minus1, mm_all) -si_std_list = zero_one + mm_slong + mm_sint + mm_sshort + mm_slong1 + mm_sint1 + mm_sshort1 -ui_std_list = zero_one + mm_ulong + mm_uint + mm_ushort + mm_ulong1 + mm_uint1 + mm_ushort1 - -def gen_random_mpz(mindigits=1, maxdigits=100, allowneg=True): - sign = random.choice(["", "-"]) - if not allowneg: - sign = "" - return sign + gen_digits(random.randint(mindigits, maxdigits)) - -def gen_random_si(): - si = gen_random_mpz(mindigits=1,maxdigits=19) - while int(si) > int(MAX_SLONG) or int(si) < int(MIN_SLONG): - si = gen_random_mpz(mindigits=1,maxdigits=19) - return si - -def gen_random_ui(): - ui = gen_random_mpz(mindigits=1,maxdigits=20, allowneg=False) - while int(ui) > int(MAX_ULONG): - ui = gen_random_mpz(mindigits=1,maxdigits=20, allowneg=False) - return ui - -def gen_digits(length): - if length == 1: - i = random.randint(1, 9) - else: - digits = [random.randint(1,9)] + [random.randint(0,9) for x in range(length-1)] - digits = map(str, digits) - i = "".join(digits) - return str(i) - -def gen_mpzs(mindigits=1, maxdigits=100, count=10): - return [gen_random_mpz(mindigits=mindigits, maxdigits=maxdigits) for x in range(count)] - -default_count = 10 -def gen_sis(count=default_count): - return [gen_random_si() for x in range(count)] - -def gen_uis(count=default_count): - return [gen_random_ui() for x in range(count)] - -def gen_small_mpzs(count=default_count): - return gen_mpzs(mindigits=1,maxdigits=4,count=count) - -def is_small_mpz(s): - return len(s) >= 1 and len(s) <= 4 - -def gen_medium_mpzs(count=default_count): - return gen_mpzs(mindigits=5,maxdigits=20,count=count) - -def is_medium_mpz(s): - return len(s) >= 5 and len(s) <= 20 - -def gen_large_mpzs(count=default_count): - return gen_mpzs(mindigits=21,maxdigits=100,count=count) - -def is_large_mpz(s): - return len(s) >= 21 - -def gen_mpz_spread(count=default_count): - return gen_small_mpzs(count) + gen_medium_mpzs(count) + gen_large_mpzs(count) - -def gen_mpz_args(count=default_count): - return mpz_std_list + gen_mpz_spread(count) - -def gen_mpq_args(count=4): - nums = zero_one + gen_mpz_spread(count) - dens = ["1"] + gen_mpz_spread(count) - return [n+"/"+d for n in nums for d in dens if int(d) != 0] - -def gen_si_args(): - return si_std_list + gen_sis() - -def gen_ui_args(): - return ui_std_list + gen_uis() - -def gen_list_for_type(t, is_write_only): - if (t == gmpapi.mpz_t or t == gmpapi.mpq_t) and is_write_only: - return ["0"] - elif t == gmpapi.mpz_t: - return gen_mpz_args() - elif t == gmpapi.ilong: - return gen_si_args() - elif t == gmpapi.ulong: - return gen_ui_args() - elif t == gmpapi.mpq_t: - return gen_mpq_args() - else: - raise RuntimeError("Unknown type: {}".format(t)) - -def gen_args(api): - if api.custom_test or api.name in custom: - return custom[api.name](api) - types = api.params - if len(types) == 1: - return [[a] for a in gen_list_for_type(types[0], api.is_write_only(0))] - elif len(types) == 2: - t1 = gen_list_for_type(types[0], api.is_write_only(0)) - t2 = gen_list_for_type(types[1], api.is_write_only(1)) - return [(a,b) for a in t1 for b in t2] - elif len(types) == 3: - t1 = gen_list_for_type(types[0], api.is_write_only(0)) - t2 = gen_list_for_type(types[1], api.is_write_only(1)) - t3 = gen_list_for_type(types[2], api.is_write_only(2)) - return [(a,b,c) for a in t1 for b in t2 for c in t3] - elif len(types) == 4: - t1 = gen_list_for_type(types[0], api.is_write_only(0)) - t2 = gen_list_for_type(types[1], api.is_write_only(1)) - t3 = gen_list_for_type(types[2], api.is_write_only(2)) - t4 = gen_list_for_type(types[3], api.is_write_only(3)) - return [(a,b,c,d) for a in t1 for b in t2 for c in t3 for d in t4] - else: - raise RuntimeError("Too many args: {}".format(len(types))) - -################################################################### -# -# Fixup and massage random data for better test coverage -# -################################################################### -def mul_mpzs(a, b): - return str(int(a) * int(b)) - -def mpz_divexact_data(args): - # set n = n * d - divisible = mul_mpzs(args[1],(args[2])) - return [(args[0], divisible, args[2])] - -def mpz_divisible_p_data(args): - (n,d) = get_div_data(args[0], args[1],rate=1.0) - return [(n,d), (args[0], args[1])] - -def mpz_div3_data(args): - q = args[0] - (n,d) = get_div_data(args[1], args[2],rate=1.0) - return [(q,n,d), (q,args[1], args[2])] - -def mpz_pow_data(args, alwaysallowbase1=True): - base = int(args[1]) - exp = int(args[2]) - # allow special numbers - if base == 0 or exp == 0 or exp == 1: - return [args] - if base == 1 and alwaysallowbase1: - return [args] - - # disallow too big numbers - if base > 1000 or base < -1000: - base = gen_random_mpz(maxdigits=3) - if exp > 1000: - exp = gen_random_mpz(maxdigits=3, allowneg=False) - - return [(args[0], str(base), str(exp))] - -def mpz_mul_2exp_data(args): - return mpz_pow_data(args, alwaysallowbase1=False) - -def mpz_gcd_data(args): - r = args[0] - a = args[1] - b = args[2] - s_ = gen_small_mpzs(1)[0] - m_ = gen_medium_mpzs(1)[0] - l_ = gen_large_mpzs(1)[0] - - return [ (r, a, b), - (r, mul_mpzs(a, b), b), - (r, mul_mpzs(a, s_), mul_mpzs(b, s_)), - (r, mul_mpzs(a, m_), mul_mpzs(b, m_)), - (r, mul_mpzs(a, l_), mul_mpzs(b, l_)),] - -def mpz_export_data(api): - rop = ["0"] - countp = ["0"] - order = ["-1","1"] - size = ["1","2","4","8"] - endian = ["0"] - nails = ["0"] - ops = gen_mpz_args(1000) + gen_mpzs(count=100,mindigits=100,maxdigits=1000) - - args = [] - for r in rop: - for c in countp: - for o in order: - for s in size: - for e in endian: - for n in nails: - for op in ops: - args.append((r,c,o,s,e,n,op)) - return args - -def mpz_sizeinbase_data(api): - bases = list(map(str, range(2, 37))) - ops = gen_mpz_args(1000) + gen_mpzs(count=1000,mindigits=100,maxdigits=2000) - return [(op, b) for op in ops for b in bases] - -def get_str_data(ty): - bases = list(range(2,37)) + list(range(-2, -37, -1)) - bases = list(map(str, bases)) - if ty == gmpapi.mpz_t: - ops = gen_mpz_args(1000) - elif ty == gmpapi.mpq_t: - ops = gen_mpq_args(20) - else: - raise RuntimeError("Unsupported get_str type: "+str(ty)) - return [("NULL", b, op) for b in bases for op in ops] - -def mpz_get_str_data(api): - return get_str_data(gmpapi.mpz_t) - -def mpq_get_str_data(api): - return get_str_data(gmpapi.mpq_t) - -def mpq_set_str_data(api): - args = gen_mpq_args(20) + gen_mpz_args() - # zero does not match results exactly because the - # results are not canonicalized first. We choose to - # exclude zero from test results. The other option is - # to canonicalize the results after parsing the strings. - # Instead we exclude zero so that we can independently - # test correctness of set_str and canonicalization - nonzero = [] - for arg in args: - if "/" in arg: - pos = arg.find("/") - if int(arg[:pos]) != 0: - nonzero.append(arg) - elif int(arg) != 0: - nonzero.append(arg) - - return [("0", q, "10") for q in nonzero] - -def get_div_data(n, d, rate=0.2): - """Generate some inputs that are perfectly divisible""" - if random.random() < rate: - n = mul_mpzs(n, d) - return (n,d) - -def allow(name, args): - if name not in blacklists: - return True - filters = blacklists[name] - for (pos, disallow) in filters: - if args[pos] in disallow: - return False - return True - -def fixup_args(name, args): - if name not in fixups: - return [args] - return fixups[name](args) - - -# list of values to be excluded for various api calls -# list format is (pos, [list of values to exclude]) -blacklists = { - "mpz_cdiv_q" : [(2, ["0", "-0"])], - "mpz_fdiv_q" : [(2, ["0", "-0"])], - "mpz_fdiv_r" : [(2, ["0", "-0"])], - "mpz_tdiv_q" : [(2, ["0", "-0"])], - "mpz_fdiv_q_ui" : [(2, ["0", "-0"])], - "mpz_divexact" : [(2, ["0", "-0"])], - "mpz_divisible_p" : [(1, ["0", "-0"])], - "mpz_divexact_ui" : [(2, ["0", "-0"])], - "mpq_set_ui" : [(2, ["0", "-0"])], -} - -fixups = { - "mpz_divexact" : mpz_divexact_data, - "mpz_divisible_p" : mpz_divisible_p_data, - "mpz_cdiv_q" : mpz_div3_data, - "mpz_fdiv_q" : mpz_div3_data, - "mpz_fdiv_r" : mpz_div3_data, - "mpz_tdiv_q" : mpz_div3_data, - "mpz_fdiv_q_ui" : mpz_div3_data, - "mpz_divexact_ui" : mpz_divexact_data, - "mpz_pow_ui" : mpz_pow_data, - "mpz_gcd" : mpz_gcd_data, - "mpz_lcm" : mpz_gcd_data, - "mpz_mul_2exp" : mpz_mul_2exp_data, -} - -custom = { - "mpz_export" : mpz_export_data, - "mpz_import" : mpz_export_data, - "mpz_sizeinbase" : mpz_sizeinbase_data, - "mpz_get_str" : mpz_get_str_data, - "mpq_set_str" : mpq_set_str_data, - "mpq_get_str" : mpq_get_str_data, -} - -if __name__ == "__main__": - #apis = [gmpapi.get_api("mpq_set_str"),] - apis = gmpapi.apis - for api in apis: - tests = gen_args(api) - for args in tests: - expanded_args = fixup_args(api.name, args) - for args in expanded_args: - if allow(api.name, args): - print("{}|{}".format(api.name, ",".join(args))) - diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/genpytest.py b/polly/lib/External/isl/imath/tests/gmp-compat-test/genpytest.py deleted file mode 100755 index 16363980c1e..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/genpytest.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python3 - -import gmpapi -import sys - -def print_header(outf): - outf.write(""" -#AUTOGENERATED FILE -import ctypes -import os -import sys -import binascii - -verbose = False -fork = False - """) - -def print_cmp(outf): - outf.write(""" -def passt(line, name, a_s, b_s): - if verbose: - print("PASS: {}@{} {} == {}".format(line, name, a_s, b_s)) - return True - -def fail(line, name, a_s, b_s): - print("FAIL: {}@{} {} != {}".format(line, name, a_s,b_s)) - return False - -def cstr_eq(line, name, a, b): - a_s = a.value.decode("utf-8") - b_s = b.value.decode("utf-8") - - if a_s == b_s: - return passt(line, name, a_s, b_s) - else: - return fail(line, name, a_s, b_s) - -def bytes_eq(line, name, a, b): - if a == b: - return passt(line, name, a, b) - else: - return fail(line, name, a, b) - -def run_test(test, line, name, gmp_test_so, imath_test_so, *args): - if fork: - childpid = os.fork() - else: - childpid = 0 - if childpid == 0: - eq = test(line, name, gmp_test_so, imath_test_so, *args) - if fork: - sys.exit(eq != True) - else: - return eq - else: - (pid, status) = os.waitpid(childpid, 0) - return status == 0 - -# custom tests -def test_mpz_export(line, name, gmp_test_so, imath_test_so, *args): - # do not use first two args from the test. need to create our own pointers - used_args = args[2:] - gbuf = ctypes.create_string_buffer(b'0xdeadbeef'*1024); - gsize = ctypes.c_size_t() - gout = ctypes.c_void_p() - ibuf = ctypes.create_string_buffer(b'0xdeadbeef'*1024); - isize = ctypes.c_size_t() - iout = ctypes.c_void_p() - word_size = args[3].value - - #Test with a NULL pointer - gmp_test_so.test_mpz_export(ctypes.byref(gout), None, ctypes.byref(gsize), *used_args) - imath_test_so.test_mpz_export(ctypes.byref(iout), None, ctypes.byref(isize), *used_args) - gb = ctypes.string_at(gout.value, gsize.value * word_size) - ib = ctypes.string_at(iout.value, isize.value * word_size) - if not bytes_eq(line, name, gb, ib): - return False - - #Test with a provided buffer - gmp_test_so.test_mpz_export(ctypes.byref(gout), gbuf, ctypes.byref(gsize), *used_args) - imath_test_so.test_mpz_export(ctypes.byref(iout), ibuf, ctypes.byref(isize), *used_args) - #print("G:gbuf", gbuf.raw[:gsize.value * word_size]) - #print("I:ibuf", ibuf.raw[:isize.value * word_size]) - gb = ctypes.string_at(gout.value, gsize.value * word_size) - ib = ctypes.string_at(iout.value, isize.value * word_size) - if not bytes_eq(line, name, gb, ib): - return False - - return True - -def test_mpz_import(line, name, gmp_test_so, imath_test_so, *args): - # do not use first two args from the test. need to create our own pointers - gout = ctypes.create_string_buffer(b'0xdeadbeef'*1024); - iout = ctypes.create_string_buffer(b'0xdeadbeef'*1024); - - gmp_test_so.test_mpz_import(gout, *args) - imath_test_so.test_mpz_import(iout, *args) - #print(gout.raw[:70]) - #print(iout.raw[:70]) - return cstr_eq(line, name, gout, iout) - -""") - -def print_api(name, outf): - outf.write(""" -def test_{0}(line, name, gmp_test_so, imath_test_so, *args): - gout = ctypes.create_string_buffer(1024*4); - iout = ctypes.create_string_buffer(1024*4); - gmp_test_so.test_{0}(gout, *args) - imath_test_so.test_{0}(iout, *args) - eq = cstr_eq(line, name, gout, iout) - return eq -""".format(name)) - -def print_api_map(outf): - outf.write(""" -def get_wrapper(name): - test_wrappers = { -""") - for api in gmpapi.apis: - outf.write(' "{}" : {},\n'.format(api.name, "test_"+api.name)) - outf.write(" }\n") - outf.write(" return test_wrappers[name]\n") - - -if __name__ == "__main__": - outf = sys.stdout - print_header(outf) - print_cmp(outf) - for api in gmpapi.apis: - if not api.custom_test: - print_api(api.name, outf) - print_api_map(outf) - diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/gmp_custom_test.c b/polly/lib/External/isl/imath/tests/gmp-compat-test/gmp_custom_test.c deleted file mode 100644 index 1a0739bdfd8..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/gmp_custom_test.c +++ /dev/null @@ -1,24 +0,0 @@ - -void test_mpz_export(char **out, char *rop, size_t *countp, int order, size_t size, int endian, size_t nails, char* mpzstr) { - mpz_t op; - mpz_init(op); - mpz_set_str(op, mpzstr, 10); - //printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails, mpzstr); - *out = mpz_export(rop, countp, order, size, endian, nails, op); -} - -void test_mpz_import(char *out, void *unused, size_t count, int order, size_t size, int endian, size_t nails, char* mpzstr) { - mpz_t op; - mpz_t rop; - mpz_init(op); - mpz_init(rop); - mpz_set_str(op, mpzstr, 10); - char *data; - - //printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails, mpzstr); - data = mpz_export(NULL, &count, order, size, endian, nails, op); - mpz_import(rop, count, order, size, endian, nails, data); - int eq = mpz_cmpabs(op, rop); - sprintf(out, "%2d:", eq); - mpz_get_str(out+3, 10, rop); -} diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/gmpapi.py b/polly/lib/External/isl/imath/tests/gmp-compat-test/gmpapi.py deleted file mode 100644 index 27f94fcced9..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/gmpapi.py +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env python3 - -import sys - -class CType: - def __init__(self, name): - self.name = name - - def __str__(self): - return self.name - -class GMPAPI: - def __init__(self, ret_ty, name, *params, out=[0], inout=[], mixed=False,custom=False): - self.name = name - self.ret_ty = ret_ty - self.params = params - self.inout_params = inout - self.custom_test = custom - # most functions with return results dont need extra out params - # set mixed to true to check both the return value and an out param - if self.ret_ty != void and not mixed: - self.out_params = [] - else: - self.out_params = out #param location of the output result - - def is_write_only(self, pos): - if pos in self.out_params and pos not in self.inout_params: - return True - return False - - def __str__(self): - return("{} {}({})".format(self.ret_ty, self.name, ",".join(map(str,self.params)))) - - def __repr__(self): - return str(self) - -void = CType("void") -voidp = CType("void *") -charp = CType("char *") -iint = CType("int") -size_t= CType("size_t") -size_tp= CType("size_t*") -ilong = CType("long") -ulong = CType("unsigned long") -mpz_t = CType("mpz_t") -mpq_t = CType("mpq_t") - -apis = [ - GMPAPI(void, "mpz_abs", mpz_t, mpz_t), - GMPAPI(void, "mpz_add", mpz_t, mpz_t, mpz_t), - GMPAPI(iint, "mpz_cmp_si", mpz_t, ilong), - GMPAPI(iint, "mpz_cmpabs", mpz_t, mpz_t), - GMPAPI(iint, "mpz_cmp", mpz_t, mpz_t), - GMPAPI(void, "mpz_mul", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_neg", mpz_t, mpz_t), - GMPAPI(void, "mpz_set_si", mpz_t, ilong), - GMPAPI(void, "mpz_set", mpz_t, mpz_t), - GMPAPI(void, "mpz_sub", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_swap", mpz_t, mpz_t, out=[0,1], inout=[0,1]), - GMPAPI(iint, "mpz_sgn", mpz_t), - GMPAPI(void, "mpz_addmul", mpz_t, mpz_t, mpz_t, inout=[0]), - GMPAPI(void, "mpz_divexact", mpz_t, mpz_t, mpz_t), - GMPAPI(iint, "mpz_divisible_p", mpz_t, mpz_t), - GMPAPI(void, "mpz_submul", mpz_t, mpz_t, mpz_t, inout=[0]), - GMPAPI(void, "mpz_set_ui", mpz_t, ulong), - GMPAPI(void, "mpz_add_ui", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_divexact_ui", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_mul_ui", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_pow_ui", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_sub_ui", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_cdiv_q", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_fdiv_q", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_fdiv_r", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_tdiv_q", mpz_t, mpz_t, mpz_t), - GMPAPI(ulong, "mpz_fdiv_q_ui", mpz_t, mpz_t, ulong, out=[0], mixed=True), - GMPAPI(ilong, "mpz_get_si", mpz_t), - GMPAPI(ulong, "mpz_get_ui", mpz_t), - GMPAPI(void, "mpz_gcd", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_lcm", mpz_t, mpz_t, mpz_t), - GMPAPI(void, "mpz_mul_2exp", mpz_t, mpz_t, ulong), - GMPAPI(void, "mpz_export", voidp, size_tp, iint, size_t, iint, size_t, mpz_t, custom=True), - # The mpz_import signature is a bit of a lie, but it is ok because it is custom - GMPAPI(void, "mpz_import", voidp, size_t, iint, size_t, iint, size_t, mpz_t, custom=True), - GMPAPI(size_t,"mpz_sizeinbase", mpz_t, iint), - GMPAPI(charp, "mpz_get_str", charp, iint, mpz_t), - - # mpq functions - GMPAPI(iint, "mpq_set_str", mpq_t, charp, iint, out=[0], mixed=True), - GMPAPI(void, "mpq_canonicalize", mpq_t, inout=[0]), - GMPAPI(iint, "mpq_cmp", mpq_t, mpq_t), - GMPAPI(void, "mpq_mul", mpq_t, mpq_t, mpq_t), - GMPAPI(void, "mpq_set", mpq_t, mpq_t), - GMPAPI(void, "mpq_set_ui", mpq_t, ulong, ulong), - GMPAPI(iint, "mpq_sgn", mpq_t), - GMPAPI(charp,"mpq_get_str", charp, iint, mpq_t), - ] - -def get_api(name): - for a in apis: - if a.name == name: - return a - raise RuntimeError("Unknown api: {}".format(name)) - diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/imath_custom_test.c b/polly/lib/External/isl/imath/tests/gmp-compat-test/imath_custom_test.c deleted file mode 100644 index 8772ae8c6a2..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/imath_custom_test.c +++ /dev/null @@ -1,24 +0,0 @@ - -void test_mpz_export(char **out, char *rop, size_t *countp, int order, size_t size, int endian, size_t nails, char* mpzstr) { - impz_t op; - impz_init(op); - impz_set_str(op, mpzstr, 10); - //printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails, mpzstr); - *out = impz_export(rop, countp, order, size, endian, nails, op); -} - -void test_mpz_import(char *out, void *unused, size_t count, int order, size_t size, int endian, size_t nails, char* mpzstr) { - impz_t op; - impz_t rop; - impz_init(op); - impz_init(rop); - impz_set_str(op, mpzstr, 10); - char *data; - - //printf("%p,%p,%d,%zi,%d,%zi,%s\n", rop, countp, order, size, endian, nails, mpzstr); - data = impz_export(NULL, &count, order, size, endian, nails, op); - impz_import(rop, count, order, size, endian, nails, data); - int eq = impz_cmpabs(op, rop); - sprintf(out, "%2d:", eq); - impz_get_str(out+3, 10, rop); -} diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest b/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest deleted file mode 100755 index 4a9f5854a5a..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -export LD_LIBRARY_PATH=.:../.. -python3 runtest.py $@ diff --git a/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest.py b/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest.py deleted file mode 100755 index 2c1a35f0f2e..00000000000 --- a/polly/lib/External/isl/imath/tests/gmp-compat-test/runtest.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python3 - -import ctypes -import random -import gmpapi -import wrappers -import glob -import sys -import os -from optparse import OptionParser -from gmpapi import void -from gmpapi import ilong -from gmpapi import ulong -from gmpapi import mpz_t -from gmpapi import voidp -from gmpapi import size_t -from gmpapi import size_tp -from gmpapi import iint -from gmpapi import charp -from gmpapi import mpq_t - -def print_failure(line, test): - print("FAIL: {}@{}".format(line,test)) - - -def run_tests(test_file, options): - passes = 0 - failures = 0 - fail_lines = [] - for (line, test) in enumerate(open(test_file), start=1): - if test.startswith("#"): - continue - if options.skip > 0 and line < options.skip: - continue - name,args = test.split("|") - if options.verbose or (options.progress > 0 and line % options.progress == 0): - print("TEST: {}@{}".format(line, test), end="") - api = gmpapi.get_api(name) - wrapper = wrappers.get_wrapper(name) - input_args = args.split(",") - if len(api.params) != len(input_args): - raise RuntimeError("Mismatch in args length: {} != {}".format(len(api.params), len(input_args))) - - call_args = [] - for i in range(len(api.params)): - param = api.params[i] - if param == mpz_t: - call_args.append(bytes(input_args[i],"utf-8")) - elif param == mpq_t: - call_args.append(bytes(input_args[i],"utf-8")) - elif param == ulong: - call_args.append(ctypes.c_ulong(int(input_args[i]))) - elif param == ilong: - call_args.append(ctypes.c_long(int(input_args[i]))) - elif param == voidp or param == size_tp: - call_args.append(ctypes.c_void_p(None)) - elif param == size_t: - call_args.append(ctypes.c_size_t(int(input_args[i]))) - elif param == iint: - call_args.append(ctypes.c_int(int(input_args[i]))) - # pass null for charp - elif param == charp: - if input_args[i] == "NULL": - call_args.append(ctypes.c_void_p(None)) - else: - call_args.append(bytes(input_args[i],"utf-8")) - else: - raise RuntimeError("Unknown param type: {}".format(param)) - - res = wrappers.run_test(wrapper, line, name, gmp_test_so, imath_test_so, *call_args) - if not res: - failures += 1 - print_failure(line,test) - fail_lines.append((line,test)) - else: - passes += 1 - return (passes,failures, fail_lines) - -def parse_args(): - parser = OptionParser() - parser.add_option("-f", "--fork", help="fork() before each operation", - action="store_true", default=False) - parser.add_option("-v", "--verbose", help="print PASS and FAIL tests", - action="store_true", default=False) - parser.add_option("-p", "--progress", help="print progress every N tests ", - metavar="N", type="int", default=0) - parser.add_option("-s", "--skip", help="skip to test N", - metavar="N", type="int", default=0) - return parser.parse_args() - -if __name__ == "__main__": - (options, tests) = parse_args() - gmp_test_so = ctypes.cdll.LoadLibrary("gmp_test.so") - imath_test_so = ctypes.cdll.LoadLibrary("imath_test.so") - - wrappers.verbose = options.verbose - wrappers.fork = options.fork - - total_pass = 0 - total_fail = 0 - all_fail_lines = [] - for test_file in tests: - print("Running tests in {}".format(test_file)) - (passes,failures,fail_lines) = run_tests(test_file, options) - print(" Tests: {}. Passes: {}. Failures: {}.".format(passes+failures, passes, failures)) - total_pass += passes - total_fail += failures - all_fail_lines += fail_lines - - print("="*70) - print("Total") - print(" Tests: {}. Passes: {}. Failures: {}.".format(total_pass+total_fail, total_pass, total_fail)) - if len(all_fail_lines) > 0: - print("Failing Tests:") - for (line, test) in all_fail_lines: - print(test.rstrip()) - diff --git a/polly/lib/External/isl/imath/tests/init.t b/polly/lib/External/isl/imath/tests/init.t deleted file mode 100644 index 074f5d61f07..00000000000 --- a/polly/lib/External/isl/imath/tests/init.t +++ /dev/null @@ -1,12 +0,0 @@ -#Unsigned integer initialization. Assumes sizeof(long) == 8. -initu:0,0:0 -initu:0,18446744073709551615:18446744073709551615 -initu:0,567:567 - -#Signed integer initialization Assumes sizeof(long) == 8. -initv:0,0:0 -initv:0,-1:-1 -initv:0,9223372036854775807:9223372036854775807 -initv:0,-9223372036854775808:-9223372036854775808 -initv:0,4324:4324 - diff --git a/polly/lib/External/isl/imath/tests/invmod.t b/polly/lib/External/isl/imath/tests/invmod.t deleted file mode 100644 index f969b039d2d..00000000000 --- a/polly/lib/External/isl/imath/tests/invmod.t +++ /dev/null @@ -1,452 +0,0 @@ -# Modular inverse tests (no undefined cases) - -invmod:-25,37,=1:34 -invmod:-25,37,=2:34 -invmod:-5,11,0:2 -invmod:22153,514,0:383 -invmod:6521,442674856,0:28104185 -invmod:83,8990271,0:2924546 -invmod:643111,73,0:23 -invmod:6756751,5,0:1 -invmod:4310757,655173482,0:578093623 -invmod:67658,37989,0:29720 -invmod:140,456739,0:394753 -invmod:8363,2152,0:1827 -invmod:6067,5554,0:1061 -invmod:134706247,840181,0:713245 -invmod:581,8525,0:3096 -invmod:991357,2885,0:2243 -invmod:9820551,53210,0:5931 -invmod:366,3905684875,0:1846129736 -invmod:4582993,6971170,0:6590887 -invmod:4261,5,0:1 -invmod:2089582769,72370,0:34059 -invmod:1385486874,274843,0:100773 -invmod:2496082853,33877892272,0:25370727693 -invmod:29,77842490059,0:18789566566 -invmod:160735723,837433,0:536522 -invmod:33,92874448,0:39401281 -invmod:17,801910,0:518883 -invmod:1243,47177637,0:28769629 -invmod:5553626,17225545633,0:4551550593 -invmod:493375452,7744903,=1:5021402 -invmod:505,75126821802,0:15917960263 -invmod:8082104357,6160949,0:64657 -invmod:4793,63911,0:44243 -invmod:846,4453189,0:689560 -invmod:5475,596527544653,0:311392826049 -invmod:239,28531,0:9192 -invmod:71044,91829,0:4016 -invmod:2923052473,673,0:362 -invmod:40113371,396,0:23 -invmod:799762079,671587,0:280457 -invmod:6137106,72083,0:61684 -invmod:2663959394312,7297021,0:6396652 -invmod:16314,437519,0:121837 -invmod:5409920801970,224827,0:146917 -invmod:1701531745,565383113204,0:392963934477 -invmod:6702285244447,4818940,0:3886523 -invmod:3853762105973,7986397045899,0:4649165556065 -invmod:83203877,17340640,=2:1474413 -invmod:349,3756,0:1765 -invmod:513237329,6426867498383,0:5161899757325 -invmod:218717486055,4764721,0:3629102 -invmod:5697807566182,23837,0:17052 -invmod:640499,3706953268445,0:862821487954 -invmod:74365895080186,37008968409199,0:35062440514236 -invmod:5447180,17521,0:6484 -invmod:87747,309211711,0:64843296 -invmod:65052052,72604563,0:26029330 -invmod:1200121,9944190318201,=2:5066700447199 -invmod:487321393172,41829673981,=1:18173847806 -invmod:3762709971997,877939264220,=1:575680399733 -invmod:78323027,3830390625030,0:1772587463183 -invmod:1324701179,57116535299,0:4144192403 -invmod:663267333048769,9458708,0:1445501 -invmod:925655,3262585612,0:2494330419 -invmod:809760047,253746243247,0:109619303279 -invmod:6962181619,44237293531835,0:34688460868884 -invmod:32137986591347,450053710,0:207388563 -invmod:171464220392,1821508963,0:85136287 -invmod:4866698,1559814931871,0:875727775988 -invmod:83084876,852948279591,=2:67614759050 -invmod:3087717,3533808897939368,0:3296313572604861 -invmod:685072,47729803,0:7913327 -invmod:3403087579775453,307599045,0:85279967 -invmod:618837304,2026545,0:580654 -invmod:1617142737,5396772102241213,0:309489822606449 -invmod:398279389,695426305815576,0:548019512309869 -invmod:807807859,101277481,0:1799573 -invmod:4399921090,93999639721573,0:23138878622757 -invmod:6198378859,5720311022,0:2650981593 -invmod:86572714,9776668159093959,0:99027417792355 -invmod:1106685402600,781883021,0:593993010 -invmod:788429239716,54846845,0:23729486 -invmod:26682164884969,84892199507532,0:38639429314105 -invmod:490223409,87336215488172224,0:60928799099783953 -invmod:11687153,155174158,0:112979329 -invmod:81995673521,1680666567,0:4778198 -invmod:36278417230108,2563749243683,0:97972077091 -invmod:81100161947491318,626490251,0:10036586 -invmod:84353708437,789691774074278,0:384046667492909 -invmod:4784222527,220196213,0:137693182 -invmod:656338347,17114903662,0:2025727201 -invmod:205944554689,55544669634,0:45790392391 -invmod:58311406949710,684448841,0:398362627 -invmod:2984553893,39836508385650164,0:23063415225053961 -invmod:1226833387651,868339671575144482,0:861301708657625181 -invmod:7850491405,3995878481964,0:222583321669 -invmod:60187945992,93467753554255,0:39782639687763 -invmod:26790048589,54188485741,0:37088225013 -invmod:2047388699,2277281699,0:1326800159 -invmod:437698007378203709,87810457123843238,0:45519261037663357 -invmod:10176318725,798739962893,0:680424092570 -invmod:784178983329613758,151005933385,0:62880260387 -invmod:774192548697746,10018080225753177,0:9683250774295598 -invmod:726085395694283800,277010088622579,0:180332658128036 -invmod:734218324557247853,1620310233702,0:916743102467 -invmod:707389886770553113,418168493503742,0:189385161021501 -invmod:171716270659493,2040489403879802122,0:1953367125622896751 -invmod:78774439204,843419490844271841,0:461564113792074643 -invmod:9092444912687,92042830376149639,0:47447717686388633 -invmod:61162406254,726431645806031683,0:276675014746837850 -invmod:6502138975909229,1737018911640,0:657596399549 -invmod:87574684954665,78519506900538949759,0:47230364038284735522 -invmod:1306210408858148,134301015531,0:130837017359 -invmod:44107140793537552339,77941696100292187182,0:44195935179151712467 -invmod:67019007414976,320349107407,0:230029544613 -invmod:251668932025135,35962140459304117641,0:27454542509813399095 -invmod:1960384563191744911,414832971260173594,0:324345091445220853 -invmod:9693842669955456325,3433846821305106979,0:3209295184025178668 -invmod:95824904457431,207730473678560854,0:115346241869098615 -invmod:8243018284897799671,54774169173707248,0:44653415179102455 -invmod:311780668918,56602194650033,0:19477344474056 -invmod:5901525417230160,6175539028945276481,0:2734302477909765310 -invmod:15817645817088013342,83873087573263156355,0:40986420565770894283 -invmod:2776285597517168189,3599586054083,0:1736805497387 -invmod:5082710450857887,9056726269284017335,0:4011503044106438893 -invmod:8584682476237466436,7357902067222453540607,0:5765479814487665631684 -invmod:2319480092078509424,6781626293282491,0:6716281365540188 -invmod:1240939184380232105,937916010642767528344,0:266041850377015782033 -invmod:658085025934773092927,87790861684417147140,0:36756492918534162863 -invmod:2569452374055474,1282307723894094781,0:817830828946766758 -invmod:888631770342009119641,963322788372149745005,0:58576054803607756901 -invmod:89415261698482,94033558717297,0:55696542331400 -invmod:56380027660316644352588,35652220511128407,0:2604464463341384 -invmod:996226476453670075,45399567279611724302531,0:4432450575006272604766 -invmod:34615237368338359171,8816907924734450,0:7867417936877631 -invmod:57100661310425224095499,80123941311371854,0:35581152205723201 -invmod:4003341194576048121,875086915466219,0:805682679112747 -invmod:6669592405841477476717,4551036259229300,0:1731901161660553 -invmod:4899954396030393,8249234915987429715052,0:8042076059164143158753 -invmod:457015587799729799209,94904436585339172647,0:67495506193470607315 -invmod:2416330080921791,12841205070842866551072,0:9627123487316001173279 -invmod:315334615429521629,57080600687534315852534,0:35876106943989391629797 -invmod:245635836236733543965,350204895578119,0:266548953036562 -invmod:534172301537220853627465,54572957533260480823618,0:28391508956926418431025 -invmod:64835058866700508778320,82305874730776723,0:57154164927574349 -invmod:2935419197344029519,38389371660425629010,0:28166170186967145769 -invmod:3817779121449271,177996364073619,0:33676152326515 -invmod:738146746050725,4141892900866715689963,0:1939330976850898748447 -invmod:92817796396830036287569,23833760274805751,0:18027905863154323 -invmod:324768538678274222,672713761279277469419167,0:179185315765267484078532 -invmod:145806963849046841647,254534976684286765771,0:200530074654889210574 -invmod:5843892547087945,8037935722129342683168,0:4622521916530352817625 -invmod:635350174582720198578,895650784125257583255317,0:608770468357452782491563 -invmod:64902256585483042893,64861417659113483501885,0:48500544464636732858792 -invmod:1348003478873768067340578,79797413707905564041741,0:40891858728897888244861 -invmod:6267734989419158151778,3802309231789144649797859,0:283176065685623872919005 -invmod:3615002399473406,3318504485101385132081323,0:2767667426638532783172948 -invmod:899009032038735494294979,792084588352351084,0:424508678737216543 -invmod:81206746001376489750557,7237607374878187597720,0:1600326671975281670573 -invmod:3627972699304722008437199,5520898889538066465900,0:2272155478759642709699 -invmod:34685989123390710817647,6655359456977349621184,0:2132453240661862741327 -invmod:7144620105437275474852,753995169282415124087,0:275860832898605149106 -invmod:3535338302168469766025701,5721768567217856428,0:1398947754214548293 -invmod:966210500401822916283782,66395891256125996529,0:10363406607924246032 -invmod:5107776515340409,616676046831960893161433,0:328705736461746618977486 -invmod:205573655301723270437,35922475780693975,0:13536061393525448 -invmod:6678162870767249806,72542902715331741208361,0:27163420735919994491369 -invmod:4198363950348197654359,656021938174219663877448,0:30249336864266481152527 -invmod:6624293151166291066603,935090767412780504,0:703056406859110987 -invmod:1425474699733426865447,74057791800633068553,0:32399215003249997555 -invmod:535428418244353401,5758069448318181075415,0:651913765960044782491 -invmod:511900281901325868358066640,7525380451505858160279157,0:4065406882222502194971660 -invmod:212919955640465965,878153960566548562,0:662636940932888511 -invmod:889569596018809758462291211,81473326768558522502336,0:56487291469860004699555 -invmod:443144861277824063183398,3761174124237053075,0:3604887025386113137 -invmod:33394484114211334386,72967632167182065995369,0:31523450321558696309323 -invmod:4146649809313089447250,2358753923413902348191,0:2114494919004119612967 -invmod:9887121613180137575733557,461028287216014552,0:243298503783102749 -invmod:97465366227467312864072367,488220214874854052,0:130500775756515095 -invmod:19292649676011135522471,7877659035660734746,0:283664033368712393 -invmod:88902959369842150471660679,458945796034863505452,0:116241488588017347323 -invmod:1839945988509816044751,9750948399412779544,0:6294451275142512167 -invmod:9857520075588286024975851,1918199730912356922553,0:1407196181358170021243 -invmod:98092461637270194063,69938396621942574346694,0:39897238269802969068339 -invmod:219033411512598606789840689,795134880363756976388,0:639110818118499283141 -invmod:88186459451009468808509156,931160442943017676802173071,0:629562198515766072504373649 -invmod:9710794978083575389221590569,4251433051225510685,0:1014964735988867489 -invmod:8101415155618280845453190902,1531876453912452699591,0:368176555527134025784 -invmod:29409670089331883811,535811823788496989270023400,0:370280198672135017584348691 -invmod:8305842606005328583,9579564753339003236281695,0:5722440512759901640334872 -invmod:39386484402035672640779147,405797130275770630884183427,0:110208599835163794381201071 -invmod:832687365793006297742,184982557537022296058374571,0:83904068232925523197663651 -invmod:6553207532807060406664,502238468947067021963,0:454270228642816251641 -invmod:37454379370943067757286870211,36494426305368965154254726536,0:33638650562651500684923138787 -invmod:38605483438466601679,682239274139689477361679,0:13199577887729473047769 -invmod:7965022961827711681795,2285716672004926097772197,0:2122955484406134178638446 -invmod:300057798344833538558206311,8931778125815914295,0:6565813118197443911 -invmod:324842828083012251597681011,187662727615575337969,0:123961367799983618478 -invmod:59548842983097072068081,529556931168692661765381,0:204382555679859518219042 -invmod:876100791904547219529602,984558128732533432702173965429,0:90974750030008269191789684241 -invmod:412262036467011789370687,7642721479883866583632505,0:2279185286560398311684903 -invmod:35558590466031758855977117,887974042467941992656,0:704625358717245867829 -invmod:626663442467211390440132060640,1374148771090265524803717173,0:590755849649898431023419435 -invmod:85901909124840045452734003634,27175621479815508400005,0:6884774470049680531679 -invmod:4803896245161574921869066442,515522173785247100331641258677,0:82575699585005426552163954975 -invmod:30894573328276878531856,4087591712675305723294627,0:3493627083082495776432430 -invmod:9141841986580679278669126,505635384209785163519211124141,0:336188649744514864135515371530 -invmod:188695176591763873562433787,661611817437909433157465,0:375067540836983193116438 -invmod:241487793644307094737649980023,4603295709537644102260078209,0:1875185676154036094527511246 -invmod:5293130391697702045129223682241,4410288170386013446930,0:3281121803360293450491 -invmod:6033846664871710576440686677569,96946807752243502281276550,0:45266733495357578832984479 -invmod:89038378306924494551626,95628444614978025043615,0:23786747307100516932196 -invmod:12710922165960068258466731689,4790016424576553135438840,0:1207752742860172910912249 -invmod:2735034594918378899070448537355,1893682211859850854604,0:435685035552133636619 -invmod:68329358155371632083140828250982,6288770840498808006152991055,0:5931193047490714028593816373 -invmod:83897752529920362009921,66649056389057335553727631393,0:43268302813732520149524641842 -invmod:9689473529426673026778331,88076063449762644474294178,0:68554034321312192241642365 -invmod:73977485020743016621210217010220,53253046617921140492481,0:34299048109456536013621 -invmod:9682622686213510676332035159913,126726573785394345551110507947,0:87562143297844604196976477132 -invmod:5131707842034728461484683196411,9833933722624780748771816760,0:7636914556132154008767009131 -invmod:622466933719692949758353,8720875070568727490840986966,0:2243063168207109573811220613 -invmod:371914469040335929323957821,29979763825336998478908474,0:19112551112998202208882569 -invmod:460040264854684284500867207882,176619007178719669689957899985,0:84600278607589920579666033533 -invmod:7814781702042412652917732124,44974092645758858215810834392705,0:22525065545650129764783444827969 -invmod:689879593008118336507276219555,7029140833503782253304852,0:1657942681146249790361611 -invmod:588753311584356398728925335104347,655245595214265213328588954,0:5370808165845253986418065 -invmod:215270851453007875328537243236,930847670919175461277424586154331,0:854093280868657781869727944640825 -invmod:554018901896459973640131751591,9763486748180940629420083557,0:4943017226299795649673145282 -invmod:13807862007846696356170492992,218480252372917913755483,0:162381198060244352285330 -invmod:3647663862216963935039311,3498263635673871413147938009,0:815287510808909642460179901 -invmod:1394556521513041955902249647007,8314730285674311054788894925503,0:4701759015019363383377776837184 -invmod:765922458203903632153317653598,772684127072442440623494065,0:681475643232329050740648777 -invmod:1636182686335177476661316231316713,898482806249393672761387906057,0:629953274075151653191843542345 -invmod:584489430664515187742143663,3226379401343487951747550753985,0:2300722785510258273879270270657 -invmod:70597555974027836626331232,9067577360780247310463700060912415,0:1343885645550828326227031879126813 -invmod:83016782422655848478468587,3574392772750510684744014,0:2160375438947262160886701 -invmod:9509632620059688913461744335927,2001546646968510097453590971258811,0:1579171227651658107693890864008934 -invmod:5305698102006965934646514142,1880423512328598313144733245,0:1158802006274691372231434298 -invmod:25818273392182891028387183709,372712587491320607948739787619341,0:83620423512820588265929334666867 -invmod:2062301690726594241599730508623,1295011898282606475280524130169,0:1126618128280194264421190196682 -invmod:15525882195404306532803603053735006,524851347004182298259949574931,0:117558057158627958293103758908 -invmod:98049989631901137366836343057866,2132117143964644775000173275,0:1776678869002856275917157286 -invmod:68035486069315280099382173380,136804376642014663925354513,0:116540031317166597205778667 -invmod:930885787290248986653715917201,839163742792309140697583306,0:467450716792956567729742385 -invmod:618219232165541881120714807027054,551811312165885959528421318411,0:241084816664595048546274133494 -invmod:607491972766521656095997601,4258761064370347279045518650,0:4106442789435765086100078351 -invmod:1794059822501926214368058365897,641293693468680328700219247,0:412236704145068075117115904 -invmod:66038046351270827218975238,828243810057190999751749430463827,0:201240403207654658512757471515946 -invmod:22489979027542119833361766314814004,4267735327278945325377118240414149,0:831989298493288398125903826182123 -invmod:96656949043354906812270332568634084,17593722554451983298697234832943,0:10389378262088955098639501532940 -invmod:1475127063531246543305342130787,5712802933759973674949655288556,0:911126023377734859289288839875 -invmod:94805314820797148511000189717800001,64899576259694613046461539176,0:48109809959614533507389959049 -invmod:5787223135405198552481837574149,5421074820227552626308319526063,0:1887880601492799950765024255248 -invmod:28973562312482088535256834009,12322004931428309561996283040268471,0:6951695655429544292118574942872356 -invmod:3696872012110541582072428310551341,1523878544437625304694982047192609153,0:120514356890624212938061146933103186 -invmod:7388600304197232842534029909,773289223233970187052705366304,0:734898540650399983999883872093 -invmod:7331236475650961531766667058913110203,693192479825024022606662504949920,0:571670151801413885792817856265587 -invmod:5235989645992380877547648143027,9843490764540995482808427936563,0:7792497103048946162851333200848 -invmod:7889040487772265051508734223198,970333028842680057477545240961989231,0:820851624929176605383247534276742509 -invmod:636939509978082435344561123977,8632390068721323171174332473333535190,0:993190319417433889538526784654541983 -invmod:91838639727927578174237486907982,9330677294050455577402341248771486991,0:3372468877355534050061501496367400668 -invmod:10921336389827150720097811900009211076,7589092431150460928351199116667067691,0:866721211802572827148277173383125007 -invmod:658155257851240068821873115015976,558927662049398106193187373360428065,0:209745203635098313869122201832200296 -invmod:5585592751467684477444331029739,27200783107220910874350734817147653,0:1132197483918030242577531292806291 -invmod:7637148852097915353546826493,42198395510943407752409176135,0:38579422829892871530093056797 -invmod:228011811609919943842937730868521189,269359008901950141311260148678129,0:204220292063517008126064637465387 -invmod:85379073141618507288535187863547,3311778009260578617664169854013,0:1251094538034868342736717399878 -invmod:178538609345684608529279115948180,3209187922934820372906185622931,0:625228980755918910363724543435 -invmod:514451212940578583651534706134690,261960849561824473447008674451593,0:131626741363323972030200440147547 -invmod:9634204149807611579602377719343249239,91352833806659059550235201423093,0:43744490808833751862541187085697 -invmod:180205999846263895162745909652272689,61037131972980180275583850831,0:22758511829661545789258800814 -invmod:21945771136787811201569306864610194,240543080450829974515246807891357405,0:181461539213602660625514174427621814 -invmod:35517481628882114783536774508289,73933641713139782399722231157687221982,0:55192567983407494884175622090344427645 -invmod:61133421177402004520562281574369023,490575463215034765455424331786,0:428078344043933589235114932577 -invmod:61997134551496924667492900578768215075,53694317203253417994456413131837794901,0:5127049382196704081839504435078188237 -invmod:149407595591992713390607359968523153,9733723254627254068241609649090688,0:7103143213776435125430106007909873 -invmod:724677347918056918707332818251,4206398531197287079326882898987,0:3352013813776874655296817354068 -invmod:904144691211996824768615430166153,57579709060839020187927414941125095,0:54557924391254568447415464374061082 -invmod:464828030341876048255162748051,16315883710383791874911854058033061,0:1898204461581732360730698325426064 -invmod:19170845621606248311569905259730887097,911211106537315652144761781751982143011,0:11609063390937807744161998275631424941 -invmod:857469002074663726099005122270054136,767466745792444095098639793741965637031,0:72659426270163915638661477107149562702 -invmod:130093804885990385658501097171753042,91493100398010395343582415770659586075,0:71562287103402903271519248491284598728 -invmod:3558394519963770405007494484958693,5649100976897692393477567234571091,0:1778327570753831461149235315785758 -invmod:827172132916351233103886705694689183,7406200609002751101596817359849513044605,0:182683152383530805186420471977735101947 -invmod:44588398105132907935221361042363023,849039192087829478839986564159076706,0:756327512592089069079417038566139671 -invmod:87482753881086943893477139352309,15136288595019926379451404752790558,0:7380826408731655136881662259683287 -invmod:2816393010081341842764909636597751163357,666424385901140622144416941996627540,0:37970402623680773312812150346972833 -invmod:44160925420830144883476086426186778817,3964315773874336539018935736605912590999,0:3339494318496833279004795765823107883695 -invmod:7784294051005222901032501449689049491,82221954950326057541175302867376355231,0:35060237646445852249886804139112143661 -invmod:8782186458787754387943640751003,287196330910083697223737780139934653,0:151169934658998501405294488263167850 -invmod:52961061996773303218378119209138937,4138078150303278572595508400662,0:2334686283357105837861457163873 -invmod:120067972673320339436684163684521541899,5003127736361658398228918751147,0:2804153651535384761721045391262 -invmod:21160862616768687388014009097902145,984271481536213754460622644543049509,0:110991439312803462463226099820276772 -invmod:94870103291793687661854548564670156557,4654396151789059038730576061157487355,0:4545904732262329435720397277692160608 -invmod:126765551422438407604981735815319,4526482948583699374467868274935682,0:1340347586087681863052878791652111 -invmod:561052644739230772711625537622190085922,182709904797036712378783653059935117,0:81730760740395808028866350847708745 -invmod:8440958912355253192980982965295847,99976107874430648288932536807344574289,0:44322197083360812344238924546434599316 -invmod:622818497925638835644269035686568759453,5506232467142585446362605183461,0:5370963830087767870403236824410 -invmod:57453345384809312296011379661001742955,386140250699346346360045382167776159,0:63476384227956307102053350966611778 -invmod:83416537340827284838496955161681676081,12832473375703257825108506495959421,0:499463210654774129441986832321381 -invmod:6764203692091211849546587544996797291,56141668772394375440300081823159,0:33236198277199128613406762379601 -invmod:40370041535056934456885738109160412,509721817241840184167083180099626991,0:11491022410510426082577074611522170 -invmod:878180470796147113848439165151873,17763546710042203623413235393081,0:14204683605998536689672179103545 -invmod:55590867394053732499429322189218399778872,43372981951757571058338676426693,0:33510348378637076952275179882521 -invmod:7546327535456972783460913206047380047,86726167905648033666208453441434584,0:5322052162117479044160819033125903 -invmod:329955968415706177763208593030907,50516382401253954262072882036248004026668,0:34401169217941393127943862147280363000747 -invmod:87048112982262598454925291684403335,805959667741585911092793285492264429037,0:379430630180430216461244147576608482936 -invmod:71555142355447318269121083903394685,87398662401733013244354964840378552,0:67043514123128780636096809791233709 -invmod:1711583735940653927946109180989149,26241424080043582566688947607871596,0:23154984666365483606784578156029249 -invmod:542489709314546955942774519697358722621,143873444084042887511916303711981530841,0:121457408531791726256743734440607914263 -invmod:3781041336068211601179549569884186970409919,327900172706652019993358885788160915208,0:285215395500809506516326193309579388695 -invmod:6149927428146656336227133345815170519,7588487705630577686965956743882876270164,0:4653797610323419583601822953872210529815 -invmod:559049983877521594210938163489019460719,951902276119605669127355840612003004,0:683326157826438593722386803692042151 -invmod:9570949170433291990391807356653340234145159,8534474723057896563545270622977282626469,0:7559467634929916340724978098594978746637 -invmod:987849800664220039883494398655886160465,6831497903141449539539967513122604383199548,0:246607561273243347599128464506339845374005 -invmod:916515834175745144405438914198070103556585,4056859814803168890581397499472591207566757,0:1770209812768098816334392652319997964773464 -invmod:1228631771902154967504229180729583591093,695152447128287511961827228275915906161196,0:68820532783317596490391949047646875295925 -invmod:85204895476713840095779420329627903803,797154697565857850707103989977884356052456,0:189834737137977542797303467784002206530403 -invmod:459421385046429900048441785147457350775932,7698087947447355511478579587800901996173,0:1050954140018038340522121385945573583123 -invmod:8211730416251817740382555577378910158254614,52604175850251752026919899874340035,0:40445721575495397750278068202293844 -invmod:13222111757762648331396301846656536813259327,266888325807002880450404100257370089541565,0:109298344157958287037388161546711172781058 -invmod:563240385133071678994472898571956920719,3993868915925455184846327870408751385272,0:2785525939806848082603069961895833469023 -invmod:521639521589957338674682854605577427535430,91720686816082732671407774270039351,0:17647263388578210512345389034742837 -invmod:5156816003277235939668801939908183725744,5153042308730983383934473837808025008231,0:1734593135670097399582886018375080924055 -invmod:9790574355124996717257076778746595337,7094481197220145398883635593951185851053,0:4633443452058944189941546476417089729612 -invmod:3738689158705918826996178299424238668515201,6395182435555998218010243005378643333837,0:4032119940417970860053188513124120286092 -invmod:13614043167840054636971961619348110233,9922954903164743574284496007816459280672855,0:6390894157193464477433210223562314675849502 -invmod:7722989551905267507172665225415434299,285028691296471922732299049703480528,0:80127272552190846362411085374898803 -invmod:34955948774875418184052263202780817611505383,25511643971935598979339727281441119179,0:24793574418979515087827479198686647984 -invmod:9752514502992806699558935311322486653812,3763087306264536914043797765340033186467793,0:1025569723180811973169033467813546203362574 -invmod:27465132713599700004772511614559440798,13274810225615043094606232580958497359,0:10132125917976802477194900566349825181 -invmod:875919373810765425715940434040195178,5349809266782277700868243297033816292139395,0:2651731185643620478354040628390151701549142 -invmod:6881906840916466478584802007995526309234459,756717805668582535693388931894211346359,0:145296958725486236992417439558326443417 -invmod:334311791774893954611025022303233183505395489,584529866497361400618684187440397242,0:292400244436936079523712480681940227 -invmod:65712090641887119990742721342873930,4336182528635667934371588198046750892623,0:558253505423903869478690367363302598682 -invmod:4492701702646633574790657588147591497,887008290240310205861702963649926144764,0:434334236746323412542488940776733666249 -invmod:411586476025579573736047981166427386223,60898553483467476285120690698220614489936966,0:19455038575262424591552585688228685688467833 -invmod:6367597108696643245107048337012153376861093,65889932274525424609098394737176730568661,0:65870071424966086215554796795651660966036 -invmod:1049560658786859350707338961047775237,5274992996959254283334337773536473890159,0:624593399529926255525711013688044195635 -invmod:107527378432083555117117943876656903468876,716429394528758636372948757175038602405647,0:444454875067125022527116753199711164880725 -invmod:555145963886409519368431903982210135919242,8268229830304970030006026946953367235680701,0:6387083941953876784249641453937804161251014 -invmod:77948002708019596204938559286354567269,455121612933774657179682813659815211,0:364811843921650022521340876006123246 -invmod:498360659435361921366498611099013149316057,5728485554979561072455795106370849106458,0:3102501845651843687065534092900673818593 -invmod:726843237990292819218621975265928124471239641,2887158075124871990135103381732069919679,0:1068470994113776781214157184472987715710 -invmod:14490257580500837566390302262779531170047157,32393480535449409499704778950027988096,0:30287826764106717477700071788946051485 -invmod:6270142013450141253944931199020500202121765035,3763601356640037994669890437848434673885751057,0:3156243150557294814061853765553333562512998545 -invmod:809245912199158373741272239723610868982823,8030588855423774308237502000480454393456840856,0:904571791041508997839920338301126020187933047 -invmod:19533970453895817522762076874428022848,66299209695045887406306821511839592998483515,0:13599402726209549954335916901935358290831417 -invmod:23199633133008878062415683980086247896344005,61479113901097914563017676528126502674819176957,0:50989713359156907028812686282866020892767441337 -invmod:2862728440518115487475964440740584330473078140,51210656799701051518059629917289349291243014631,0:17918271858261676405666583245056315801120815006 -invmod:14971096876073425168884018562366418693791183,9559636375986473567719335761058531628207,0:5109731903973538125843601711325876342232 -invmod:532670798205641227016874816346924933526518,8612651409966775146216925722782469875353075,0:3211535369857991680135616378366713231520582 -invmod:5277579668620044053588021313993390529699415,7623352070936849233565453286144593741688259,0:2195179503632503483804554417001536677298355 -invmod:1703242284411257170432455927132332917751,91946197833078813303494400074098343464254335961,0:78127206681265732452981591549234092643891370502 -invmod:661687018626315126767845163322826263674289,28536010760826245705236059697847500278395679313,0:9982270980885276298051810649502841807467187592 -invmod:71856999282924192732858943855372784788,27823718424741468425870327772094802246951559365,0:18935276857302206232390405420351565823103424567 -invmod:4662964353558658735645456824027896151772,33878933564208336888348089073090367622314169867,0:10548442440909583945565305765948929087304389925 -invmod:62009389758664279395604249729164619334196,538359108562320297007051503463417099077320173,0:398148791843022164991556905409865960939044422 -invmod:6183332385813041506672156000574955880665,871559003971682075020587679481749233390914546267,0:361446020046797748452828311000569764812530143855 -invmod:9155753362316784223456266001165269228274821262,564516474013187481573175782767769679250281341653,0:119205620905238875198589061317020547195431291469 -invmod:2381725363012237979273240212723131218823907332557,627105554257965120883096528911164566660356,0:171572488325502115512339758443240079349533 -invmod:98450611484841078779323233743949010093062874462,498474891646461337593869229973450784375275,0:479013309851681824382144106029434631482323 -invmod:302941267046246453138910366044154426837953622,83818905504557213907433754163930101975463487685,0:77920560252131060387953578558356224479003138993 -invmod:3017383944801662240691138696888601411338516995657,61737866641820357298733518758961763874892655287,0:57869330891359519120660303033767633391977224135 -invmod:374917274538161669733321516492506551738043651,77803838634333688188670502424982439317036,0:68639725794250011077961000847054314676555 -invmod:5358355766108806240333647212584488077935,587627440281100756115550692187455782420924,0:314618325830273870368608880986071270807683 -invmod:86122802573518542982029793217367784359435,4444541935970557301558909662301636875859,0:1955320382109976216143063234526457146856 -invmod:623824975419641052226172487141306430801018589,20768350634786110695583221446196247762848997250,0:12103767314840562576462750961286924811261413809 -invmod:7590027145148728758973273983569196467947062255394,90068309971049962266103924501064672741412670385,0:6331972725698812300523110784176833763986644684 -invmod:686524668697820444915978210393072714624818,186650354938328642532017629073639972204995691795,0:65611028587457585490550162776486984373381347012 -invmod:8533533853350881783993052422423559214064752671,63016121594055151516162786594467518419073,0:131371511974154164830815450922802421883 -invmod:5344740912348618433699936772348773718405033080,754609660139342129058931248435676900268044223,0:601779294202074328690589293303990212685307436 -invmod:2630687964404181803667484048857594086603863164778,42030243673690269464501320091336384623277873,0:36838170059220383772604498138745951997014365 -invmod:5306175182479523993478999645749970458659031750359,758113498568456349896540610013930582835369681777,0:501795105681317857414510503515044239126764236204 -invmod:806866598044057476584935940512202394402119521,947641922298177262021501581582394143250064926,0:76703572909587691543666595336149993104408285 -invmod:3752967247553075344733410201251369307099526185073,4402571726399572455553419679967331632378787202832,0:2918979067711444062792869424130652843352323160497 -invmod:40984400287710529101974761448375262101587597378,7767837478658170863917839375734721468526147967,0:2136424825671493001327961172463161875887529706 -invmod:401457319584326150334816297804779451405784588169,540188815699793070242075787313955763858504,0:67372106144949744344758423425304866564305 -invmod:7328132145926961595815732345858284613765167,9787719863595769932092399021858175294652078,0:2230156054528184544247089349526629112621319 -invmod:77171202039883192025885180439962488662357894253,12064457568855376162922164978659009383963542,0:352639382534756831500079601223680437740983 -invmod:1689300510107332942753596615492360305248158883808,5021685778114233976935875054258022503184892416233,0:1762404213252802117851393076433629721481995643743 -invmod:413626471608667549603757397530674300567855542919,759613621964327430276342657441698817566357,0:642374968767231560916741285504168484044924 -invmod:815487836506353402229957209437685304756474,231515992882606539156732730332354159627815,0:55964822173154353392771255475917621969154 -invmod:296426386298708272323405866802864845229206612199046,342337072550591175877277735718537487310584965,0:76144006758731629943626088879647674452875321 -invmod:1368837997243033258097250654549080178537403,72416746615410564704099840606609957868938364467,0:42273580850321891614742957751910595825483883404 -invmod:9641372200812485192345151698897221555588679358147,287806137472581046723231335880874585176303828,0:255252466811823779617792436926094192052670967 -invmod:46719509859424879114122464677053888891786863,210544160158454559735214754459187198735974410,0:140373812459197552193672103292254446400518517 -invmod:69471867059868794437449477784309966908311269,475692585941773291840125734394747164491541976266150,0:329429867057697325602436904654233483107661273264729 -invmod:7405667221685129649068997020918698026393175001749,796216300173551602800332455600650397180944683116991,0:130410302259950789489978656088071644453583901435057 -invmod:9875331536196145287163751005066164594069492626,2201640116844513333140292091820792899163450729637,0:2047598928737481788502134745016206195377427587363 -invmod:62945526176222857740120186454769067947012290363570,44934526527044082707728840604580666450874671024251,0:43861879034315837687481092531336507739461347512032 -invmod:5812420662398017239905743494134134746465045897292,52956025052699844938819589327012098626977604723,0:13815068782356510869666523823706600133524973512 -invmod:62988324661142084736397879043193595721220178,7404210351476786487650626340728674929309799,0:5036483589239858803333996442909574578899948 -invmod:286333666557475431954356887797614991091286553885,730177931071629647633748484619415338517839601274,0:363260706789674293461306138407487067104937300831 -invmod:49616721004820516975071365326319319198923021689,132795538845737308034029046093145336156955241,0:56876640900410852290230149182444669136767187 -invmod:5446872665716082344009604433844511709028377538969,2280298209842444269643398464555071512122870262,0:375611662251833543184276080958156903157176019 -invmod:48133060961114172650826182330907073912078935,8721390832897265296674009086319009860242439839,0:7702992209702028145739081817455455176622350078 -invmod:40807573183755241530172346993573440974806877031,21200726747362217929091368487884445712920776,0:11454862264524468743635374252060129893516039 -invmod:4876011850332170585030918362754881792191414391238,883237429556989698304596380266521788568157904911,0:527685501843148925165860150493838048613672434138 -invmod:9004216524525198565187718452531030887145904294,8878366789568435967650795187708828058761785,0:4981848279005575310485064446844029075803929 -invmod:6993868737949430623485012912067313181948980567149,72587842808105829695332807775836181652781451620987015,0:29356657469761942723664151650917553481140935005518584 -invmod:75838243096115096340554120168203104139210864575119,6451996398231430323660940321776782700563518057974,0:1345394845933169255579194602505266246529197837419 -invmod:485790318680850515659798197857065903571954663516221,67351781195434836704429039169834802850340728665,0:34078566883503330914204885404291533157887033436 -invmod:371333400895514427330799618912986292421266652,74735768661976283216974595800490448686381913090033,0:775734485942448008241221468847983305862557765286 -invmod:6097834709804461306077622570209088350134909102,13260744904604742982854800098901232265425978195193,0:7180051176576380055634721013915424214485695619650 -invmod:600881693193364832300600937554551319012583954782229196,796027198454713309819370879215945879338962169620342457,0:305489886166685871022060158652320831304722506678707663 -invmod:5662964710494261101411655474670941615613599315,444220509796947509810830805138094482931853315876829854,0:83502974856377599186566250358062403371236716847533769 -invmod:6270395747183927103046939721473439728631174048403114,8803495340207614105802361410280441129955119276551,0:7638483007340998905004349443806488928949129256475 -invmod:5312750065420550632940178685674720232414077135667861,57930039498945162545687903211875639956633916330,0:20906112474411708869764963749645301466537400461 -invmod:8502626964451493813784509478933179204113913861,151683587165616476059679476891877738245602771985126484,0:17577340844446441446896817780642040689999518731337537 -invmod:4941004253366524324322788098717712122185453894,507952581732578381349957316858286666961520136240812511,0:312115745275256030023730055964263277096930720173778858 -invmod:423987861634880847990099692392247549547399923116457,6773005116228586899620384151284037878817381874,0:2411264735887581238523319245355992628456396037 -invmod:526342378928843427610581233811595257981048046869299,7096065565042815656938985029340106874450131548364,0:2266210293557852404933929618783723210631424222303 -invmod:78446630124873873738016711675224033887037462247129,7662020477272785489947682873719507826211767799272559,0:6618353901163261801200450611723749392144591388751943 -invmod:146724084718984069653032415105637599783153962,30298034422463313667029878130649415526567724423891,0:15840758667632633447433042854062793488919393155550 -invmod:532466063698619582407914116981870172085275218057609611,503389009870258977998715866699908326167138509155621,0:429130769700630834787501129352450771879630731320433 -invmod:664376039724377171384810644630468503764696090762,224298076389079709612544590641569981088172697659695,0:191050396356473488451331811254972158658440851245723 -invmod:835483973043657359948123633363211141824404441813878015,69643224478201509070483710852895974722854115357803189,0:53721439884173124810110466416454653383681843157933247 -invmod:813970262809468815021442298539024428784964079319,429074523317944731991730858790207763790104061278625586,0:158332012181946654631830290462479503904893230674781917 -invmod:3905569509910236582271054510190653771408672274545828967,21054133848316667891192282660059320939317809341779587,0:17094616510862655692939144695877501853951076117185513 -invmod:4691307104554605783547935208868795800777868512,942772133788456146227915931545461264049922041187188131,0:469683594104330994724852019245006601277880263578881551 -invmod:6344527026541951916306965449095645749422549760,76368107869275310020917570118694704915444730867,0:41500809372700676201512721693097909656425890041 -invmod:1532687328617246474516893240843261381746745335187504567,32537955155074651543885535513776259898758463526907,0:31592260213499097541600572787744360343931765806593 -invmod:7018504221615574834208014706510055329334098873351018,101610242334178923059833344503899037186775079202559303,0:10649252292552342413027086385381658365781051021861494 -invmod:614235942250741815189766632484724986765317349320542,9362550248383847419253207491333265608402756140737,0:8160460781303503000366571190909239384952542647609 -invmod:7775933593191150830308054268586415011508980457,368533946098442033007225558534059472616584669800220,0:253801676862101461324685686415984317623566854941793 -invmod:114994724586756601240947074309582797715956747530865,3876970882437444481290779177938795657877704941299426992,0:511133484674702237970986949221474571854159368113080049 -invmod:967002084921847074704293339527143050334641639867373423,67184311934061779941934593909885344171962367245011554,0:54742265392939905619225231956123009510166549574440811 -invmod:6280498620763463276942694339653106561075254543429361993,12246227880575723984287633819537276950692995636118272,0:6888911322746399525364250058022364228815026516488953 -invmod:44275278051846293224710462815690831294050926191,3528785552950193331450403045205521284400464217,0:120514793436107018084728538690789624267772938 -invmod:77233427780696709885390992536748673614121634321979788104,491164926805617690128308614539794239093995145700823999,0:199381937154931303182568760928699286043016185484364692 -invmod:2935661752367750120971963892075802637450138243541560,9020651236069334749255637029615697294334736998960171627,0:3125819936094028800430390470247841155021420396038210016 -invmod:302473523210899830602993285719361792150121191223306880,65877646712326499599771065429073023167212168003911407,0:52297679713827579628631563559676964578000626147057904 -invmod:267895147221485475464503294804253313969059499267,749147805746876465294375899176118315575206244421458271,0:129024846433542980463213625490720174159069030878062276 -invmod:3781978240476513092005529074451902150648006057998586,27364485741607024708356504480914129745315051983385,0:25329045084429371227591358650591561585384348697251 -invmod:948013514376879058094102833630021404464006764852569,8353743535195396401876310124547966294825033103946,0:7927522032829817758549574325420299949503254620703 -invmod:6773542220739678376382399310753118322321830877020076563,23546371430476080325875311266723651505011788851,0:23034799134897779290547258699648209277778406267 -invmod:56696856401426408452242119629657459089185724508184784934,7221005627051658808617341708011763226860565840269,0:2227292432795108865092977039762847004980273813910 -invmod:92662353717508325061448569170875221120898258909234857491,562238642230582644285673923363000274985338785203064143,0:82872573566192386039048139131290614037215257242199497 -invmod:89468591435176366016645724528914029419829867195549,705411786218184999265977265146374736801000908422516,0:485602435630685604293519285770866831844583644332693 -invmod:2277395840205666058520703175677485655050927000860231,792131783062753783192832245011815485211186317516729,0:36274050046894199444508304306949846655815849306835 -invmod:612911230333178233436163590340359496090089351991282071005,572255259654004408298629798022675847670239895312539448,0:403266920799126234196133278222931567019309289982594389 -invmod:213241578824971760442836297601417939805892681628568881016,3475071686128494213859357380055444712046960621996643,0:314926700961595267117992983958097210528266000605468 -invmod:89881958503908564448695138563460417549093214244379,33280210266097827064329998950581767848637995197241605416,0:12771855655553092160496981250440547140648269015354531011 -invmod:73159396554894592455810450837975467585529573360122965037,161924163103234420910961871269258741990082667722423375,0:55900291355504579400968626517795006263004157119627223 -invmod:869777439024092504944123032140706083242764771562615,3691156600535012715499994551919740723415019969643,0:181436500307965243185392814904512789376492449509 -invmod:9146539798430854552628645300653561881701305853292111330247,6627303121361849299873564751355803129746293824560475542,0:2409578230798119285960935905755578839375100707728705163 -invmod:24992448558250395162546529057033728367963608818369,97104418275857998682685499767517746419160351530467647181,=1:62070924902659777799435874506647028956762328885724256288 -invmod:11569840794297110873922272445085763696814732411121,3856710587570728871230191743757018008573821992755,0:80733435598402588027986814199605794544352758136 -invmod:649787313291617912250345498890431010716418004127770,550784775616289426175030973861257697988532404146125403,0:190014706473838692857161698137541544033343388692933291 diff --git a/polly/lib/External/isl/imath/tests/lcm.t b/polly/lib/External/isl/imath/tests/lcm.t deleted file mode 100644 index 14eb20b514a..00000000000 --- a/polly/lib/External/isl/imath/tests/lcm.t +++ /dev/null @@ -1,780 +0,0 @@ -# Least common multiple tests - -# Basic tests contributed by Hal Finkel -lcm:2,3,0:6 -lcm:2,3,=1:6 -lcm:2,=1,0:2 -lcm:123456,34,0:2098752 -lcm:123456,34,=1:2098752 -lcm:123456,34,=2:2098752 -lcm:-568,34,0:-9656 -lcm:25,=1,=1:25 - -# More involved tests extracted from gcd.t -lcm:0,0,0:$MP_UNDEF -lcm:0,0,=1:$MP_UNDEF -lcm:0,0,=2:$MP_UNDEF -lcm:0,=1,0:$MP_UNDEF -lcm:0,=1,99999:$MP_UNDEF - -lcm:-7,328492456,0:-2299447192 -lcm:16522181,930,0:15365628330 -lcm:844378,24,0:10132536 -lcm:209,3,0:627 -lcm:70522336,34102,0:1202476351136 -lcm:32557663,995533,0:32412227919379 -lcm:641,701,0:449341 -lcm:290748,-233,0:-67744284 -lcm:290748,-233,=1:-67744284 -lcm:290748,-233,=2:-67744284 -lcm:-95,4770,0:-90630 -lcm:6839092,7,0:47873644 -lcm:787590783,-6789049,0:-5346992417735367 -lcm:721,15845,0:11424245 -lcm:-37028,-949534667,0:35159369649676 -lcm:618,-3,0:-618 -lcm:16657,-544851,0:-9075583107 -lcm:28271,6,0:169626 -lcm:-35357673,5207718,0:-61377596706738 -lcm:99,-565,0:-55935 -lcm:9311525,-5,0:-9311525 -lcm:6221599,7764515429,0:48307701428550971 -lcm:21590339,486739392,0:10508868477933888 -lcm:335,3699183948,0:1239226622580 -lcm:14,8755508782,0:61288561474 -lcm:-5302,9,0:-47718 -lcm:8236,9462435,0:77932614660 -lcm:43040,2766705,0:23815796640 -lcm:863478587,63,0:54399150981 -lcm:8874055124,10,0:44370275620 -lcm:8204,-89955,0:-737990820 -lcm:3303887262,3,0:3303887262 -lcm:75504,-62,0:-2340624 -lcm:436,2123372,0:231447548 -lcm:3361227,943089540,0:1056646008421860 -lcm:37340421,223177728,0:2777850107114496 -lcm:-35694701,238293550,0:-8505817017478550 -lcm:4263,15500547338,0:66078833301894 -lcm:1493,38730799,0:57825082907 -lcm:-635007,298501,0:-189550224507 -lcm:4968,-98492710997,0:-489311788233096 -lcm:3367542606,17576297,0:59188929003209982 -lcm:232155550,3921719,0:910448831390450 -lcm:4860966,700,0:1701338100 -lcm:2323372237,867,0:2014363729479 -lcm:4268,-29035,0:-123921380 -lcm:8,-73804207633,0:-590433661064 -lcm:395170,26163606,0:5169536091510 -lcm:-70027196,6945032910,0:-243170590407510180 -lcm:5871172260,26773591,0:157192364779785660 -lcm:17125540,836,0:3579237860 -lcm:1988202315,-68060596,0:-135318234527479740 -lcm:554434367524,-909419,0:-504213148079308556 -lcm:-40457802353,3398,0:-137475612395494 -lcm:410791452776,4492144466,0:922667275633904368808 -lcm:135751970,7417878752,0:503495826902570720 -lcm:9593,31047471995,0:297838398848035 -lcm:-18387143,50226,0:-923512644318 -lcm:413450673851,-124,0:-51267883557524 -lcm:-618513698871,-318914624,0:197253063714294189504 -lcm:37416674596,-8817,0:-329902819912932 -lcm:6242382,-943205,0:-5887845914310 -lcm:-4949666413,1501091102,0:-7429900210422557126 -lcm:-6385784303120,899228089,0:-5742276615660794337680 -lcm:6308,-79643949,0:-502394030292 -lcm:2421,136928,0:331502688 -lcm:333180111,442438,0:147411541950618 -lcm:723761305,611024432789,0:442235840862251429645 -lcm:-91289,-9223787613074,0:842030347409912386 -lcm:10944,57098,0:312440256 -lcm:57145099,-94544476,0:-5402753440923124 -lcm:9327105307,88173695233,0:63261949288116530887 -lcm:73230770347,67182928,0:4919857571607036016 -lcm:4810254287,-4310,0:-20732195976970 -lcm:7200253992,9893,0:71232112742856 -lcm:-92709373682,-664752121448,0:30814376416612439465768 -lcm:-2236424417,-69570761,0:155589748609671337 -lcm:781963714,61084006246,0:23882738195060678822 -lcm:781963714,61084006246,=1:23882738195060678822 -lcm:781963714,61084006246,=2:23882738195060678822 -lcm:78553,-3773682081509,0:-296434048548776477 -lcm:24811454802,-26314981001549,0:-652912961735421705488298 -lcm:805866671,8061826,0:6496756880801246 -lcm:4281823377004,2916710,0:6244418530970668420 -lcm:15229,320560332911,0:4881813309901619 -lcm:6093153060,357460,0:108902924641380 -lcm:624794507388,3264784,0:509954777752056048 -lcm:2632503413711,-514594728450,0:-1354672379322310051777950 -lcm:7216089,86034,0:206943000342 -lcm:112578025,4532680608704,0:510280230883694129600 -lcm:-972617496,-1100642928524,0:267626142282779963976 -lcm:-972617496,-1100642928524,=1:267626142282779963976 -lcm:-972617496,-1100642928524,=2:267626142282779963976 -lcm:86658,-56860,0:-2463686940 -lcm:2292080,40552081391276,0:3319593382689853360 -lcm:57144144326678,3579498119,0:204547357129208422518682 -lcm:77390585076,614924,0:11897332034318556 -lcm:685579,959286825595306,0:657666902604804292174 -lcm:346354116,451435163995,0:156356427156803253420 -lcm:443946215999,260668,0:115722572232027332 -lcm:640447120070,-441698,0:-141442106020339430 -lcm:1253208493501,-8521171736,0:-10678804794135860887736 -lcm:8507343,62395589,0:530820677310027 -lcm:81126006,461820852819773,0:37465681276782021316638 -lcm:87891707090,40954510522233,0:327232894803129615339270 -lcm:-767589,-991593,0:253711959759 -lcm:86229155,43027930,0:742052409059830 -lcm:-431963821,48986055721,0:-21160203804962069941 -lcm:101557073166691,-74080192,0:-7523367479146517284672 -lcm:-34269048183,250074,0:-2856599318438514 -lcm:7650667716360,-959482143,0:-2446893018624669653160 -lcm:-176432105527291,712269105001105,0:-125667137897384071121162656555 -lcm:91973525400419,-52180215632622,0:-4799198387886300095948868618 -lcm:9054526,-21388581343089,0:-10192813993374435306 -lcm:19326311972,3180878,0:30737320286435708 -lcm:501569850634,39035351302,0:9789477660994928712734 -lcm:-3470290487760846,622612793613,0:-720215751744466904366758866 -lcm:827793089252612,77591849874263,0:64229997108241062748844324956 -lcm:19866668332,4414961,0:87710565885715052 -lcm:136274450771,8659380001,0:1180052253653656430771 -lcm:952660786088689,171372582380,0:163259939044179413638699820 -lcm:429415374,9140880954,0:654205802258564466 -lcm:-368107346,2945634,0:-542154757013682 -lcm:2147845929,79983807840463,0:171792896056056736025127 -lcm:77885771608,-51236668812562,0:-1995303742544970246669848 -lcm:62272695670,208399244,0:6488791349735036740 -lcm:61973019,-1405255816878779,0:-87087945439289091663801 -lcm:286206733986,212837117931767,0:60915416394244148267933262 -lcm:-131938894,1048695278656631,0:-138363695208977699906114 -lcm:27109492,306933238851468,0:2080201045794490233564 -lcm:-314477095129839,3837918787896,0:-402312517253922259873876248 -lcm:4116345,9101435151,0:12488215692214365 -lcm:63853435249810,902940229903,0:57655835504559765637068430 -lcm:80076033,14791385,0:1184435433375705 -lcm:-31038678,1454704764,0:-7525352125810332 -lcm:-31038678,1454704764,=1:-7525352125810332 -lcm:-31038678,1454704764,=2:-7525352125810332 -lcm:20638192722,-14267370499730,0:-147226371004802594482530 -lcm:8065790684,-1977228453431,0:-2278272977117641090972 -lcm:362687955673,99742877979696,0:36175540507397430642015408 -lcm:1235326072088,201675880263044,0:62283868250058987186578968 -lcm:568009735,49546482048450,0:5628576827704468332150 -lcm:849579042,-3197920541,0:-2716886269614901722 -lcm:1808291492597692,96814519920612,0:43767218183093114768373606876 -lcm:6275712123233717,739880208952795162,0:4643275197065752315694969352877154 -lcm:774075573665981,7523229210171,0:5823547966683781965601892751 -lcm:2944466357361,497012903828640,0:487812591499242877115539680 -lcm:282862415058866,-6240991940068,0:-882671026265275987882021444 -lcm:571225883598025,189932649930728,0:108494445780794463607647612200 -lcm:815309478,-371377784,0:-151393913606918376 -lcm:320172590239,777220834144,0:248844807655600692320416 -lcm:654332382,7919190746613,0:575753660527071413574 -lcm:-5094673003562,268414312780910,0:-683741576547274437277800710 -lcm:-77841790209187781,35267718271550,0:-2745302326850733800658699930550 -lcm:735762990564598234,-32739891496,0:-12044400238928708979996609032 -lcm:-5999905013129575,144027889596460,0:-172830731364054662969688260900 -lcm:6861193105404525,-4725324526382425,0:-1296854562448559876288579018925 -lcm:859748569384694164,98523184164,0:21176291659055938820647004724 -lcm:570460270963,-54720108308,0:-31215647812506387460604 -lcm:61750383079701,3452251304617,0:213177840547497299540279517 -lcm:-1738716695,8560399484936237,0:-14884109500328036282376715 -lcm:9953417006786660,90085339160,0:44832847342864414393180280 -lcm:188523146978,954842405502,0:90004947576640310936478 -lcm:198834734074395695,171072375577893,0:34015130305505499211880376370635 -lcm:-102893613303732727,155104650554,0:-2279896847959124297878354394 -lcm:90836124710855,-98332551310,0:-1786429578786341640294010 -lcm:10512242068892,84377075433,0:886992242016856266730236 -lcm:-726835478343584190,29339956106373,0:-7108440343718461118245907014290 -lcm:5033847480079150451,-69469662902517,0:-349699687543783241256712189585167 -lcm:3869558083241,-8770208065,0:-33936829509626159538665 -lcm:46079368203995132,23609959311256,0:271983002096177133105574201448 -lcm:979137194422864421,-1378816153373947,0:-1350050180039492392646639294639687 -lcm:-72618673468,-244198092166982349,0:1612121956052969066631874212 -lcm:529564016606,376298866055896536,0:99637169476421881457260938408 -lcm:554186920892,-629719688885314,0:-174491207704210180689290044 -lcm:3455963977845612750,271884481278417471,0:313207657811150223746536093433451750 -lcm:-41270780965441117,-4124462824121691009,0:170219801814430998805436931657817053 -lcm:47581683736,9394210662450,0:223496180345027475456600 -lcm:8196306676684,76732052476696223555,0:628919434030412315441895170091620 -lcm:2939970750639,-2013582768244,0:-5919874442628068251907916 -lcm:70476757656499,-100957934015971,0:-7115187849144405009597945529 -lcm:3674841030712174173,540185467629182772,0:661698573546054604863388890438315852 -lcm:82915322420038008,123799513890,0:1710812768272220630953988520 -lcm:466513077506,73565730651787738,0:2451383957524498065361030102 -lcm:-38890216282311653,91459939591112,0:-3556896831865504089438972828136 -lcm:-38890216282311653,91459939591112,39285:-3556896831865504089438972828136 -lcm:576595981539992,20909590051109791,0:12056385599118501431228849261672 -lcm:956905636477652,8381376662473,0:8020186569762664723411553396 -lcm:9187294026565993,54295427509,0:498828056823282593136101437 -lcm:8866081281165098,6545042142269515,0:58028875622012459166053127387470 -lcm:338772425501,-750860960783,0:-254370988898468150127283 -lcm:6750486296504,8609697533187,0:58119645214823136262078248 -lcm:736067207074328,329259058372493427315,0:242356795500164369960320250670469320 -lcm:680100030114145,52232423165123,0:35523272567534917195872964835 -lcm:22697310250913136791,365228836596285515,0:8289712216805950219366224267686882365 -lcm:30594845950075862222,37349482121506846253,0:1142701651822614557685156508694964954166 -lcm:866936756424,-1765396942933391,0:-1530487499507519421423353784 -lcm:6939438360479781,24559856763503,0:170431612152541518812930232843 -lcm:927595346004843560,7670228140092963222,0:3557433962772809951143296742471775160 -lcm:-357321286444971587,7925597841132985664,0:-2831984816439127983772762412958328768 -lcm:6673370692769029,520191499051311630305,0:3471430704396611186160057152801823845 -lcm:9013236794945,1008467412252240244,0:9089555586614859880726704766580 -lcm:406532185466775673747,9519149309169118189,0:3869840572441069484183117712436347484183 -lcm:548046408595014443,777065152533771,0:425867766090470284154159790254553 -lcm:23897406396584,-8555442893510156172118,0:-102226447864489365824170750635622456 -lcm:54729344028716311850,2026849525600172204,0:55464072490506137031056639711882908700 -lcm:-7936445752013,-98698488318151151,0:783315198342695407195996516963 -lcm:6309028281362257922,271678876766048827,0:1714029716965733695518439315219557494 -lcm:6357785774765671053291,56936125648067424,0:10969323930774361884705778197353487648 -lcm:11095109588014,9104811531028000846,0:50509440857484599522180551729922 -lcm:-921590308699737078,472826384755153630,0:-217876106943941345664446493248646570 -lcm:652120832633171211942,-3387083844442113181,0:-2208787936835953406166467995677302807502 -lcm:32731949302549,335896184427699,0:1570648125658156079680986393 -lcm:3635516318567409721998,16713986701316425,0:60763971400954533716595371769881217150 -lcm:6746198240933100303896,2007405485449,0:13542355354775500078274959306009304 -lcm:-19072614334803913032,-240759760944833349,0:1530639355946797274927793576109768056 -lcm:828472954262165857,127978158379025077,0:106026442953302260750986298136195989 -lcm:8306750095431507743,6378030328941226919,0:52980704043597587430846783712468533817 -lcm:7938532173109072,7646615157112938170608,0:3793931277507783816896749585208034736 -lcm:25274397567311,3125247753747112,0:78988754224550174717491855832 -lcm:0,-6378030328941226919,0:0 -lcm:-6378030328941226919,0,0:0 -lcm:400327281633151431,37147489147345586,0:14871153349853852722430493627433566 -lcm:28164658061513141691,818613450005821036296,0:7685322634656510878949613649488100605512 -lcm:476291935913056166817,170589720180888384,0:27083502690607291480376538585587184576 -lcm:84130837655605609,16051948347568699941145,0:1350463860485469013094700782617631882305 -lcm:438146043336536562159,-2206822496905640873917,0:-966910545365262749689560255553699552306803 -lcm:8120293725815373571,24028314574527126,0:195116972081450718759827878362986946 -lcm:-667658265953408,8440015504605457600699,0:-5635046116424757633428637247402232192 -lcm:53314441150262832895,283247085055963859,0:15101160047199676268547968068076341805 -lcm:6658153298145442,2140281300389057549,0:14250320999144418995877331910041658 -lcm:213046498706732967,784948480361985741,0:55743508468763934304784144916207849 -lcm:-3857522843819,419578526133778265155,0:-1618533749336956944635887834826945 -lcm:-4948941087660882967,-779517282262677550602,0:3857785106731510951136294197380142396134 -lcm:4277076043224464,448010594023993,0:1916175378810781677476700564752 -lcm:-644113523059324254840,-71225587742718143,0:45877364252933205602125580469623562120 -lcm:264902435468141506,-823887292259809475,0:-218249750270876020336340975899569350 -lcm:1538706915662950684,448326823774496344436,0:172460896054755625075686197059836448556 -lcm:2036808313025110180,30422160628736748027,0:61964109668796220999356441366572614860 -lcm:7385426850078311,9871854919284839,0:72907862380963907579111265026929 -lcm:804644713550364054117828,8379163811459445,0:2247416621621120599518832306788891161820 -lcm:981008037679996757191201,-641409668917881464,0:-629228040654107304092567432937180101798264 -lcm:64201713053871850,879119102660231895102,0:28220476184584758536715661672075339350 -lcm:1033957429367195,1113485105415049436,0:1151296197233604656037339121652020 -lcm:14455075580451942850,-1885962875546302716,0:-13630867953974143493153933318215890300 -lcm:2615475057635555327591,71606675442458157933637,0:187285473579953754910128144228132079173078467 -lcm:596676024530775,2621192750454214313695,0:312800573973981674572351390206292725 -lcm:71665682789483848832034,351563529541544408090967,0:8398346796158551916852810998534107080858545626 -lcm:5092055214749737510271,-1833800774226189505,0:-9337814795210574311088704576082129905855 -lcm:600508413963341945,5057063373752305154,0:3036809105884103889579068197287884530 -lcm:-92318043858914149,958444935645415778103,0:-88481761605267642819033271229511079347 -lcm:385447683586530283,1775981280157037775814,0:684547870529570889684189390051875975362 -lcm:80717517906672139,362327909576030289130356,0:29246209529290308450092391020660324351484 -lcm:31249856290116188,7875872084416640,0:61529967699339457577602450142080 -lcm:5339381130045070,-287550419156538713298378,0:-767670640990486609645612376307748948230 -lcm:-28993892995370333046,698005135756870427,0:-20237886216353643864566444205658230642 -lcm:9179674525723481348,81469928617693608886,0:373933714172176229761960288978914029164 -lcm:7522547789649675160016,285918417200326088447794,0:1075417478665223340089057247433582968006102352 -lcm:-901774653467788803,236000195734098992,0:-212818994726447447848669649751186576 -lcm:142671415131788790,-2583777714764598301032762,0:-61438537158574095028788610137898909056330 -lcm:951078283105727024828,1487627587101952300275691,0:1414850291441640178530450466337072693601856148 -lcm:19185476025869672486,2445736876347152429980675,0:4265693291522152053797221279874464505382550 -lcm:6741226163186521681303,2568160083399218078514720,0:17312547945462088421236893499979478635434280160 -lcm:3987919571578399660412212,9884144363611069680876,0:9854293188987727688997011704065958289363314428 -lcm:99431631881940059268,-291965406586754754564989,0:-29030596829995156232729757591886192217768052 -lcm:36727416735327035,-1612205593089728906670,0:-11842429336086311491916222123088564690 -lcm:19590774006340220367562,984968880458891391,0:19296302740348077288926838014277057458742 -lcm:70695613219926859099201753,62591913993270611799645,0:4424973742363186825608316839246937058962268777685 -lcm:77425442645246583405,-296832015660977965,0:-656638577252342429795743277063990595 -lcm:807971872592227526408,40230405885131399744453603,0:32505036378154987781247713889763216622213248024 -lcm:965370212546292322,92058451234918953535616,0:44435243317668098531171705039686887170176 -lcm:418561885926860582,239657399821326936,0:50155726622771131306218069956618376 -lcm:4657697584188823828175,78713797195009784682708,0:366625063037526091489561582727843402285697900 -lcm:-38091455008728662,5763777114003492300442812,0:-109775328309201979538317902240813878138772 -lcm:54943065861736600767,6268390929335695219433,0:344404615677603400985934681975925581105111 -lcm:-697639190379957186138,2936028900796584636,0:-341381470880647489965333380835887162628 -lcm:96018089280939789090187,29566309848085271814423786,0:2838900578701380961562729671686086004548591987982 -lcm:-1112368751522257152114,1995174854903534746993983,0:-246596684713071723298909011042483787097081118 -lcm:-84342841213955171500540,5699084396809137598518,0:-240338485172501289667138051435146885070099860 -lcm:225675029492277024520800,92998377812004114915728728,0:2623426456932243737035123197311725507407124192800 -lcm:7655269162163547244,594548791001649285,0:4551431025156545678791700910016320540 -lcm:17608380663675562604,264448308193844308642824889,0:4656506476542203967645749547080047894928850956 -lcm:223093179893694063251643,17908241494426478956477995,0:1331735513765267693007651331958962321896225698595 -lcm:-9501451313199296478183,164266650410143061944307590,0:-1560771581254303549338241248628058185171476308970 -lcm:4558730178677382262,3122005086984557462,0:7116189404010403994895797264339269522 -lcm:54440882483631228680923933,4478571958703194374379,0:34831058528320962440312711060757171496803301801 -lcm:36855929355558415329723,308635436762628905,0:11375045853945367585945011810669865443315 -lcm:28683868680975381560,42902583850929860163229,0:1230612081254607193977374775224312156657240 -lcm:24731088466679335541839144,81462858536522998396,0:503666290303833545129681622218515211800503256 -lcm:-72335534127835253275,-227166439208550011362,0:16432205716068881729381218555965397710550 -lcm:474777034176054735892,839001319154604024448982,0:199169278989010220914577285259796918419130972 -lcm:6299666296143449904,797331145004636509,0:5022920141051174455685525850770945136 -lcm:8540885149755672764459236,41765710483565552588310,0:178358068219039923285097732763708140948642565580 -lcm:385990739803366398,2963466700114736836981086,0:190645117326654704160162372267660375658038 -lcm:-37246197932269024,3005402223074948482,0:-55969903033365437079467727082210784 -lcm:-751622018429096822596,3003864133422104297,0:-2257770423049491832679123307914818295012 -lcm:-6108319432277782804,-82931541043539126216389,0:506572343704992558730984950135146447174756 -lcm:30921518942393713547539642,721143788088068568685,0:22298861303554770289882384831917605974237310770 -lcm:570903751254308471830202651,-564896588437884119958,0:-322501581409949262735089396741686909437933608658 -lcm:1054271475454361570597270062,16484741384321323400,0:8689696310866008240570033696584650327520025400 -lcm:6529831639822170310307759,85346429845722052312845786,0:557297817952459046702350223377401463955562766253574 -lcm:-754058902141939454006,69516695016006129145191,0:-52419682724305615903366455441899934040585146 -lcm:976193241125104191848393,33823563038032982713854,0:33018333628496693179640404511073605465668736622 -lcm:2920092456500658009757,8895875497550350532901302605,0:25976778934365816392930294156133718389132099516985 -lcm:9994369499844252132394601638,93334243646132127297454621,0:932816917987935116609350111907831170748502078677269198 -lcm:569015432462996733746,16322837154963292812416483,0:9287946242754509292015515862839485902412735318 -lcm:192500272569416024937360278,-235265435750733300361,0:-45288660508178593749288683427056889794244460358 -lcm:5267095375035104443898399000,-764192677627393558125306,0:-2012537858983468571142965526423649868280387392547000 -lcm:51025753118541843018,-1664207936338749988204,0:-42458731648769528582814028192013959879836 -lcm:-62402848465899883613105,12900108782353988220438351,0:-805003533538860189408921682314395887504788189855 -lcm:-8212641700259728565,297115088713153106682478,0:-2440099767342009818056382435156531921584070 -lcm:-5313586393962705049080,-76998532453336088964044527295,0:81827670879828485147952271763338965987967674927720 -lcm:463290189242313601142817059,969769350842083604500926,0:64183518010432075137644646337185534388781059156662 -lcm:1917277332460964412252,-708614825339303498360550,0:-226435190344805337091761225274903062722243100 -lcm:99562752968815530108,23844471852654970991199350,0:1187010630368881028219592827335680236477514900 -lcm:3003923448532254675001,7732856831499478812681071,0:23228909960284118604870886637597256802569606071 -lcm:5794073936773633607324540860,-76553654622431077040278132,0:-110889383753149576103727978239709891143940060899618380 -lcm:-644932980169883872037968349,42642515095105038480,0:-27501564342225351457715028479060110852667069520 -lcm:41892582203464757978762451494,68041907390182959305068217308,0:1425225599311887918623588695629495898803810573641200629076 -lcm:-5550794996398648089925,-61773015425098686639107,0:342889344934094297210650346841878123357696975 -lcm:26506218374693057900,-167675112099207386871,0:-4444433137302729109790367830963302830900 -lcm:145568384864275126584,40072954892382195328941863291,0:5833355320423028246614959434448834158605847827944 -lcm:3161170925861501561771687,413220145707787390821,0:1306259510591710846827739981054213899841485027 -lcm:723440854928237000349411,-71208223609049472714282072,0:-1907960672801919279694226377330300776949407891096 -lcm:94994080481292730137,4307839512004666207932600136,0:409219253303864061854413637026462925940577498632 -lcm:7821178378958515500742,3087104738440174209004586,0:12072398416934336857114452721997626257582201406 -lcm:869891649236864909625695,991848579874131467931448097,0:862800796939950559315938082847205513561495590052415 -lcm:17628160996789341122894,299337591195948255548811,0:5276771249993287502058785568793774940966579034 -lcm:99527056994641754235498057471,655773087035017085668857,0:21755721802962104371752823247713242761829805420293549 -lcm:596721281791001887739,-328175786669349585798669238390,0:-195829476074104675040288189805440291150559409100210 -lcm:266802917073126657350936,148259550527207353925931727,0:39556080564609535241696861668682911763097415546472 -lcm:297095531532857951877,8071469565512676957784213778,0:2397997540817274789320989692996853463867804361306 -lcm:-64574484904487858142015156737,351049851111701482889769,0:-22668863311335277552737854676715612712147868228723753 -lcm:9213606993296693767546,-974475310790221342435,0:-8978432538291752468015873684497297955614510 -lcm:-6506246525097752180174,-95653949321972166356216836249,0:88906882198279699370047684476316613423860643189618 -lcm:7211807452760603826715508,25981532388511222064867790,0:93686904456803121715837451769742014367676981343660 -lcm:244358078258267292267766114,6788410077941126965241803849,0:1658802841074748272013529977344553715539817794996972786 -lcm:-84498071017578145227329893,51359077717175899950414794158,0:-4339742996343244440353286358071234877760977371555165094 -lcm:315675121566194900458712010,607326754590110945679173086,0:95858973542817944770878937652762380762977850708481430 -lcm:3336777364604897112789890,24326442512123908471776,0:40585961367908674095931490287547594986841572320 -lcm:-631164366791648249399815693437,224085205047080377284686,0:-141434596550917146771849565583627819691166316250805782 -lcm:-9374071452933990971885163627,-8124264246742383054580586,0:76157433551480046450059234199385450235104896467545422 -lcm:-8986611810629266612086889,39090932189616079255587,0:-351295032903711635666432166463380265071682698843 -lcm:131042125952122412011234961669,-603299752062616670818260436,0:-79057682096673636704088945577099341952975178863719227684 -lcm:-5931135084197112120929525527383,817854717051260202081870677650,0:-4850806806078831488870903900854502497422338114185819841089950 -lcm:37076034350171687718404493,6575825691817817445639700141386,0:81268513076859634022073542658756708736205992975479215766 -lcm:6586877468189252639017707825771,813151310907233772623665199797,0:5356128048043411806613358165516537614499231407192441180568487 -lcm:2933337084774328653741904208050,516673656644156545121601676651,0:1515577997760262602679690085554979355436376363966312331240550 -lcm:-9902991686684787357658450,173313993122814232472956,0:-858163516540686876248980610636336072294554939100 -lcm:9274522469490915283112908394363,44864081129175577116760112,0:416092928505602244504563614588785724831758965222564048656 -lcm:9608655195311416270604257657,65867528105907714734959487,0:632898366137150893335309426569727530606624485604541959 -lcm:853239911600142024011098491,17829323361272785163230303,0:15212690288662738268179355293062413175232317048772773 -lcm:23972081642808055559504902,-4501717580058722285684735,0:-107915541362031999704526719592126415237678659070970 -lcm:5314236376598680151908105,3994830160691915764873,0:21229471758282529614266075257916580301482995665 -lcm:4935319583093232012062136782,881389216056886912824752493825,0:4349937458332745712903267792817007035077166975812760371150 -lcm:580231659494763900889556,96767644291944525456085901,0:56147650832913989511127904567807102400387849749956 -lcm:303622305001319462939309066150,-27984889540977885375442171280684,0:-4248418333819511268163760331043084702315340960497818786623300 -lcm:8908131273613694428163643,418798812110676949375564324,0:3730714795515386967446577233797553865021052144672332 -lcm:604960317372762640669451812,820482420778387317631260055,0:496359305672865772215202726749222319854411791662969660 -lcm:3125355862613621420823337,52123353846012574000878521623,0:162904029521719649924422263486125418351967284017515951 -lcm:35876668588605457895900,-237986271303986771473105323,0:-8538154584211078670353490608427234416302669875700 -lcm:-43001262189486935668928474222321,75601013836677651900921245468148,0:-3250939017782005364312622194873995196088464819832369459876131508 -lcm:50360054222226284955381499,-7538629547593198554710875138,0:-379645792778070687264466482409787805710036592944271862 -lcm:16303655607623383537122,23252538460647040924816117157,0:379101379065406527294500251303186510479764610602154 -lcm:29876051059586965106021953,26235768232838079362376,0:783821151311760139992194729309972935608098240328 -lcm:29623076251397963944271763623335,47441755805615786352682527,0:127760977248178043763492761350640873496807885066769451595 -lcm:9892811422980328964557595259,603482574014084208448431822759,0:1990046433925368031040084916604965307795191807343715566527 -lcm:-2549498483308845928405350,2555383871703609992631017913548,0:-3257473652590120103062390285427854673645669471900340900 -lcm:-935906971037827073384146870,879641356065373793312781,0:-823262477154750723009760282203349336801144752145470 -lcm:19597038710644290533555897021,2985160892106475439715913026,0:58500313560112043537702497574448903543850923995448495546 -lcm:-5608937456930306694772980,836399586633606428927522624674,0:-180435114247317699327868488365007039436425700237558020 -lcm:7718522069758342120350478031,7389561033066750535580836572,0:57036489919551968141273365317951375124662579683087349732 -lcm:718875898101761373218778459,686314096776480574628984874102515,0:493374662700091643313347796063672168629137876643552239724385 -lcm:1300200863593962819188902,525922101427424561614551608409976,0:341902185229544560458110713971475236149786740307102643176 -lcm:539220635752920237029329058,29487916769600117002583914582181,0:15900493227532973069876042371837383552914044277544832315498 -lcm:5654437789656914341120143121414,6765853316633901505298664574837,0:5465299524692900146239549597899398996727386837109100340037074 -lcm:103114174998937498500059583,920095995082794389728025430890882,0:94874939452788796816569177101730218978113456477925771422206 -lcm:29882936700790118228421849,-1860889369990333700884198092,0:-18536279750198114735901679591403044437012106352304036 -lcm:8909623809613954310018698,-462806578041198407432067106139,0:-4123432506961820007043026316146032423296431299840587022 -lcm:7230230288816368650543810,22162946284655819337870476,0:80121602758364354591303319881368491740552371776780 -lcm:734442358589456361847988629,1647427465162259118128391711,0:1209940513118819039348215846845414818873067603985854219 -lcm:47616626651192848094181030316,2182277257935167463613810412,0:25978170360121936072057209849558211193870620332212112548 -lcm:294703827229370598691617,63046555168872062038888853,0:18580061101894254060770213008323255399294285845301 -lcm:-533653415261740333749397,-51216937243134223196656339350075,0:27332093479044801759907744737948616465079304814903154775 -lcm:784368839220787531616946253680351,39613735771181195550018240677,0:31071779944040382951244796866071327091341523727977793343837627 -lcm:5770744507580580048400572,231937913382367374762373686161,0:1338454439750996843543440906327507234975603867940884092 -lcm:388816489715059942531589642,82051838197217717225950877,0:31903107702510265086302832415272579698669593814016034 -lcm:60241729629297025142644618709,85181464884435369517497693388632,0:5131478776995614297555781224894400552133266197008401795116088 -lcm:1560786485638020475934392460005620,8850527081981124295638445,0:2762756612065888665370691207806362094705896562533237612180 -lcm:8296622334734688413856037840,-83875508267086319614619277276,0:-173970853806483090137656801493133601685389930382427030960 -lcm:-45794179084517723375284971259238,-49063790774577780701852303,0:2246836021296323435311993617164824492625064891225000325114 -lcm:1752071933321291709931075226933,57773126045256149501100162,0:101222672644126613791673432521136796654007466067313063146 -lcm:730668796977177255106481634556,938608337106204028806933670639254,0:342905912253069470166105593930151155858159563381855355668230612 -lcm:921730456287198291208119641693911,5458708493078803375257300,0:5031457870064330030425732359718797657583243087557468300300 -lcm:213400535376420556914942871216081,4183995847570912793889135547893162,0:892866953884353287726737673843872033409506009951957939872404338122 -lcm:32806047880829491896013320805772,753489056993475245589087354,0:12359499040704505410450582731649402374098432708182687703644 -lcm:15218771998961411533589410518,23457061020403160442042221,0:356987663435240813815179640133949762707316007457480478 -lcm:9046617676720978441798060,7479379807328977629621989162,0:4833077826849448212160770633271094897459555793758980 -lcm:2219170169044655639393672927,-5391273013704097527490654785062,0:-11964152245187612169646728984856115656974060298999913416474 -lcm:277590531551034474232270111103,579362077865358674190909581933,0:14620493377741521712796730933686046346752536860927744682009 -lcm:51422590325724235826789079575,2121952875387495603452158,0:109116313401543756339172704192689685091698905367472850 -lcm:511034032165016743768820348,458982236103828060996895790272,0:58638885702063744673892798532850716778223793123163513664 -lcm:4440454508740215531301617636697,3258309525326637800581711028116821,0:14468375222607860310511042523813260258037478238688128668452580237 -lcm:6330009746329830092300048092,-6167250670699283492360751201828007,0:-39038756853585645999814749830700965509494204090781844412512644 -lcm:-9374602262965156933926707655416,-30595740075402425097079774283,0:286822894147961315557763521486314502763707907853113422466728 -lcm:83645893910576549628700447097824,49931389572768584324081547829643,0:4176555715011469153471691311085610269167538819874387285307996832 -lcm:8030747712125824227213267818544,63329417394086865663449328880556,0:127145643461956118439868630218929081813205737418762248914457616 -lcm:378845361147099357535431194,38180105668041356349238612217040,0:7232177960221771411730351326884973759795619786776357172880 -lcm:25958762365949818177158173188075174,40582859445868015162861781,0:1053480804486029724349686454924029433193919106275980799524894 -lcm:95871031013239291309686124,64936572493882710890460913285902999,0:6225536155454490886042480192744349881519233810545112600285876 -lcm:455128054133718561191432952712,39088645380524987234419335395029,0:17790339110761304357582067458548970370146644724724054396868648 -lcm:1307047523348091088814812136,44132853285705545682051355847561,0:57683736585366097743814172916945483114493512756215268800296 -lcm:1418285824252402530993393665755,636810955908181043849421782278,0:903179951493194917152704617449910466299855863874287914489890 -lcm:3071172872783184341780369192882346,-58125204065109316437571977973,0:-178512549949750604044117019967590439630943828607057692292564658 -lcm:56958148205198214736866933854,4922289245511311172745764679844,0:140182240177343281524353792167921226808367574258629117519388 -lcm:4836813580368584281452577588,-5400032605107989894617874622172581,0:-26118951038819470026364723997465834517846139303988539028714628 -lcm:493001845960066187429806680791,4028800209124423703294502145421185,0:1986205940102641576976415454897329744147895770653902923543957335 -lcm:71197215106470682909632132625,70077573297929109151274279,0:4989328060232124924682056253101608707528304143079252375 -lcm:486722080146274783096432055886,505595939085965376271620470551,0:246084707185430303071142220010478564391091338964955649213186 -lcm:-194536785271632924316130857883181,8276525052027013498990299177664024,0:-1610088576841469642302988316918048088947156051499250583217058380344 -lcm:241211965193448971857220311,2710726738427327769580581757190,0:653859723678484041534242084550730982398579984949338286090 -lcm:667013805494915469984846976421,118549400818390788595763048,0:79074086979016886300666397440542951393124558234159091208 -lcm:507926799850267721181735296662204,67253859677995358015731931706714,0:17080018861911569471437509381376023258751803251807601040628418828 -lcm:448088677681619431331494894631309,779948091351174817338856782981850,0:349485908913850840791957607115202038571061594442475706481388741650 -lcm:187408370748924381155985806145,495794563709904959946586644094587256,0:92916051411047078205447640432962006059741039970472932758203488120 -lcm:868633158815673181555237006,836615025635832190680248872,0:363355776215354156722969079237153819583812159512078616 -lcm:945386362083356835627622353491,8230893874122803805176630038821,0:7781374816351144698349349350957993282560652485452042714874111 -lcm:5596932048341890824814087121,-2850793263280920843358756089,0:-15955696178454147555303366966824500182482049050635229769 -lcm:92079468846004092188293849,65000203344267255501708018874742834,0:5985184198822387758738668838849529371861013959766705099028066 -lcm:284485059147524530505559245415623974,-52174853366891975161102679787418,0:-7421483123046841473739983029315899581631043634755295287353072179566 -lcm:225019940499042054289943285,88057001889802818516938839002453179,0:19814581325767463952213083138864703402608880611447063777953015 -lcm:267625311635136684363577960127905,2364801628264216400078340665206601706,0:632880772719489569595591177205490383145217286350462293583250151205930 -lcm:-43414374537943144129863577734786164,-7033210862612719519352562332,0:76335612648449696783117174288123936538806867445493650875293612 -lcm:32883132771659855270849300682688,359989040176539024964573548207106,0:5918783702233763351390712750327251738350635067527850802106390464 -lcm:8225754994306229461538669946760,79816684330375527507314556065816,0:82069061219943782694121246737779709549970645203965267471994520 -lcm:7425838080456254658426507595,-1772612320788255147892065709861,0:-13163132073595363322916797538873046375619972048032782894295 -lcm:1660461221569443640519526747903779,1120888096894032723781619067526671,0:1861191218611314482654724970474950053651690424934372619599424189709 -lcm:-11718764104457037189982579964973,581785925357694644406822708535571,0:-973973145508581880509230586205500094467304746237860191614936369 -lcm:6811677000322905212875962023,8457366124986245338105030092893823455,0:57608846316878860294885890656152159404437095902874498977846649465 -lcm:234277964462994083732538315234,60350281492645017737168270090,0:7069370551432789506447807101173043521312584531845436775530 -lcm:4183588612759663468880479337,-629574038019737820951243554610835051,0:-2633878776348494576596482359410905898287329191507888206720841187 -lcm:2509727174403533842481294816277585179,366325095871570289922697736369296,0:919376047774859744204436335735246570640422606903982773682501840263984 -lcm:9652053493694317708921453500950,-91539642994112368354952933916454,0:-441772765486426429307043005631104317228468588998611266554815650 -lcm:35148593969489612322148628595,-82585065708416968121031576511657,0:-2902748942528768024032450841226352229253814757005116581031915 -lcm:2800741702103544119527140802733199,46761480207188283686223358035,0:43655609222787234193883724749974391389581728627052774652634655 -lcm:441336276433669766301405280032,2656936104993980830437872804,0:293150571825055340462835975394089506580252706417004262432 -lcm:19746122571650880858695931178058857,104545112367422664420669962306,0:2064360603074142331524120459909153582079341868724637548439444242 -lcm:74432478600289091913597803372,1021411507303737809729230605483660893,0:76026190159474490029899083115858462446496838080724392481739931196 -lcm:37218119790882940825047165121,-9786692593914842780007874460688,0:-364242297316869514078703840625474873421751340567491159263248 -lcm:68400175404962139133336849460667620753,8111497426974768586772111911266,0:42679065138613326270921172084657529459737080671434543323843052007946 -lcm:-36411507888779255237781266679960702586,288273015425729999064058691683,0:-10496455175296151796260705657513107808386313037221881095512634792238 -lcm:-93804297004149089553676142929158,72597578405766612297542242292431,0:-6809964806556531666828055851398144826196098989021186645152603098 -lcm:-82026709713179475197473688526642531,5827788603588390535677091203646382966,0:-478034324056320484117325267961249121989480834362662252362566162209526946 -lcm:545760067487517393173385480028,42151112506666653978439280505,0:23004394006312331510547051427125022225825594077610367254140 -lcm:-697412421088675986809554647004214,6926944054264140642234974161460,0:-2415468411815081649186019052688434218369772793280624742868196220 -lcm:57812799959867792819685059219,779735108345604313576941265627654,0:45078669840470262146069880262711457187904686148856378194042226 -lcm:1472311567166258003445083977221663144,83378953824849274359711951741465,0:13639977574949655229291079317010538142583886970067850684854934118440 -lcm:570337459673916278308389115966167469,6333660822968779197930730584647562275,0:76857957961877010509843395509780188770354864577206186663499194154396425 -lcm:-388785693105293562593219349398,820248784628021659491960244881371621,0:-318900992250380064850834487637248605290643186101012034699480634158 -lcm:11679788667362042415563834445557578,-5819547639993570526822921884507,0:-67971086574770424077123666817486620774164160205639229582134644046 -lcm:-3982959591737356792197606403519482273,-333248358612381656382679653253,0:1327314746365915910353403610458733118195746910957791963061720284069 -lcm:17221610285774362123428353448280602,11458184790118982447972303969280231679,0:28189770433973774114920757867056877758202824175213356039046635823084394 -lcm:772738633297996807166456840381926971,785759122171938805714543081571173360415,0:607186430168577693296664258953260658244617930008242877365346151059192252965 -lcm:125784145401376536208808801528812039333,452055550313139515567680226389953055,0:56861421070087227190049678638474498681709153815504817562127254516683512315 -lcm:32903571905950760393177782893378791,6631740924411766007832465757451477,0:218207964368018909275497254276866261100277667630506488424913763424307 -lcm:8742677352155721160009371273251,25083360125803108633092433384973055,0:219295724487824718593455764107115931859507036987734897375677251805 -lcm:36273669132247708836176424212020,533102320793846929600697481505030771,0:19337577198109381261236591896304826004083902938845516133439528067420 -lcm:11965144674509690079804137520044857,9349045655011350274674885782216185552,0:111862683830807014974569906953845003630437520055543213513177982475306064 -lcm:3321305668226664033356712162893,-403949753985171409898849824686029161,0:-1341640607589716272160331793818630136041627867704613639659980122773 -lcm:7395363159337411027760652209127419265,44729331460301249556947662501414682,0:330789650023303701714182934884591650253917627482713804287730858240648730 -lcm:871058047335719958990871843414,28094200616974302760918376942978068402,0:12235839765439807545562104355459585845290919144959079858231362602214 -lcm:7704699734056436938779166257084,546898541513497897846722209401,0:4213689047354900490455012376163453543698919981174872047646684 -lcm:950290435067652970604023856243611,4001208123591666075058892234775,0:3802309808564151732408385790073534886035212910698424588605772525 -lcm:3119293215232541154035748455321571,808684220462127868482572087900610,0:840841067384377328832287433031234586779556451356106729978612352770 -lcm:432360858532087298548744564083197299,240846574096518547683557847064319535,0:104132631550882737065113576806715978014672912813529852776264204584935965 -lcm:-310788798729818682147559678302,-2172955391250831365155305151397888,0:337665097870164518242716524072816191896004699076265879441113088 -lcm:649283478652713472152371045373000641269,9179675498867400603641823155076,0:5960211640807708792849652271953975864417053692073644908051640832431444 -lcm:79980532708199255123596245351024866045,35273005660545430889304120342364,0:2821153782949751307464444766122322349363016295719088889624882638630380 -lcm:-83351007958684418946822288153831314277,-51634644710916030743119182132599855,0:100088364703334986444002041507106189114327438112522438638963055385805345 -lcm:4992915740405389949821656927954249501,4523923119542484578579105473053048,0:1075598426283215515120154478613079151358480623324833686397654095263288 -lcm:-801991401381703662108108758716412,1462655905419442096496214673085035312112,0:-293259364831640743777507251364478142142085309047027174124191748729195536 -lcm:679369055865583831572651301119431385801,6364653911974833953564963906049365,0:4323948919089537646576384302944771028193868888345656961053886629066066365 -lcm:32178714589413433072024739357148883,2182815001928827996341206621079833349525,0:3696851628871457289339239307548138692732309404324005056784243872842227925 -lcm:604754886257955637472038235002006997,75686581968330008368600832791867,0:4161075479046440938277498574104870338592618123335252527305070790309 -lcm:287068066584060661996114628597630371136,52011890293701406927883275870768865,0:14930952785995133944874986127466642449246463907028312778992290363623480640 -lcm:3979837024286745384581666788748758,7350136706945206821986896298939283,0:29252346199869589826241656345690372038181000414430037048634183660514 -lcm:7385865195603313817759905903511277,1520983986703891701713359953638,0:11233782690466247146504034010039435409908987896556224062130175726 -lcm:764457193068206149728854992613,27858021258550102776458498820919,0:21296264735745627187463264202183322605488975579352986954871347 -lcm:-4155789385717252736363125208379519,513716864065732253356348104577569642,0:-711633030316107622405824053747853916334740454203908038895636729654066 -lcm:97365354260983249124725672833811771,5020029690975786355406829440294084209626,0:488776969262511703376009046688465573304498084561257966650740834323390307646 -lcm:83139160308299020652846789174256754,3913486804605023733190361150860684,0:162682003406234977077539172530366012958142362329068266990181550029868 -lcm:-17691166446369130975076403772363811082668,94600134419678935394632555907142,0:-836793361933716751903610096654309723151466648559815713270120684946807428 -lcm:634823647473707443708903538054380,3956996255499668253479385484122050809317,0:2511994795956101788922355113644864677876582447280810271598141786556658460 -lcm:-3637804742599340390876015169076139565692,783241759542604459838225899706055858717,0:-2849280587465938677344529171806295752584262014073034029610817921718004492337164 -lcm:585812248650822285457691267576462,21534520461947113931625020852108318,0:6307592927715191546338604981717905869057205471110964228553485605458 -lcm:11281432653044672416448534028211038025,711109480140515578563170257201359462,0:8022333709146834455095073412796362253303159149746025747385289864175542550 -lcm:676293649029453415159585825583394,97280549393475973449516311017466882903,0:65790217728903847286239146189723168106268785797184624412977724659312782 -lcm:-60552656313655809329731693060696763524,493007935144068742422888317617165,0:-29852940056683907903878516926766558721475796609356660329816267168289460 -lcm:499127054152037037035927375386500,1203956412395744650060889503126393,0:600927217446543074982206780295985557213897685478460386666725894500 -lcm:50094686288665713475507184834256049095574,-832478827433992238527275985275884802100,0:-20851382851131060794973993277969178760786122158514529534407995697925158487952700 -lcm:3587136855297236649460183411772356035310,-712398604370738955166219235841134498742,0:-1277735644700296381952103446442115125860633433942353227167692631711417651290010 -lcm:-8101551106022390770336067301182994,9185799272249263720169676176910186035467,0:-74419222253790694721684461955969753328255728462706287902254787547941248198 -lcm:68680574795029722620883183609775450677,-84158462638889794851250260034014551972363,0:-5780051587904985041122626676950144438458787116758152359160332249952887573639751 -lcm:155258118178686765062886673806448566,-6850017870177195667059084688029341396610,0:-177253480669014543271712665559172404205382093546240559566299352291761960210 -lcm:285166743996114296479394289968524943,559627723033455856754700399288311,0:159587215627409862324848662934458300983070878875254327058667651841273 -lcm:97635198013817214038209538637709608537616,-43337611052093405089732573050042882425535,0:-4231276236516932968241697386864918819022381398914657632453889680479868318366424560 -lcm:2025635628106428290541842218677337,8363403252785996217814021695187802,0:16941207601064506909583426911328603088283663942724754575178256243274 -lcm:39403341320445818916772945982544618,-3081545887974055895915003777735743,0:-121423204418458019221260007112987567988534380636151689137057510881174 -lcm:66538675039876745133366881210395320367369,385523580015310377616062750074359,0:25652228210848657783496179630561675959121693223651695460689142031947191471 -lcm:568797587304724025372575349953868,-809993079501337508688725757864677957,0:-460722109353884289924314758764698126555664169725436270804746626487676 -lcm:87438670031005707662235517162074411507878,762858503307630620547057859718065131261504,0:33351666475531395026558166505559631395861641079699397271443823762152715254487064256 -lcm:-135539991676075663249711183869449098,3187117064807540583340853903135708355720,0:-215990910217346375421192415314259011732701914127161619020473509115908570280 -lcm:3623316226168035106420698863103708,281527696822113339094642926844583498510,0:510031936005639216824268963288080554001943557921657188124458629796737540 -lcm:462743256592937700094228107961335,-6269566498572477078237555404177435,0:-580239923795081947084080072036122971178457338970051983328091895145 -lcm:-685484600842741055621576203380446857767,871551172534175305655069705808532,0:-597434907618612100896516584776549623778036010575252420692205107539068044 -lcm:220964518681325411201409247135357488007,-5641829172229111635876189209726787450,0:-1246644067523866218886679493927269969586873926750864717926006590010013112150 -lcm:302531333113895329527974519952510,186535245939488501803212618851457571589,0:56432756626801787093558631197271214562205468328076903171812192205238390 -lcm:817537141270922830542026664184986,7821981713799768623509532856543951,0:2131586856457765504425364967419253491712890096440257591636701106562 -lcm:8468979244486855292413811013010058,-209488808243349961649691393540068,0:-887078184482608830617084669743435658018755140226162895602555001972 -lcm:879852422051274089521663230058530,49497155404087571445757965616479604,0:21775096033467380006952525371180650761765159390311330589646735611060 -lcm:21764922287301916637920770938954126,164044760066720848860497915166650797335,0:3570421454491268052799273529790558940088345201564664677181891708888054210 -lcm:59469732179854673335933541543666124,33859516881008254191737434099260638598,0:47943247634591169393256397833360901700530080487187711490425670722367956 -lcm:5622782096444522942366700649751601671560,1818924766888381565955786591467033096941030,0:1022741761403951928879352842728218349531334767337439634606427252402319167074810680 -lcm:-83658234598433632746857009684831849359505,-29016349811234824466750396183186748,0:2427456599698498400779164525993522755993904434491695109250156524973603839740 -lcm:7054089120269602821498711515003074,4095832337673576318592596805192095781914,0:14446183165815794387548075169511726311756130919745539387698300521071801818 -lcm:990394898068553803695514279851854605418847,-7739084020331097221051527297005947155388,0:-7664749329459790605184280312841813382942964148487855083039273635724968309932797636 -lcm:54075935489906064661012070011939942732,7918292813066039667153314788962651008581,0:428189091349545982631162674290883455991732907828213951097897291399359180583292 -lcm:8772115771437424285869834799732506658796,-932849018789404004804426567212331569,0:-8183059590092457014103801212671744691867340048481623621821910552497102330924 -lcm:-474373401937043543973615567508636867124,-23736477393422078122335330115520892673,0:11259953531119359125561737495585820068714950649943932579707916447562566182452 -lcm:8436352086792195283692976718955932574,-24226347745891111460405966918193715809620,0:-102190999680700937261627650760472234672389538208298360366751473305837270280940 -lcm:814519302031186083731939523439915121,55324835095437197264275880684820442585,0:3466395851301998018482796204627115585152729004909209666935241139850294445 -lcm:-237764758709584162016066869681905512952347,27730963225107998869867496093972168,0:-6593445780002155177144945210712636481509108047897422208741783636396128278296 -lcm:7518474854158787395750001309747813,8381114315785290417935232114225100106214,0:63013197233061936586019793610222181046567760778431006705881553819854209982 -lcm:57926271609377407522025180011097851547,-460438760475654775684236043340437433561,0:-26671500698797845620038488129522785806400814035581845817517898599701653568867 -lcm:6638349918167655693810387712273716693403,55308325418124425819340246954531134649556,0:367156017513396353523080763860964198057435071526450849007117311720362229502079068 -lcm:-792096039638367514268257857215475476214,17985352918594429617981644232595132,0:-7123063409158501091874013108015475150372207113988264273740643324379095124 -lcm:17523605051927467343416676052611136060682,32818776862511079287568864844380549,0:575103284025979425337961066906823946761256491065774387656701755680364474418 -lcm:435598204136143930685119666237820390,902306362378699323196514142749053448065695,0:78608606206555625579369041525511439839013315758266695141072573521539666104210 -lcm:7246625600474134146152993995542881524104,84045078681310625106949990828070364497,0:609043218765848459070950953243439359310276390319003636791153856018486171335688 -lcm:-787638361574460696958641849383712843152717,-98972482600264920015196417920239935812005,0:77954524036229481100840641198098180090516196148063542559493953965332234357616967585 -lcm:82374608290966933640517911377351376793038534,3375365592517566879211534105358267232412929,0:278044418522442081159379773928407521481969102832422171826378968402371349113290496806086 -lcm:-65869507968457359071511077346860349916,233541308077986424091233056554170108328607,0:-15383251053406881762895333316227673851604711244588922960984017463587249932847012 -lcm:434965647854018848199731601803786298508849,6881642201690537465635377223216241,0:2993277958557881269328249998872265799210459572563672559065439071522179016609 -lcm:719612999193225374224745692059996056358,-315519530953816852193901984099603790510,0:-113525977986857927473880514812648272923195988059593175472980415910454192781290 -lcm:3371856558784507755414140667220962994794,-46940188151078159734582108552804551252391781,0:-158275581287791729316741990876515371668219778704190560942981767461139678285151388114 -lcm:4803433840417804894873156694592939602852,-72456645795090954873268375616538340122311,0:-348040704375306339795449754303228838077133852627838127804760032434988381444430972 -lcm:48568835567133010333265540506612310476167,-10706367926604784868082114989212135746648832,0:-519995823348494578419271225922535589824979430677892239954987805560794580396454386944 -lcm:-640514959144433868933444881224466486263623,495227035072426375802319189512972514543836,0:-317200324136634298803490410310491121240672331811889843420769547754733113081885677828 -lcm:-6488859550432975345382980598094012298,1739553070312394609661279054142037504040,0:-5643857776890793418849823122431638031104808487025959819767412990038492341960 -lcm:62439762329215278757554454849955204768025718,79602289985731119990152260854511851,0:4970348067570324615570705607275557501940237030878572771873031709232361903784018 -lcm:6054057220822234921996955072468282902047103,-41461621564455176604944655360416823,0:-251011029419288750464457350960394818104993744337372045669164809905502059613769 -lcm:41593335543156355768394832800525873230,751910447000975730197547607815241920,0:284313304731966064820099773565043464563065151891136193714105004651834560 -lcm:994454253731718339598418586069934146007,674502407982587721309172287657440910774,0:670761788770571291425639315014529979293655007270270606543282922218043975379418 -lcm:467599304203676521904495847137440151064429,1065364075426775111107441639016359411726,0:498163500393153194363286906417357715847233221784448787935167388300077631164094454 -lcm:-50006834540638623993722097585899096403763,-5313099491095445109561808031972399857647,0:265691287149161199757555723574229252417144350517780818574650795718178070835125661 -lcm:80633786527554906657368596063180401716797,60423064130048311342811193512905633441,0:4872140454403075663557443919045087358815687394738194780627830508431609174608477 -lcm:7515721962363288712694440724080300383839,847957688242291310060264069657345589412622,0:6373014220677391433202574116816230429840218559515683152967957040454035241151415858 -lcm:27726212382161724111674518621229053817654,844465139764626291093420179330707907,0:23413819814445912412285655292812080594927908481755534067419056195692713990178 -lcm:-9817131728229141224738800156068771165515,5514447437310670168515402768125807553,0:-7733722414353494049116967432808422342245494692973084146482292477938628590685 -lcm:1101490427405231724327190816394483390794764,-1715150116840413365727028822839059671039358,0:-944610717631340024199197825772309008665579808517055858746594565467440593828772160756 -lcm:8714614705512806124985108394035361802445153,2277516152797095323407597912040972562623326,0:19847675757208518019561453963926275072330819370134031638574421823784137713762913438878 -lcm:-40241069975197162607015133362864260639182295,92350494843755720369837991386076354459722485,0:-743256545050331739906343199965798133902862257044301031935484830446583922737000605080615 -lcm:94926798565178929705057494111757110129555,654944641739167114202854904453615515658738188,0:62171798077717196972382133382107571708777354355494810646721424261049356268684505946340 -lcm:265280847975099333384365084677641815670787,79159871617113409657206914064640126799879245,0:20999597868187843053561037716605216806384147652131248848290439305459650098340274115815 -lcm:116347226264838928071222153238640922289035,68573180747149861177662470447052670907671443,0:2659433125362780479271819825899011059848120776197137181515334033569979255463087175835 -lcm:1040609825768545533315151293676302487896884,-81323728160947963681253577857302080515,0:-84626270592412620351087782103887368619510384932135633101731317980537259985615260 -lcm:995902591817252306534602024050315471330353754,5332558356879676808399004303967153306,0:2655354344316609212808731137647072862609841217315610320176187816399151656665305362 -lcm:2001969035383918099033090062929650143669765948,4190101466247488888803682714062857957220,0:2097113347636056547892257576607870417625666910651072024691458074358445968441699186140 -lcm:520711239532941932960582838954921846930386522,-3853096594619017503346777573808512971,0:-2006350703824226084150485654917370322708059670415383459171549901585565143080576862 -lcm:60199373689261241651972446393273631317362,4966864098864732001544113870901038040,0:149501053975666897103050547412658552280636970592772990519302688978409237225240 -lcm:945149245494027792287917914515672725163081263,8902933189066222709145663761457459365794,0:8414600586329679076832097202813182563472890369046719691038445973643576962794864517822 -lcm:42113632082774519107063284261972952560637120,550965713086089226514793739995356299364345,0:4640633466226213589957981239329763407434377391979443407814888806055710449184842297280 -lcm:699130208513509445029837360613055447835,1388996167624703080432361535173321299212301763,0:971089180295924181746449876683106046223557368848629195863225292564207370057125033105 -lcm:2708864861499120155181972404884433662661130826,-9669434874243213781569557549324652869447,0:-26193192361391605615558952560977409140576479476697591006776382263831361618654765273222 -lcm:-2663320619224926510783240759799877830,-9288856838720796348912703146202293649985994,0:12369601973796782329028816697760192304592616771255092738637656832851511205556510 -lcm:129339208558322679510730678747389994722,12274162664070343010820636150243461714,0:793765242343485804331099446227740401740373258846764856738702670720734536754 -lcm:7927826382521640149002540477963715500150746,169024688202278131082480706237325364215068990,0:223333063737919130606048178474544752216924447740470128636366880733694566431051631661090 -lcm:136906526225769628858637915191370345692692,539213183682016621647404279498623014328141,0:73821803873042744699575963663268898393281778327505656899589792517391459419633645572 -lcm:30681142365936990868501835461428152495,-5027491490146180677917496407674117704,0:-154249182152711677657936575800296045756593757870287279358854312185891271480 -lcm:-971981137022757867271162004648718096950546,4334305792750860480761829171455584581712,0:-2106431736321153641881651019375387709927826224608513058301342860436792581080007376 -lcm:578802014801938809246604894083179003839,4755521418153118560811649969223227339815203,0:2752505378260798366799002210776469662264057939931455802132200174149940527887564317 -lcm:-85637729865865539531457719920611651870241486,974400175977421869121902925057819107693817,0:-83445419051606298238772725013236132640041467317129471694684769066837807060528339092062 -lcm:-168964790731095355351979412256338118430524648,170138331609580398941494555432555720911428772,0:-7186846898937614525591235743048196241372711495546492763752347187132124897827551810593064 -lcm:790938498909251314495722876378080005340582079,5214770204816378474402582970231763702140978,0:1374854172651385139955310854649879453753928013886594694727948344749512222152267012777754 -lcm:3097935765451813281781983641770574025792276,42609404056306319259222360596281494320705429231,0:132001196770618914910107580782114196079241607233335405092295156225025350707315539424419756 -lcm:-98485087154927525975034391790808080098982,19775664577849930783360381707025488283978,0:-973804024748081746850819013189941767013339940621603669747325245218966911782355198 -lcm:25900464334299058097279910365875929228,58255952834922520501042331752256379575,0:1508856228661518846300670852569471328709790883165326524402490612694204718100 -lcm:79400185595521899110261406600117591081721314118,201740226840130845073877991057259510967,0:16018211453189077537841902603464990449906833086676810898799136608951219916977272932106 -lcm:981167299738316185980724229187020822277,8133607419206585086507618470282084549435045911,0:7980429628634459820355488852068596406179426323528568158104015662222056961076466559347 -lcm:81466412463591236560961446462245299836549126707,866192944729287017177690246604876328497,0:23521877236122927651693163907061883464266675326601201698284201208926249964967269289793 -lcm:6534998388738554052417315288897046254899165842,46609611771478693989087838979597248775,0:304593737826342807250457708401174251945994165789414852595908172190369819865656343550 -lcm:948084924179221265735435784532032916982,31095014697784883179376411641933005719333,0:29480714652101151829666949589520351343767111464822561182540749953951625181413006 -lcm:2750322192684776089555518232723747026,16282797711115835147148988819960931175880625768,0:22391469951939378515729446954104603778487035357551482666768260498213644003304482984 -lcm:-916832268194684002726682872945582785046,80175456371164380904577325966825746198033406059,0:-73507445518318567912336331397416597212835389484585058461161628079009895397414630993714 -lcm:282231592138255672195189656428026230056,96673996679717919403145753072968455552546,0:13642228000642615449413724806392411795013641635130782296987254387670532396261288 -lcm:550580097204590201609373226827993784219420731,60517713169991893657707958780297059239491,0:33319848399733645437661395589377990023027893949147177182635468091834964459423419287921 -lcm:31526794192792048622410273704705620482050682,70537996848502378104686898733501905256490,0:1111918454707274300580233711800474352600757530537587705043968883837787075495194713090 -lcm:-923613180033278870451470473112995033306843225,62635452857298067541908563173475507759656054707,0:-57850929796353591491544159777994055136678493390586182701070726329142717640752659048072310075 -lcm:469196843768624413897755875308788890398465291232,-15296277161521766221056511754171865009042943213,0:-7176964965596105854796051880140430745806790021143791822882675477990460153884190250962482808416 -lcm:2628065716223500508449356215564412668664236,713708318009199991674271791693482010536664884,0:468918090485879510666557537656446407094985302907396727300429235150492228937795661972156 -lcm:604553604369312265623368647573085123221252020,990982890678004704551740474471789043760433700479,0:599102278427707884215998875763263404402845043498163599628915781601939770631217226224053717580 -lcm:97586462652371414650265963064033775148721243,969409880443270812997088798402379069080662,0:94601281092717085428971288705993159426354381047162321909314102361504796669908919902866 -lcm:-765406874969209688613302257358735487317,687488505077706911028822098735771705823765697808,0:-526208428248781293790355829561494931467780389995278558390525263117575307179181438701136 -lcm:85075624707999635862443444914978287825359,778046486301986342411165862027907781749497,0:66192790874005569505967522431892177262190586520494284537342391004284567008622094423 -lcm:8227248806783006644129224253415431417213104067,-96883503079217553138854609209329008354340832050,0:-797084685105450364093424636607878440722968607757607323583949926033112024630877523264018947350 -lcm:5027554007771258456873599804445876368468,9124875242153734630106913217321584664013715,0:45875803094102741048036279096734905134493820588179489085096405521013297169145538620 -lcm:39245745484403729199058188063461104557810253,220067769421357576954105356315871937975114,0:8636723668031045203182769468262937482316831571209371261835666035163932603354648043842 -lcm:12265626358518464602956912462337886264411404165,-62808539324142868756473505816723401975937,0:-770386075474250281180131471535743658895165686987724121596740049447065305055237711577605 -lcm:-12272356051659726939876917766506363796290,17656166644036956054896242696928896080969790493,0:-216682763563059549497954402078347159387989008283715984882662478463368364976841430670970 -lcm:637223594292638303876168193085997138882431056,94504571343119776477559774058446419793557358444,0:15055135657086962151475550300387890956134219709831955986646383218960383823718063770077359216 -lcm:5571012420064356266635359647247635200655740,-21295217227115690481188602248443089551209070396,0:-29658979915057488281375910245844852139690143598685009046127888233506587535909343755368260 -lcm:5263843748978600609740419748581371970418448276216,5384845751134428162699702180820131424931650492254,0:14172493323161468463600107052030558175510328324645921496255479072988481662969199337241737080215432 -lcm:886573921242233631853410597832339291851986573,91564665302299543163193474542608720062467,0:81178844364292397724319168352869382688643286956887488649289119221530204376834605255591 -lcm:26539751625701457124278640373644598585396,2325338527842485879693477585982320189921160388553,0:61713906974613847646349243530903967347131153357438117664659209426320342893497093511371988 -lcm:353508003643539157483752498296868928280378,10742495675871104458509832622060247315860,0:1898779100263273019527576105561544611151524288153407344701797320631121810003097540 -lcm:-4734613561112436559828705330418786656799216681,5767402184612349878575526105980302509419976764,0:-27306420595655124123966761566392172844463942752586247604702902500841784311547866248421200284 -lcm:82083010698635736174070971617820650592649198695,632174562080517027772509374721051956918078145045,0:3459386089510696037697607329475150733631394015157940860209532577771197095497123578020748981085 -lcm:6173991144338684494350090118957116722781373,-738485502817232028305101940854863776286515,0:-4559402954616091182455382994371638790076884277447195239272169152306248043072153085095 -lcm:-493513047233893983448577482415236886372545860,510358065314512191744416886029069217313650,0:-2798537377708440066088399588452377494483186344049452196318380194547765420639340322100 -lcm:326654054139623246358073868314669601484091,-749350879522921841553744544029160051092161118734,0:-244778502769254807928944561265310682694306143662100245399456722534220714864996773263060794 -lcm:1402621524995633967650615579165227953957890517212,-4307813373241246419295301377872133252586,0:-3021115881486111596495041468952452755324614644604079117686302481886685354889693688255116 -lcm:429404746005804957738561594094664667352987,378882853314853204091011966904771925997210303,0:162694095393619197081345508962117529189396776805991399292350948184192266104441374225061 -lcm:332341701384724523211310134953299492552149033413,851224516641538736779656410258860743437969813415,0:282897404121038737349436193561640178534459124296792792204901752510516940857699900180164210635395 -lcm:8093542646198882950722808884458624246299608906958,-36537804019444103265563497755234936603188804846,0:-147860137514913904634692391142170680202258776956700982397999849944457772330156859656606216759234 -lcm:22659814113479956892126670971189905912120035824,-7769923990496178313173088170032841760727,0:-176065033300511807783943084226119789640585676482818345603663798333554090985834476284048 -lcm:-66431972193306385702365512934093484764859082,36581996652652744665199423002405565247156,0:-173586727457475315287286644140245293266784314041722406717122380794776682723917233628 -lcm:-888473800362239868616054745127669042022317,142999759078860850560633007783677610020527766,0:-42350513133226737836563925020363583106497633262140965689620958730476127814149430051274 -lcm:5971942663513046812876552589351160577576206860,5155119487765712370432570496238254289228130147,0:30786078004495581876769132581215368897074670048309664867385023649025961965929287514674208420 -lcm:36328343589972083920724771391132711614346,626466814451530915421088090957480792070888316,0:1034477349232295636348590401427803652375984824843092173570332762552453722767574062788 -lcm:5293116409600323220539205506696278195160522774280,-89478075685508708042860880549625934136374,0:-236808935355212916308616284114978382722590502180363697942174473357408509364368655169830360 -lcm:79576614103508536656978289576589750212587261,852468870734033057111244131505440601392558836846,0:67836586361655850604287977041894979998590061103440929502231721634765812139562797406437018806 -lcm:8225066772418695359596812838151452668642167,32895491347247919323385073727832554930053,0:270567612842635564451661105276011053846580530826552326236219991362408128533171344851 -lcm:6163942593967174125699747500635651388266851958125,35785148285967657728202559017385960485415693874,0:220577599751307459197829958073417379960145796516327396960366172323789774042408250526882467026250 -lcm:2768453763718344802615194690925869147682838954,295289393573622382700104229276698254424111309,0:817495033025002504068133964169976601685138884223266625508984010676066936521469461617130786 -lcm:543530772918490900335995207569824317804903920459,3816523263571207729432080444412751436592123632,0:2074397839310259902661375133149465196577634869313509399704184579022798133468044005917222187088 -lcm:1092477340633785505464776554395206472561372312061,-80145274095041381989361699268630409045305877,0:-87556895907716629238600642139851536991533588781637223712321645442750907264691471870441282497 -lcm:5221300639042222043517187865188827094681806,28716457589092549537459686031371792838180039728,0:24989543060159632642010593077696572867622550344397734652621919451008087743078495099798128 -lcm:-468871256127286679587501070578429844680401783,7709908112767006788780052051800778651016113933,0:-3614954301459024712014678778499413536274302047069226791616378154943247688691115133744342539 -lcm:60187668034435065431875732180204005950423,6575730301760601160210842777500398231559661,0:395777872486342581314679269175741080629857948827943943881264571589081297075932686603 -lcm:85750547893356514086330287277441673045104762,79743140579005364490235586620393656130064,0:3419008997693330405464249977225918848757344180361491250868746891061450981564188882384 -lcm:4548581293372942515724176487253593549214930,4238661184062900689214356649238748109095650,0:1927989497077451677556406438992119682437686855444693788604757451990503919504977805450 -lcm:870890539340345883811990618518239041519315472381,-326492148393756245001717974027772662339968,0:-284338923205026619246910784734503794029639825911870769385331694156076881647046490736423808 -lcm:66987553698256227716875714961629477167428173612,90975165679807773385648454136069587671757554212,0:1523550949045970063245867032701707546441284497509992114155614817828087572926246444944809463436 -lcm:55214217278725852504312036656428464058159216571,-38639629611220548541845337991516346077285504,0:-2133456904923420705886788529419803172916228952081562524788395230166386012381289930934886784 -lcm:891217139364757949280558543150622433360536923866,30525879876993440244467275213072433106397646327,0:27205187340566323080358381531226152260280933712987740283334272666071747659070919682319193540182 -lcm:-27569366446500582408824975793718887457276922405388,634666021153562229559368735956062829411322343,0:-2499620015475006770093631859600965442502552615908591007003664916282081612538456035180769712012 -lcm:502864235446447920785714797929749621810588808385,-661761137717295415776353819805381820532626437501375,0:-66555201713275857902811739936791100923712566713387105483008138592982591252568436643492447609805875 -lcm:846540274257645306570757431119674434472851673,8616613565185012233547219046445322085886975,0:7294310410643867160484254450457795378883045914986526511813394090546583372432655817659175 -lcm:-3309007371119113533010968742743901666008447,-54456422219293958622124113256532150483182055,0:180196702528418384342054817105817441009885252753576126005393548812004572770935068818585 -lcm:3808438337556464123872249539607274641406985997532,8958313515020597801994910602927304472155060964765,0:34117184630454650095284221741033298990688190756311433174116017572873358206925691228892157828959980 -lcm:3966980856734279836284487724100931405197679196,7991199588345191911654938564028578389298180118364,0:7925233947327058439656989443340159765395723535993677440234885472317622785961246017870345088836 -lcm:65639444382189527381103754239686068124303248439,57344187472963481946737524023690750337279473205806,0:3764040604273435895633212274119116479837782295002539485107922790189834206416168312084346995236834 -lcm:415167227201847402226579925485934896345892,586575228633844519664975226407615633553394085108,0:60881702804300728422164607733352957690389009263077497409872743056634977203755428913544084 -lcm:61619333876398280418219395631027787927517659829394,919912829682211281138193507951318719985265,0:56684415789370483176959265833922690931907142380410669255035534110985337015940545738093879410 -lcm:-868753784405826481862596863379498777711457154096,545880080147628730834302628389405153791727839,0:-474235385460008330984602458660116725933386690418517481411723635621365531412330794841516078544 -lcm:9429941770445780812848883836626433106364646270218,13789105660912116612159357433833332620650429,0:130030463448925543470092963482754387029792169816829218586198208779745648441067644420051623522 -lcm:43608475425036256086742701999180132009804867174088,26543470249142438881834938827109299420258184885237,0:1157520270054909035662868646857940204973664076401942399990577391349752558661122837219065938780138856 -lcm:57684506610503798187871631196324475714333617510881,471695506003883133237678946411955700467360,0:27209522534225930626068350341042360052253774045631066166444663548471852016504199451585344160 -lcm:45545031179301366913301053296868047362176530184,-91968879037454375774626628433933013352182139387,0:-4188725463286255430640627639956152535588659815635253627540812068959602079281136816961500757208 -lcm:-390021533721654785753654976920878586915091,77031076759836910371783959035306703983828680,0:-10014592900700703269560078738266286134110215752142363776248874904012749586637416869960 -lcm:423541795082126371645621560317104281087986536944,8300998559716429411460238557591751288655280830676799,0:1171939943652147365555234596255224305456012312168414340835337509553512002426738855055186061245720752 -lcm:-22004254439719621882091733525180851819037175217519,99335356922776842325949741933027888097618837,0:-2185800468589145609464205476226975010639204222945574205629223171319215468510436674371426805403 -lcm:-568617824838411255064542027229734991599889058339286,663945656360600870466864889023341282183894393751666,0:-20973963051704229852295393571808922528386258405366303052934095222591753315525189202845488663836430582 -lcm:79416546968775553905606945911160893343240489,57823044209535496953371020115352329847370545,0:510234056260462346114599875341456302082293607904671871750490172957566065355271803332945 -lcm:944931014689390846530685010237152128723129879051,9132010491010578008428313272813386452749469110941235,0:8629119939424787805155145456276331139041940822281098763310858175298740567987777487797475766318567985 -lcm:10724730362623743957337791385603755532922863,72480373654893123070601266938859686093303005387292,0:777332464030946381953104911976964384403745616151494866542937429270491850221347238960076456996 -lcm:7713352208339235603081099644445084271357860,603624463205826416829628929324533190899935786563381,0:1551989362092082286509226742932313310071126914988546921498365356500657461247063016086607508220 -lcm:-374652992235609318781751374140306949494493761487551,-8211631925711097443824357620157273567158306960781,0:3076512472105121389035620380499987642797429799314779956051883946663228512561940943539675904376737331 -lcm:148033237001979427358794216800322662159772216729882,-2761071692676096788505988250569937615812882,0:-204365190130688570487960579178439169815175152384146484286930819001830464147276002695624969962 -lcm:8799836897423935827052239970797993642793054321869,7294647877437509677171255169879966954414823484,0:64191711545589794049942507329622817162690486075145161653225201426081306037945865801824955971596 -lcm:638050122120135743843926357476168630346968836720976,-521011870575614667006902791543319211035082259559038,0:-166215843823405648565930328412825365823057474431930443033112986539191112250557243418309377653802490544 -lcm:-17589569754541719055752617853886490778777621596833622,-757763302557856615098419826290170728613135917189,0:13328730467773320372749612468589169429951770262414798041479922130537436948993914504659373603202928558 -lcm:-9391500830250456597029446286855934735787373415653,28432489383197015180933073382445953529667174,0:-267023747648382060661246943486871855039477521250741910116209365765385119618211444260651874622 -lcm:597671128380217947385553643776956963479914986403,71727950226724858021016384499343090206442916,0:42869724948406755644439192851387407923848606069058040508413206852418378147081162495135671148 -lcm:220524861586728547654066186650842017022514113,99830670175055229565653522851124444573641171168883370,0:22015144722464404290431089740908195479979690191563438782672166808199720494718314317705872276000810 -lcm:-19711747183549435340491469077888147043386014913558,-1141914280129478236596364286858351511269528735,0:22509125595197123566803201916751380078133670163026469768611121772532745591006866402480422089130 -lcm:-8382072953685010521572064715326232892979307367,8986558828596332338706049003428573784660004270,0:-75325991703876567601582024901200837475422482663143278160590315962341962045355062611862457090 -lcm:8502152308582607794375019565844324676023491104593,10470050208175536662422671560468368371690332,0:89017961548415452362336397742460566038542969501801207576446421265423116103719862689218894876 -lcm:594601725521916181847167140525593251441576703983,963458725567603941710493681498226412426881800,0:572874220691643607273440473752072791294210386705034629979437739545297813514469057230330209400 -lcm:7141961266638507042734562322157608790427840009,-4549724799885066646710284284349071123364728193387,0:-32493958294643778569864068941415075147150500523994618476463881411873140452414616492271247820483 -lcm:-556279059738139499395948604306347001411150129841210,96265906951839620646630096006130967227739083772932,0:-26775354102004285429276113769844676372118786237607285907901215316500732869575305395080596584428063860 -lcm:9097507009232650355633416767082868346314279788737,-12952310876092402836370081770801404571317963729609,0:-117833738981010925067125768441840140051091195908538031159411055746004033932320364747308545111613833 -lcm:4268792759888467657870170840963084681877952381149,45230992824683770972952637110379461673717665076497477,0:193081734692577312252243894972856695658000409843190512520961090560296517492619302198905276169040861073 -lcm:-14981624589272129153412283534256311120144659052,-3422881033749335138988900898217088225431538419464,0:12820079665343060974655754692608143432268798103331572831567462724320648718570784069585310147032 -lcm:1220927142068793741881867214403185329458765760024,30622524744504892825380221509502752145574896,0:4673483952404909633169042534451903822067192939697796248187569718957914620535643481481844688 -lcm:37912807996403481194979034824173466165481184382714959,-90878397829297201187948170371749592240094934625,0:-3445455247922915696812807051659782073986976942393793434021443082292576682286942256582247061114555375 -lcm:11421510093950565340830017403217629128966938056,2237414009357389011349863244579333296452235392013656,0:3194330836527727905955302104398524198341681114056770994737458183451820031389704288272506307261592 -lcm:192657988036570687555057992620686662908295387946910176,931495134488306662235768448970442482109561110,0:89729989238185994297883659301090589093198151954531577310187242340555592504853957169920465976427680 -lcm:3406199971289940059753501832956133340637816361746774,21717729758322757474808809344766892648120530501033,0:73974930479281653383172304844520436444384314366038505444774962096871058594711397484185935845291417542 -lcm:6909979467876024377878180024452018966109074368033,842722308262405734840545048662350517397572773044955,0:5823193847214313361590850639006414894786757219881236880655209757454129105445924052644535803723923515 -lcm:373077837411940479742523640303846004174658252010,174968689985940718533112057941120724001834591,0:65276940474755009773288570940982140032743912931132908824689438802225554298870445697213277910 -lcm:69447921082122879577796325457481062492384026062297,4859735149388070292660864796695584862286590039960,0:337498503134721348480339150893268639814027256856202938192556796481021571996594857372873378679388120 -lcm:97668956744134573191931364533568770116368809990432277,32650097939706033583832290610502297382443475332059,0:47595537363655312568235002972649323651425354794543144885024534520500637904064737938316663353067559229 -lcm:-1130623853521736649164698623052358825973875071086,97117938880122601762963490311393663414262844,0:-18300643050455451520453923979067578852655453746004433917321519890785213164382247444464754764 -lcm:5196766948376722446473792182397797566282488000645,612809465745222737408369151997835003504928829,0:3184627977237170791819733844305891092484494030274488141848280463948439552688134126307231094705 -lcm:-260800009832764286426719551521843883719112476,-4764630548313512861236355180550436291099515479440,0:310653923462413311921327308749420033511079033275390302805253842034181828205601401085106373360 -lcm:446884272848375074930942162217302913946161786743256,21042882325490620038960351129083746002919260315816,0:1175466645832599956073813923052542976086932578597582904412735700346940000639354255670643544083517112 -lcm:951599922613172445123982155673072679115439437787116,170174123089259663169419228763721448308107859122519941,0:161937682362503977661236466402707947708915167258582987092600978773889146161299886218655580651394622880156 -lcm:21383950451514823653827321489681070470148156716394,474049024111864801681311013604155672359293053819708610,0:5068520421598536425525321235142815292646675811310319106405942660104400045766803347060423723469744976170 -lcm:-470414357544256461922663993336752968654129573423633,9062081906619161788388889503790336651084511675587,0:-4262933438115683672713863671510520101815219800470041585560023172590216986734948687990123769014947571 -lcm:780091812513073375693179028189802313142318232500,3497278556984926411479728842600230671778387696053,0:2728198368381477015989505443597065418103138169441425077910216137727395317905388139191010186322500 -lcm:-1625948018138433921639232759767284243608022009577,842118879046315463699452834842435152085239651627,0:-1369241522422316177317692449844295269090380811960323302423745772493265931792379448342891937631779 -lcm:25026283351500865895404594716390919370787136725638,193605742569640932386538365909397399503766353419,0:4845232172025567337840956469216133356563858466840983726314706900481952782728859639508827146256322 -lcm:4935030558829975380051283297334807636335988292915939464,826975811338155401386754284486847375740824437795565,0:4081150900367009340504991854566589470179310873827349635534175745385923686159595506846989467997551147677160 -lcm:692976306506130156561485116659173381923120836885557,770158528298664593632506223863839610768381103479684,0:76243087480657930190487337287128939416904506467283930926671128904847462858452992556512523992854646284 -lcm:79877139216893064041018839082816187503862428735,7269106113282857654532427145534479409503583394410641,0:580635400993063264937521052415287406491591842310757481379039941960972027583729569639227998188169135 -lcm:2539745404867281753796678186777103230989134057269,1232562503892732555700624680547460824244298064,0:3130394955473278587381949607908298163614591827039064669019870794477245183817740184883281827216 -lcm:-12342369542383197426854745694214905543911988477283,900468407001638487525579769577535461149066925224901,0:-11113913840455339589057682433788692760910363591045622111658103604207392316252364497138359285304423983 -lcm:25508383419230789798346692675791795579961116333703,-3196912743165527117167038251788165837584914845275,0:-81548076010491152335265692912387445585857263580983374333387917442921969005827781555255165512803325 -lcm:-1299528036083269250543034346520127753461072609198859,600594652353551219594047525595273354045086799190,0:-260163196351708086868697255894653649721720334580389492055788614848359699200918752705348100836708070 -lcm:2299157394917175882710807816574923359426328448491205413,-72838172890838078649390158065336999589794176457016,0:-167466423834226138899695762647031472841630725693307898812516233189758231307075087592787449022731421027608 -lcm:-7349901043851956691882158234459042155688766310737050452,38963935506607940884321914070762438994955796523516,0:-71595267563149505923669861270167245818680944504703982056789830331584906867289180261861884773409374107308 -lcm:958387014018743982544025716556283287504010616036,1443504353635051762579994152447131178181054158,0:691717913601677162440619033523279055938959283051812778789604206481811449086596467058729638844 -lcm:246125390054194220242986809766512103907648232140291,244701030143825150512131468437935457382757506654,0:60227136490812102782907271910174306533407908424359655603867506529129414912591634812915769093996314 -lcm:-704660850546084071765145007935951186831012905395382833,5588984198927622386999113229239134076765551765835797488,0:-3938338359304962728083277304047487715370320826599483665593576088149516002866532798742909925478892863619723504 -lcm:50682657377075501007405908966255159073041913889268,-221227972486061875975200412557047324616212536548,0:-2803105382934039975715503660314214227088117486692399200394931533988665689815391470714606568741716 -lcm:-65153936048938235385603864221810574284616709045012408,2620409042204728497893539911547700871421142555353,0:-170729963157866373963111608067452447067616052160696883002411341925443387533862472832785201804711820024 -lcm:2124140486540339235997181873057458560557130144031198,6337118390151757487365380009696068490770095523526655,0:13460929740520685472324728914077419222468164771987370279610883339996690538208206652608006128131304582690 -lcm:70505951289040282645383932312380844925860919298,7547000534925894125969206219651626162975048702546706065,0:532108452093846047616616850898050963751081524640768880912328456268423081073299532380834291122692142370 -lcm:-41539404414450841529694974131865311088044938789,-87120273993379326877611820290578462959192080166852098,0:1206308098036249351756945897983313304106264694400442480326890301234582878846035432318850625075409774 -lcm:8365100924146743906263010309561180555381451232169,64464903694507870558459227754837948332608708108908133757,0:179751808489986211172946844019445427528755317573706157771373596620024395670275172869683254867277971076311 -lcm:-607028381550248615720149092346152462853976790359415563,-638047705393414341349283089715056902457142563666819,0:387313065956814142347580416821601619522788233833564805598190281345003710840619549824608697022583095304097 -lcm:9617834842433276206013447576300042077483363020815285,528061422615472570377974310003284316297281680382590494,0:461709777215997755037224920599333096287843157872778309854711289206537291450554735917549911763077470081890 -lcm:86576571095874523146332767288469633576872568596,28806568894922815646464384363885717260300665904363145435,0:2493973959959492744618741686252959362351894366493500719340778231935540767761675386859282345646361759260 -lcm:307009198563449723583109556832166934014223122475324,138726608616028283757694379054230076836833023549,0:42590344930632202620089538756907194977499968842538325319841912047531571749213635995957120063404876 -lcm:950446831200123302940271854492691726825599408858,-72101792770002156123347099210449392040964040896942,0:-34264460231048255033825169994117823623249265283681750151900757832396404944731172193421125649956118 -lcm:981208671446974342191660850214776536471793694644642,42331603864003005956059961823201488180622810810249336717,0:41536136787617995005181391797616187316701801094427498210675495592371812354190764162938589949104015517920314 -lcm:436034751789860072246023599184144455891992330310990,72833959249163120346712529298424162613591559886645,0:6351627468616324890653950471065605238944270582911744198034275769361278389558892161259769728399545710 -lcm:90712859511805773491925085535825623597765615019643547,-747515802065477997196092836504038150570958532540685162,0:-67809295935620517600810302668580552577312402195771262364310764109361834590609187219719805153318608391949614 -lcm:397399782669545823592934194763075791833495372998,-59196779886291303828419299835113054892183602687860135035,0:-23524787461549105672926147613053790427130112546635830152219683595731769479837306026216856302451972784930 -lcm:32400956990211215478801690694170683149459902468,-4583955972534683626923454093368608704790928252299,0:-148524560311118107934748825020984325384128831537817042673475700215519245003301091136794236773932 -lcm:987205647053507741802554416690401353287928887038,99876648283232575129630115679242229378848334523759990898,0:7042770799570301963626168264039468160084000109548666284236360269531859091326565782062357924306725012866 -lcm:613843278686603793281546390730144010908586402122774247,-5096436233192165525303465082471737429087562092805456864,0:-3128413126999883739898127525581773020068974144641842702264583891275711281299548031054626111037897411968581408 -lcm:-976952961430926103170472845979881570029763109667,935178486322270132160329332160301439376977149568344208099,0:-913625391679032626735612276016819847879751832378461622543415386714525380228017439645010525807254806593033 -lcm:-14766907052440196735362466027665124699631240785562617,56185497908476101017098165076418921931361374576783903,0:-829686025309539659436877109175759992995713482163632861241130851163598589293178881677705053185350284154151 -lcm:8086945629611784458016532027184114429962417844094,915144274243273504802165174453120299631299876477769004475,0:7400721989055888996136233798580013159529233408791044035035967083245349723159601722480356017380766138320650 -lcm:78088762763327100616786616097147636046671948600444,567540241084477255158834032762283528860020033647985833,0:14772838414895737660959188658560357264170049117788265097974792165237624507227111109881234062081296503284 -lcm:719986964333569855824423695658491299542433105292,-615276910378191482694097418592439439457014608822814,0:-221495677463866003861265966742219836258928444486382973104855851549896711750780958155476829316865844 -lcm:45518095176552517046254533808850801860612235127698055,35562211507032265793347677842985571735031362689772443740,0:323744825613157159148934641716894736150323375120651628592606014999068335232090157998718113595333671638985140 -lcm:9347651927739244225461883666785850681796998039204,-49878021756813856103391637115956958358002286487531,0:-35864798940530846688181260694471898202801103161830397888280327472734771199678233550132451645781948 -lcm:-918018144578664428004161449615771398954961013294489,-670699097650597095681408528960639081653596263477957,0:615713941195785615974127065795375976710193022314921690147944271007135254397488569454896629925801078973 -lcm:27390700201762535100035783959539579449610388231,-1589447744597072139866306928627083981945967837919031841,0:-43536086658626030220375532900736667658969827278059194645833847995230392704902546272550528175660663271 -lcm:2277199840598187516900058221233481999025368188568,9608219845154413235861538421470991851896216584568613,0:7293278899939323922333519302858351340649305819231682068123769660826907879720133355526830831172738728 -lcm:-384224188940171310851587214747099156035618205974037811,-365155157346205326208918238248019306559191342503,0:140301444168666379290296176915045491501178018946537404762619540722359114634558549786149744296773380933 -lcm:286446854858822908871115682474835177238732522628,-57158496101544373650727927690968913495792599007869,0:-16372871436747676262278174307506297592132492975051635951931260785772478739228382233254016392559732 -lcm:-381089856197823678538852020226946248080829424869589,-3010621081997078653311455126099557341287585438919,0:1147317155204403033538417293781061706820038418656862236980125391331092308923135144143540086900134291 -lcm:116824003493453841699155925492342665434851317689062,-23510392931055495213857939210838689217666922526899551035,0:-2746578225910099677716238357776888697288117665636655886289546239917490129557481316738650939508921530279170 -lcm:580076669302513896163920831671903321718154827187111,57642903862300589084685292813271561699366462736142,0:33437303681368339826568875036607309078951222489453540109258834689115591802250959764588162866456265762 -lcm:5760449410973032312996903274730533429280588604119,54924391723347076414566698417788233810196808558058264,0:35154353327867417497336892157787775216597147261438145141426040243888036287697412053742388607203598824 -lcm:5657781195595763129830083459999757852112323789572340704,692061618840647789470644193517118113508111433346167161307,0:3915533213270179560961108305159334536041508008965034741386030883311266330352593550098270684221170821027129940128 -lcm:-411686824144764716061907353842274549877341843077020461,64596348790121485579427789661619008385819947602752810318,0:-26593465684752629063594295950004957994828988051383949912582218957039523707407380651277297287183402393737916598 -lcm:632256394728894097701649213009572878755743290206395156077,831219707790000649838963373434914934485492976701321111,0:525543975674910659026260706288720204381515414601996591588570479429744161463440855422928774392151685316940041547 -lcm:1670481530219772906326138470230000469885289884882422,468290338328174403769157221534943442214405575737600,0:391135180478791974386986543598623230679031886475719459105679828323568651046861349186906657695962233600 -lcm:-5940255960924729598832299636442321100271324046668226,57672031765846684220194592702663453624777841860734299817,0:-342586630475711125183923927161946766514304847978409032225317328682383801381008087781458635612556537811514642 -lcm:1070320750308710183653165839089007570013512879851785,1457798154372592051774290334996812066679847800239,0:1560311614386725640264706359282306460222595994684719021358994107802507336028163090509939936607576615 -lcm:4878833860261622243309660185570248437064542060170266009303,2713399212910344466363698742990679778889654409261764714,0:13238223956354223315835115083131058404743853065832322244195207641759173433600815039556809272534689440156121134342 -lcm:-153727669883775746511963322850970227020812560900211022,967696702028565741720227898697068313091723784217356354,0:-10625839939790418437169093271198280114670637344943720676814969693439380312693668799845699120787148112323842 -lcm:-540592613733911579302709730020084890208422708295834255759,1487237786400760689794761062671094249214728767786149324317,0:-803989762194224119099880670025468825040986939150865705871247661626924722104597624198557832395582009863760415991603 -lcm:6147134348286513705872901614503400707429078163757093529,477008107151085089956583728568535862114663515203848020888,0:225556378452274534034927784413743699904109572650798922040352209009358253405098100518908280809464240096750894904 -lcm:7614680849639684551334463800131196276563566036683927,25187069984138015151555984154271413618496480687947851,0:191791499466750257309658251576197471575523021858632537910036998866329759048429339136517641910254745890877 -lcm:34751974072174908316243318351151710272413759348773,8306602488518142539700335965542308143538343391985,0:288670834308846061096235572592461254734354939539314534410107250770305649520412166539742961467784405 diff --git a/polly/lib/External/isl/imath/tests/mod.t b/polly/lib/External/isl/imath/tests/mod.t deleted file mode 100644 index 7ca2635d1e9..00000000000 --- a/polly/lib/External/isl/imath/tests/mod.t +++ /dev/null @@ -1,754 +0,0 @@ -# Modulo (remainder) tests - -mod:-52,67,0:15 -mod:-54090198,1,=1:0 -mod:-76,427,0:351 -mod:-84,576007732,=2:576007648 -mod:0,9268611,=2:0 -mod:0,807,0:0 -mod:8268,487413,0:8268 -mod:1146574,836443419,=1:1146574 -mod:68387,38,0:25 -mod:822,3971,0:822 -mod:6236,52183125,0:6236 -mod:3339,8463,0:3339 -mod:-6911,492807317,0:492800406 -mod:38291,7924,0:6595 -mod:768,7974,0:768 -mod:-753573,5272420932,0:5271667359 -mod:422,509441099,0:422 -mod:930,3648323446,0:930 -mod:2427,67,0:15 -mod:88,9301062895,0:88 -mod:7238405237,35596,0:29829 -mod:791480,518904571,0:791480 -mod:451304532,47,0:4 -mod:92202398,405459259,0:92202398 -mod:349,6205,0:349 -mod:-4,9246262,0:9246258 -mod:-5200,499,0:289 -mod:605,411571,0:605 -mod:343980431,136,=2:119 -mod:-5765,7596,0:1831 -mod:43599271968,8373850989,0:1730017023 -mod:41585052,17623,0:12395 -mod:-2409446,38,0:20 -mod:181096791,3565,0:1921 -mod:424266851,9078599,0:6651297 -mod:8187966,773,0:350 -mod:2,628566175,0:2 -mod:5095350857,5051807279,0:43543578 -mod:-93,65,0:37 -mod:2833717,10804793,=1:2833717 -mod:3929,893,=1:357 -mod:-8433693,960816587,0:952382894 -mod:79150,8266,0:4756 -mod:8999807,39604219825,0:8999807 -mod:71019,11742958502,0:71019 -mod:62049796028,8668788,0:7280312 -mod:663,501536125446,0:663 -mod:9405339512,4946,0:1182 -mod:8398326144,695282,=1:14866 -mod:2040205440,4831,0:1675 -mod:80471943965,888059767,=1:546564935 -mod:69485028101,554070,0:217541 -mod:673,944658680,0:673 -mod:670561,90183207,0:670561 -mod:87072012,7500022,0:4571770 -mod:910888567055,779049027843,=2:131839539212 -mod:963684578354,34003127,0:1956047 -mod:909044,302,0:24 -mod:5117486344,275346901,0:161242126 -mod:946663509903,66919981611,0:9783767349 -mod:80280109,35551,0:5951 -mod:92755422,4885132452638,0:92755422 -mod:404434561,300368787584,0:404434561 -mod:7641992913,2639,=2:464 -mod:4268,10435873,0:4268 -mod:-16867245244,3938443,0:1106125 -mod:7471011989,656899,0:99662 -mod:10540460484,86682087637,=2:10540460484 -mod:284094,8671306,0:284094 -mod:9452633,5574,0:4703 -mod:87858,294942647,0:87858 -mod:-6925741,254505734568,0:254498808827 -mod:5567849,8785,0:6944 -mod:5715920872437,47382,0:30681 -mod:-7228582013,17846758280596,0:17839529698583 -mod:-4825967237258,629489737727,0:209950664558 -mod:-97364920350289,7307271,0:982130 -mod:-5267574,1302960,0:1247226 -mod:36680428,6651498734,0:36680428 -mod:80778366511135,18049323,0:11222506 -mod:5246691699374,70706752,0:38580718 -mod:-76528261247430,881359,0:586489 -mod:2510155,9882180356,0:2510155 -mod:205710633,89629157572,0:205710633 -mod:38304,635189,0:38304 -mod:61339988670,8789855847549,0:61339988670 -mod:-95895,39680647996348,0:39680647900453 -mod:3783159,35551417,0:3783159 -mod:434657,27849425,0:434657 -mod:-922645,2692809,0:1770164 -mod:9973857,61929174655,0:9973857 -mod:491931072,76925934085,0:491931072 -mod:36870777851,79112622642,0:36870777851 -mod:38419240,600490113,0:38419240 -mod:4286489,4746879,0:4286489 -mod:-5967532,617005,0:202518 -mod:-50370862538738,6877482182,0:6694444412 -mod:948978223,306059033,0:30801124 -mod:1939139989,7192751179579,0:1939139989 -mod:871928,56723606527336,0:871928 -mod:5777442393,771454160,0:377263273 -mod:-2052133016,7833337,0:201278 -mod:200227,787554274823,0:200227 -mod:3616468166,851332729232285,0:3616468166 -mod:-48554766181,2252075,0:2222894 -mod:2085689725679,557651117,0:74548099 -mod:2079714930,6441707850091,0:2079714930 -mod:-464256354428,40650020675934,0:40185764321506 -mod:-209095689322770,332963733020,0:5535013790 -mod:92840725060170,4953669615741,0:3674671976832 -mod:6233198674119,5752924138093,0:480274536026 -mod:-94439733,73783193078726,0:73783098638993 -mod:524856,25938632,0:524856 -mod:-3642534,51609507988,0:51605865454 -mod:556443616571,195489997,0:79085109 -mod:747271697917685,801669727071100,0:747271697917685 -mod:4017563378374,1995926813097,0:25709752180 -mod:-13638096565,3048867,0:2534393 -mod:304947884525,888510602,0:188748039 -mod:5378877455085643,43074731164862996,0:5378877455085643 -mod:89177886913,4817647675701342,0:89177886913 -mod:-865014493293680,219168754644,0:44581286188 -mod:6321573844,258781732494,0:6321573844 -mod:1400577334033142,14009914614715892,0:1400577334033142 -mod:-337804687,158388274759,0:158050470072 -mod:-3733377356597,469670806,0:35880297 -mod:51974564129148100,903237315049451,0:490037171329393 -mod:56996153270005410,2396515,0:7985 -mod:-67091637443329,19220071611,0:5632550672 -mod:9064750093935233,171857609,0:35046324 -mod:-71156951211655456,39266481994,0:466181614 -mod:4362072502442,7301990213272,0:4362072502442 -mod:-86003145010044,116261682333982,0:30258537323938 -mod:56216118551114756,455637223,0:305042665 -mod:262802582,8458718157713811,0:262802582 -mod:364016243349347,542092606375782,0:364016243349347 -mod:519321257779118,727275719430783,0:519321257779118 -mod:350650081861106,54037636428,0:53896716242 -mod:-342917424075566,19042847036414481,0:18699929612338915 -mod:3486471961809,6003086967,0:4681520949 -mod:693821889,68575560399616,0:693821889 -mod:3401139672999,693846027567975612,0:3401139672999 -mod:676404815653530286,614916221034390945,0:61488594619139341 -mod:4874055499517062,6434678789,0:5095928388 -mod:-9967718379562,6518969637,0:6305165048 -mod:10248458540,38512788750888978,0:10248458540 -mod:934811913,2221199202368,0:934811913 -mod:-6684245035389913,2828258378747,0:1757771967995 -mod:970708744192,5063581816300,0:970708744192 -mod:8778023537730,865180741691,0:126216120820 -mod:651572737854772745,819932061443536802,0:651572737854772745 -mod:31675213895884,13227242908836,0:5220728078212 -mod:-977172760207173,171558790519620575,0:170581617759413402 -mod:-45853408229656454,238503345091356,0:177737372975254 -mod:24097409593,335638746639,0:24097409593 -mod:13695822253044092,1732994051411821,0:1564863893161345 -mod:33933477593,3772615655961401,0:33933477593 -mod:1359484164716016,16485762808614,0:7651614409668 -mod:6194976547,9790288403118,0:6194976547 -mod:35165676304962247,326491511837,0:255039534488 -mod:50698603380253,837874905080656658,0:50698603380253 -mod:-6677472401203205,206803331886510165,0:200125859485306960 -mod:-2753237124185,71096000432140,0:68342763307955 -mod:1652954342334,4660678399996257311,0:1652954342334 -mod:762003770264,58114453785466092291,0:762003770264 -mod:83319117929825,29022700876993701,0:83319117929825 -mod:-437222911638931,2017017077397633602,0:2016579854485994671 -mod:50533577363426220,29452376981671,0:22750839860455 -mod:9775773078526862,883620114446,0:283752410764 -mod:86103820030464773010,9526822249,0:7814958303 -mod:472571956027154222,812207565469535,0:679360489354387 -mod:383374451459403337,4477129646684214,0:2818431491245147 -mod:7081720213022716854,503311092329338,0:133143948931194 -mod:4630128377779,800171178832441,0:4630128377779 -mod:54693593051710401,980996545405933,0:738783054384086 -mod:150482763687955095,749819481017,0:742223172348 -mod:593450696047000,13586015736,0:13528698520 -mod:-730500097181725110,728537309580,0:620447592990 -mod:-767181280549335,8336534436990434,0:7569353156441099 -mod:42981969692069,6887667892543850584,0:42981969692069 -mod:-28591748475152,101365562837426064,0:101336971088950912 -mod:-7968036669154,98303283928623932,0:98295315891954778 -mod:494411386598,8574532520081676103,0:494411386598 -mod:68913463428,37113484763365761,0:68913463428 -mod:79048317647131571,4246788999212,0:2834004798615 -mod:-7998703715314196040,603932675107699279,0:456353736193593866 -mod:37189110674330836953,371484075669789573,0:40703107351879653 -mod:4919085789477,6627653096140609,0:4919085789477 -mod:1124829404566321352,1113121353192745,0:576837841648902 -mod:73970998780022288,690593097938779270,0:73970998780022288 -mod:406559451598,291528733390141,0:406559451598 -mod:8337041054557098684,144564322413327450,0:96874676997434034 -mod:33602045710930,3944255323850,0:2048003120130 -mod:36881013741727574167,2358692215512,0:2217232253623 -mod:6055783116809477,665900361366484113746,0:6055783116809477 -mod:6874334379769379421,7685349776541,0:4194447198069 -mod:4114973877055494,6202439146871230,0:4114973877055494 -mod:3926099959854080246,275452944727,0:275423967496 -mod:4029793101439201031,660396995221451032884,0:4029793101439201031 -mod:301872874428635697,54874102367289078,0:27502362592190307 -mod:5569303592565,237882890299906,0:5569303592565 -mod:-5030250164815763124,20652997723024,0:14613601685340 -mod:228359514067103,297994781044164,0:228359514067103 -mod:-424197230384775822561,35518873718705666052,0:2029254239692170063 -mod:264447937587468968,14314680638460766,0:6783686095175180 -mod:6394566749820905145,9683844165303,0:4880613879246 -mod:-8688948887808654898,734279103507671775,0:122400354283406402 -mod:-626916205862869883,94382847154774,0:69047786293799 -mod:1626914326860229332,7062310571812316625,0:1626914326860229332 -mod:54001071080896262095,42490007593568841,0:38761437063834025 -mod:24728563187886295882350,709499139923539295422,0:605592430485959838002 -mod:-1107994585324963758433,26155793492434894341,0:16704534849736698230 -mod:654008549965770,51389913007264,0:37329593878602 -mod:-519456375679038,4624572350871880932563,0:4624571831415505253525 -mod:-82236922719413533430,72103334739677626,0:32982218558637836 -mod:-323874523758275336,8012542519209926,0:4639719529331630 -mod:28055503703579420,59306141019480998333,0:28055503703579420 -mod:331202177649495634,20031374822914022410,0:331202177649495634 -mod:-130081790443955,81911619024148257,0:81781537233704302 -mod:12392000130570253028635,427646582276340386,0:85115948737663513 -mod:-3408044901060955810,3826012386295493550,0:417967485234537740 -mod:-2520566214354390679555,7522956445489849326,0:7147151330198693981 -mod:1980291342375366442,2779172585704919,0:1520461353464114 -mod:81051547602981,72198401841564,0:8853145761417 -mod:-92876397580264953214156,67027595927289169530,0:23850374957835754424 -mod:5011749939685736607,233831869913631792,0:101280671499468975 -mod:-809134913749137460747114,775995673975034727,0:431478675099304148 -mod:643341365602570,69924772710009984856,0:643341365602570 -mod:27791967964909927,59009798124981438889038,0:27791967964909927 -mod:-113914260724456,4611599197279102,0:4497684936554646 -mod:363308545066340586,9662463842692591834,0:363308545066340586 -mod:27756526116505105,3891223619279919535107,0:27756526116505105 -mod:704802873683670599667791,7264024574741209,0:546567259370500 -mod:787136088375328,120969078621542,0:61321616646076 -mod:7670850065383883511434,877940228500467933,0:286288975295180813 -mod:702943840459603392464,184873925058119829752751,0:702943840459603392464 -mod:346820606266075751,258033318226999763369665,0:346820606266075751 -mod:-19738877253014425,881986541366353479688437,0:881986521627476226674012 -mod:43236561155260520835698,38481338895759451581,0:22017575322656710235 -mod:482681206446127491983,75672199144043749590770,0:482681206446127491983 -mod:-9003595768210252773151956,24542596402501089193,0:2977625686803835252 -mod:500595090938893533,22068045096454773348,0:500595090938893533 -mod:2380288714663108486927735,564958976857884405,0:163611608764475305 -mod:-61794208268134898961577,163988560200473972889023,0:102194351932339073927446 -mod:-801112647021780575,5997315269791230838613,0:5996514157144209058038 -mod:3375858304586431,650460337591609485545992,0:3375858304586431 -mod:8320311342983951,42251663165732904527,0:8320311342983951 -mod:7459256407267723209637006,417970890631288166,0:349337361754478408 -mod:848180762170013347,7469835660313775,0:4089332554556772 -mod:8089787096351751904254417,50129556268942208341,0:29694338665148808860 -mod:-34903538093781704569582,183184852451752183835379,0:148281314357970479265797 -mod:48619014890072452,80354799021914778903,0:48619014890072452 -mod:-815988375058446388,8738660656145657284,0:7922672281087210896 -mod:31813448306518054090072,207434655868203321566266,0:31813448306518054090072 -mod:-8633600698002819419017,586048397265776638134,0:157125260983830152993 -mod:-857216833834708698,9172367193130972108680,0:9171509976297137399982 -mod:5504547056103565303478,13822143042666022,0:2988649206036176 -mod:9870113591998328200,40859674965133754765576,0:9870113591998328200 -mod:5384435851045720977148,202201600690593374,0:9426255910020902 -mod:-2551078867778519184089893,60228847348701786402454201,0:57677768480923267218364308 -mod:91679210346975867109461657,9997426629350491363488423,0:1702370682821444838065850 -mod:2292649799687862201,546378248247723870,0:107136806696966721 -mod:588814820029030818332181,8113490218013508525654874,0:588814820029030818332181 -mod:65454498830100158031,780288548110175467735,0:65454498830100158031 -mod:4709646238170145522365,55608341104804744,0:9004980917338773 -mod:-225535148248500667,8159132039306813709871312,0:8159131813771665461370645 -mod:76763315297183633054184,85934198951388076635,0:24075633594080619129 -mod:1133129576897649900,54644763452092731277,0:1133129576897649900 -mod:-67382808234452914542138,8955363760101370992534,0:4260101846358053398134 -mod:-90953375293336830190945,6853448055620747690936,0:4994897485353637482159 -mod:443616999780543985329,602650474818987637619854235,0:443616999780543985329 -mod:-32726760956482080293262442,7257539124551086281136,0:4740495243318834660918 -mod:8064248346280114405840575,2215292120106396321855736,0:1418371985960925440273367 -mod:-7028166529953061572415,793014187917784076,0:318217562258693173 -mod:-24801752752631583807972,746849063653448560403834425,0:746824261900695928820026453 -mod:866033908626319182842,6382377566902718089,0:4412937094452240827 -mod:-5696109440363786526866,467357847433239609373,0:379542576268328394983 -mod:-10407234425686004311,628564472015312749963777,0:628554064780887063959466 -mod:209459609329564838657,2486115412259790740945969,0:209459609329564838657 -mod:83211005582689134709,427365949717166750,0:302011337558785209 -mod:522043226813009221,84636707853907370269,0:522043226813009221 -mod:505480107359090528100756,628892849069663750,0:562098008522737006 -mod:-310708269201043467381433563,29010904881853615009335053,0:8411684499346297721252020 -mod:945016205353589874668951,176007434590298672,0:79677746280043975 -mod:3611093895058265247,4523612444279050027926505809,0:3611093895058265247 -mod:2248073915672967969228420426,417993946449832515848531,0:102471665768698995020708 -mod:75483556005338850007382,767992806236118220580991044,0:75483556005338850007382 -mod:349175730044864846750,194542620085155145157549,0:349175730044864846750 -mod:5214057366956683393,6766485378347583109969578772,0:5214057366956683393 -mod:42801122269815033051372,76491121430284940146293642,0:42801122269815033051372 -mod:1504356843590479398148441,98825538637920229212984,0:21973764021675959953681 -mod:1422956549105294508549700,73999528905391695937,0:19607783517587377127 -mod:199912292615681783148398065,5625251527460055267035,0:2103832806339068508235 -mod:8738762075990650132321428,8066858358673855106257,0:2354473546865052245097 -mod:8744971293400903575143822441,2181608008778482293077393,0:1086394216746544489631297 -mod:63912100585682096593583,11361184476808394745245,0:7106178201640122867358 -mod:64684262754316464701,22376578863907224393672,0:64684262754316464701 -mod:13792618112420611117,792966702790880958054,0:13792618112420611117 -mod:1114011944265093423883128,24116689971306070038294352,0:1114011944265093423883128 -mod:39678469855084024947237050,42142535719623301934525721,0:39678469855084024947237050 -mod:83034763665077760046967629,82778559778204667638,0:4244359548962628019 -mod:2396471122363838882513850900,59747356384740003525,0:57225475716145829475 -mod:864549729107840811638,74264623502102569648,0:47638870584712545510 -mod:293471055432367196531,95629011563915920942031898043,0:293471055432367196531 -mod:805770771235800281066969751,444417493982143896834,0:79401739074580625355 -mod:99254856446162105637797829350,101981775402621358245361,0:73717806842511917782490 -mod:22541739862903307325,418383569773975023302632076,0:22541739862903307325 -mod:13599043000903587396023017,686395340986063801303,0:178505287691364607981 -mod:-921575422288638694625782546,2041485695291750177603,0:216222744337548474126 -mod:-489269754337315502376167081,501875735917569336224,0:368721212244829894711 -mod:-80044798953445460081243,6139390882382293287544714,0:6059346083428847827463471 -mod:1697244421022884241204,9839911566031781174211,0:1697244421022884241204 -mod:940445668109981090346872,1166998590007295684475234,0:940445668109981090346872 -mod:399066130721328784362180646,2466979168009327704701836,0:1882484671827023905185050 -mod:-48110448286951664808938217,6924833390360325487794,0:3294109271876680254495 -mod:8202438083226798875527459,2712253233103808901251657,0:65678383915372171772488 -mod:5450714727456153005642027367,100450439174668838374882,0:72996960272497744180283 -mod:409375235483978782700540,154442023996251499419641,0:100491187491475783861258 -mod:75895449457418931569869638,96657756211092917375958176,0:75895449457418931569869638 -mod:-337896716384821901508,136332254359196503233175760151,0:136332254021299786848353858643 -mod:286597911534314020993735125,8939960441559894748118849,0:519177404397389053931957 -mod:-3629523279922780081559669,47176221977787068435634953,0:43546698697864288354075284 -mod:721006898368058427667864053628,560134433649198454347279482,0:113882261540016922915360294 -mod:5816434052384442045783498,8295493150888286278058,0:1293353611753364864840 -mod:609810757121108447302938155,91911350135942492551802190,0:58342656305453491992125015 -mod:-19105264771397651242810,62812840189408438467870,0:43707575418010787225060 -mod:-3384023484275449303514510512,36865912947085723132571998682,0:33481889462810273829057488170 -mod:794103148636604290205719396698,60830693353207800202838586376,0:3304135044902887568817773810 -mod:-872647162068256604091329081711,7171269767341809905452128,0:3142110266217873424018225 -mod:1741864928041849080630509776343,4019228270224295025021,0:3953212345502485484813 -mod:46472481719179435494357769,7926074597166240368807886225357,0:46472481719179435494357769 -mod:-8260893021299279875407235,8110427213374126288611,0:3632309128954812687374 -mod:-12778559515327410738082,60133073412668338924778,0:47354513897340928186696 -mod:-33979239742647553347892336,6474568036342863013409,0:5767880116134609491505 -mod:983404512267124852163233,80477942869108029021719,0:17669197837828503902605 -mod:3832523396251835150772,9395631266939763227204675100039,0:3832523396251835150772 -mod:88670226724007548654482766,32452353295811216769641,0:10397519851304439823554 -mod:96278532026543994019519712307,129820052877663606606885,0:86210882333451655589757 -mod:-5810653163494420168043,36986477497409060096423733207,0:36986471686755896602003565164 -mod:3126207974581460571577891,32180478067769596422373325424,0:3126207974581460571577891 -mod:51956357441149158122167659,1003490769172375032993217,0:778328213358031439513592 -mod:-561702379847624714751550,53922991187327968536105231702,0:53922429484948120911390480152 -mod:446077868534077880774451137,67277848506923282427435882416,0:446077868534077880774451137 -mod:1575047464232207678249043,70194506692490651832280909556,0:1575047464232207678249043 -mod:814270662793297992963934,403564259479336969832400620632,0:814270662793297992963934 -mod:790699201198504136904045859970,68724106656555736601709440224634,0:790699201198504136904045859970 -mod:8110552276797224689344660171,3909333328494414590072213560549,0:8110552276797224689344660171 -mod:-65870994230220283146814283,3379239242265180710762324,0:1713790615083331068432197 -mod:4019795295333902960419848174,50295832366163431551511941,0:46424538406991867850404835 -mod:11568598680110024328705699675,22452048595187151195492,0:1025051083178018882739 -mod:387522780739724474268318533074,9155092309434144095404353111490,0:387522780739724474268318533074 -mod:2391972635448121089016589,39976990962848470908868,0:33330168640061305393377 -mod:866848655025962221176014879,40996252765546194841051793,0:5927346949492129513927226 -mod:9039212181347754641685676061753,1413755859430626067769418378148,0:556677024763998235069165792865 -mod:62309693047935174482238300219097,1448468173515469111051509167,0:937627820239732135530382258 -mod:10235771277419233732197767436,47759815237747782490291,0:30955110842232226071189 -mod:4510445237186840834301611,9536931548375816882114508,0:4510445237186840834301611 -mod:32374689605351221312665153746,773865694054081649089543,0:18294598715523004122341 -mod:58121462593501432960291,544699189690679924713807,0:58121462593501432960291 -mod:487815493709763477417262324977,100467558757425018298664228901,0:85945258680063404222605409373 -mod:98070875983658870659113425694,60099405211091721761658040174,0:37971470772567148897455385520 -mod:918364128985502035087214237,2299858822935844817555228747,0:918364128985502035087214237 -mod:98947035094409552251212724,2825141475757917666304644602636,0:98947035094409552251212724 -mod:1526039375858118801195007,9842198071310595711976222424051,0:1526039375858118801195007 -mod:956310510459469197042596,12660491958158211655462388289,0:956310510459469197042596 -mod:712022876493637494246773,6907620845496782089063213,0:712022876493637494246773 -mod:-127487606866501768951687217731413,97214150491566835275008318146,0:57358578433918929123695676139 -mod:6751815551565439795678949,31071725936607844864896266530950,0:6751815551565439795678949 -mod:207247716655973517840426399106,8676153294057052584605417,0:442920832702751956803227 -mod:-966202956730918757628959,506872112425906694585759,0:47541268120894631542559 -mod:-68170698773654086579499859368,5144430238993385147152349982479,0:5076259540219731060572850123111 -mod:183149199419924949681672,26683244363440548441986070029128,0:183149199419924949681672 -mod:-9975221264569424411536101126696,74192946761934634594295284416,0:40826548291751258693762269464 -mod:225922343593361728051942267585750,5683400149678094053656150,0:3825868296308226483712150 -mod:1590802748651151308839006,37444237944901366482969738035104,0:1590802748651151308839006 -mod:9067619839451785696827107956190777,87355497973165371903530913,0:84293482668838694674156358 -mod:-86293581881377444715621610358507,7692884519189179893063221146996,0:6021032348892714001137043405445 -mod:797270639908743442539388404065,246054564304506055627938724988881,0:797270639908743442539388404065 -mod:205038144424990428525674376,85234961390603945529096075,0:34568221643782537467482226 -mod:35844939430843764162712556,653126866666115633914185924567756,0:35844939430843764162712556 -mod:4259287602245499035603599602,50729589724528668468977995092499,0:4259287602245499035603599602 -mod:2261834480876028227185763,424795020529636248111781917,0:2261834480876028227185763 -mod:39152906040428126999262088,4297272364540702463008576,0:477454759561804832184904 -mod:-5930922183829543621704345694286,197786250025515478569975835009,0:2665316935920735394929355984 -mod:13648638091639720241268467,60685727322075123781463007100346,0:13648638091639720241268467 -mod:-668319624482464990058154959802,710719216881033542598449292474287,0:710050897256551077608391137514485 -mod:642021199249584712913865808325586,543227057645582873078752689,0:152765287910622645761540601 -mod:-2656447484733675418860019290432,205011691602629984379183426293586,0:202355244117896308960323407003154 -mod:-76116380282907702927282762504,936328544643249459199496754,0:662560377838752727075971324 -mod:8093358695607350358964677676389573,829984096904096704239626252,0:340210087590552445135735881 -mod:-9278168173113556399784725246186,4280082896252256282175389133291,0:3562080515643212446741442153687 -mod:2802211761443428677828547316,747494545678197065832762122247199,0:2802211761443428677828547316 -mod:23492204756311184079845536545,337250910922702955980510700463272,0:23492204756311184079845536545 -mod:64710301838085669236316870323,868170439410850659865082898,0:465689321682720406300735871 -mod:2741127245480801383259770751238076,74176417788834011756636699109536,0:70776205082776960020849583294780 -mod:415065500982033616775933433,28746890219519286864975018117944504,0:415065500982033616775933433 -mod:-89217744891275021874139963535100059,3290121624016777142908239971,0:2829430817460639915155471175 -mod:-9317836992515247957659739610258,361276376419354526411745198556357,0:351958539426839278454085458946099 -mod:298421168958661320791582460540,9311321600116774390269301187799304,0:298421168958661320791582460540 -mod:5274155275590071857725575099101060,98122204238639783506999069,0:57734636536655754953174064 -mod:865783349805109330441131327,162630826994678660982290958,0:52629214831716025529676537 -mod:708516761779855069848378277411149,35904666994288818268923584882788350,0:708516761779855069848378277411149 -mod:6609496417442545300703371471487286,5902561608289411469926303,0:3737357682418540243913209 -mod:206488861625670348490519145948,55768433595490812270050489117,0:39183560839197911680367678597 -mod:235462255567476370046316727231771335,90122239517029363511961434219818206,0:55217776533417643022393858792134923 -mod:7378753800396502033389928296562,22504168678875184770299793837483,0:7378753800396502033389928296562 -mod:2757925654768646392546972258732,66265998215956320290751023811589600,0:2757925654768646392546972258732 -mod:-4495627928966379121510140686227227,4292233509252118764895120750881,0:2632788729841344099945860696061 -mod:60075078241755197289597987901298258,85793760621445664196834659007562403,0:60075078241755197289597987901298258 -mod:640202717640040770302982685361,1043941556622236018146973420441,0:640202717640040770302982685361 -mod:981675333306953772484178502284,14989243876208586685329510289358317,0:981675333306953772484178502284 -mod:87715989707184594635823373687043380,2924631585179762875239333452363500,0:2901673736971471253882703568501880 -mod:-323249437311463874466227132752562758,54630285509683054247993598313342182,0:4532275746634451021734457127490334 -mod:-14647356048136737851231147317,175677379713875589633642881,0:109543847828811677994854687 -mod:-6268327123157272100193046712,31032884392623150618360081127,0:24764557269465878518167034415 -mod:8830187989453831993186309990340663,959494270231543012302622845163608617,0:8830187989453831993186309990340663 -mod:2102106468815389931443009975417,244048361348982984508269787947,0:149719578023526055376851671841 -mod:767756521870180222085097228863,5629352943535035124861550483062,0:767756521870180222085097228863 -mod:852449392775158289272424932198,564809949353895492950864832457,0:287639443421262796321560099741 -mod:-94075133584459673485423491471,7078005136840583876255761330997303,0:7077911061706999416582275907505832 -mod:94026202014853579487205142874162,363228855132321701963096787271215,0:94026202014853579487205142874162 -mod:78501236594767796495670623879783,7018641410498793931533837751986,0:1296181079281063248798408607937 -mod:-83121914354650984352606847805013,52556446964608987755585827141661,0:21990979574566991158564806478309 -mod:554612894627846154817277112226378,90600992903463982226644139632,0:44217065743119607988333538906 -mod:525293194961196331029028416806301039,736093318498847487453110088942,0:72734093290490277635805244173 -mod:157610281371549009553406136918536,976813980235355373377808309891,0:343230553656794439578999026085 -mod:-266509790805154856208324746487,7013639425300014015101241233380,0:6747129634494859158892916486893 -mod:59653129021803829007632144466094,6178618914324116986866641510962341019,0:59653129021803829007632144466094 -mod:-1025495993097568795964701500702,857271481493597231020277064636,0:689046969889625666075852628570 -mod:481051936536536822112378933191985353,9466673918671293738127743696345889772,0:481051936536536822112378933191985353 -mod:848825342321881584621547504882,5509051479604448499464250938005578,0:848825342321881584621547504882 -mod:-26930177732304779325732093789608,5553144086178691095750038113040,0:835542698588676153018096775592 -mod:-930412667133937228253381813097,66449017645940693043271729675,0:66322597555173167395694132028 -mod:393034277242496542604957925805,4799386565947366109662393955284617,0:393034277242496542604957925805 -mod:86603638626688955985063356610183,1769014799372327392140745286156481,0:86603638626688955985063356610183 -mod:40877446922338785512028664714,3627227112486512731974346137499409882,0:40877446922338785512028664714 -mod:951744546236842962508833599628258421,802365455425080101863813995676143,0:139116102697961698350200756352823 -mod:30829284319654404192904595052,1296652777164452508914199335388219666,0:30829284319654404192904595052 -mod:73660971721825840324689412056336,5684533154366812172288342524757974326,0:73660971721825840324689412056336 -mod:8127358843185844147904557106702570660,3688282607387577967901654384422862,0:2072259111009884617212497819005674 -mod:36532892525294324678919117123848496713,92715061891153280227822277460692,0:5828075633057629393846902185185 -mod:-8597748351805543505111910190253821104,9557218184864474744270904051127420194,0:959469833058931239158993860873599090 -mod:774575051270128492444548860406,78181627397979349461399043516039569227,0:774575051270128492444548860406 -mod:71412172829277670593171097931971081,734737459512775442295997263661678,0:142639256538452690459363356788315 -mod:6184659289209085822436564762850,90249969123878877878427941364168671,0:6184659289209085822436564762850 -mod:188404876454609678788443725411,6011866633368206495263558549515721,0:188404876454609678788443725411 -mod:81043932065078534018074416730418,8372433471866735006229336375535354,0:81043932065078534018074416730418 -mod:6912342702093810814710065121185782090,79053815437751598622884440565862252,0:34660759009421734519118791955766166 -mod:-3169060990465931351414443670,3481005717923100913496633725151171,0:3481002548862110447565282310707501 -mod:-3677873239878011216446421508552,39945867794076672579972752013115,0:36267994554198661363526330504563 -mod:-88408316452809240011823526997216147179,430749395485673956071441817182,0:247080945638127516958667217647 -mod:-7006029462687996724256881439538686,5752004602477767685988190527369919519,0:5744998573015079689263933645930380833 -mod:172663755283332370937921725543,6631081406973798665639408060368,0:172663755283332370937921725543 -mod:877725872115390827864622867155990409562,3246622975450958412670313198657575,0:1350702224220999203693898915008312 -mod:1162325904966484479085618134964501604,9810351533284785336335637682672874,0:4704424038879809398012888409102472 -mod:-67246779579026319613494857580231,4479147727625713736723230094972,0:4419584062985100174076823939321 -mod:-83311824891620553984522523676903100800,570821292295355560082171193531,0:517563010884629547920243561062 -mod:25686998142667809989182628560877290,2025104174001151569408893055981534120,0:25686998142667809989182628560877290 -mod:-6182593212766128996183974088677690094,21672462542175162551645329360574,0:18538952890500736647244660057756 -mod:-294700116350712193407358863563690,47602175104818483716891162778987,0:38515109383017192610879275889219 -mod:99318338781646049264027201614,31132733056517268309209622249797280421,0:99318338781646049264027201614 -mod:-2566422039368713945896870934278082067,3422938407926845108634793366952796,0:781766576419885579224090936514933 -mod:1798229479312127271076623168674216,146420794203382070378885907918865097585,0:1798229479312127271076623168674216 -mod:-10575907960389417493180423047371,548554000428335526399148116041,0:395172048177293034802539273449 -mod:-41585237394069668771815671048852049750,6620785900949628605472441451228089,0:6539635695898127762206147762805348 -mod:1375415227799292140480888477226023092,123029527135707896415325486765764221416,0:1375415227799292140480888477226023092 -mod:-2079331025811185903148784604677,95045957198248711390742316452607286039,0:95045955118917685579556413303822681362 -mod:-212508186835656490444057415261195182,4829012565342247873891632422752490038715,0:4828800057155412217401188365337228843533 -mod:-560425113540022327972433105315966740,96209074671864129929198408439658600,0:16829334491162451602757345321984860 -mod:878336664644268081456398188824415429,932061958650634766658892044044056328852,0:878336664644268081456398188824415429 -mod:28882941735745195429234419733039022447,64140280097846201870647655651438569,0:19815691714404587442974689891666397 -mod:88232952784596907289907603989240788,93349243418019298106177761581992320992,0:88232952784596907289907603989240788 -mod:792301762499682540474009585487691810,421120400044388668787389960907,0:367290969121964719876967770219 -mod:76111941484805465095241888868932546,2831856059624821529741336978732478,0:2483683934560105321967127421888118 -mod:-5427708288474184011690247672955482270191,671682251167994228841481066017358827,0:155983214377351577760821530794410796 -mod:-8530853102666682143315062468746465,213498385560089813626810097876341271155,0:213489854706987146944666782813872524690 -mod:968866609367366454712369109246988,628634209852159542629660518990065356620,0:968866609367366454712369109246988 -mod:96097393485358514676281731274665078,3957833123075932141830397414925844074923,0:96097393485358514676281731274665078 -mod:-81978182783653208012914682683646556932,972774031969126613105009607688574,0:403212480999053283791985092639770 -mod:313104324214756365552882262334038,5945062360867852334605007338592823936,0:313104324214756365552882262334038 -mod:2735884017629695152167391129737071822780,3290205739029218948898407572995748,0:2270894901924122540569416928458576 -mod:-97466756197931651810599360815010262,3315237020945784440159312220994155,0:1990354430441881394180005814814388 -mod:4287211941100891093508540048565501812,594177978658290517920278334613052052,0:127966090492857468066591706274137448 -mod:5617959241381925678540184778777695094011,4078448937249847013764977403503471090,0:1935054788886340585810894153415403081 -mod:-3548112469563645005797230889810299281193,34963401912331074261420878238937,0:23794960044874975729481854354116 -mod:4922552264219521070158559671565380834,5646798983979557962421505933015709,0:4190349173326084889428003908698295 -mod:32565692680193961073474123363666015,878047053403499712307729237883224199,0:32565692680193961073474123363666015 -mod:768830069274599347793505224871406391916,49256101034975375638954310064864965,0:40844320703684820706353378994018196 -mod:642199331170025417801554157178084,71675957995271890601200242650759107386,0:642199331170025417801554157178084 -mod:42268335126087027949341092958250555849,386269043855800901191675132738936,0:72464078302734639658208027006177 -mod:61951474950542877141809186776499309394,1575592140257546405587708780583660678216,0:61951474950542877141809186776499309394 -mod:-50372525688338317312158892618403161,479484240404243987384900356318490043390,0:479433867878555649067588197425871640229 -mod:44683217172537023841274434066246364,58011321282881808274541027575827116208550,0:44683217172537023841274434066246364 -mod:114588115678254964728743791898564,4589417972133701399012552730584485633,0:114588115678254964728743791898564 -mod:787749081823153927726813864184041,31678364830089024747329753309219782268,0:787749081823153927726813864184041 -mod:-4210686607729439615194829247147791999288,202013476656713406344999304149677576978377,0:197802790048983966729804474902529784979089 -mod:-201317765219861856053478772267939948214725,28008182775029748896931627041800444,0:11094152473662864315215654119177355 -mod:-232349757997193586311539481768342879244,86500898319812757120814118782924774,0:78155788143292072088055401375988494 -mod:3459368213898794108935715830804259,645307545853931027509103766501511211,0:3459368213898794108935715830804259 -mod:-28214486245399572630623366879671715,4787018465719437691521185074756254,0:507624548917053518503743568865809 -mod:3106180109929449357402363559818380895066,469482281886594475593365429169214,0:356674718833276575481292181443332 -mod:770130766600035002140959295669804,926634653367571574740533619678875292928275,0:770130766600035002140959295669804 -mod:-6708203696875914373713983952300480,1838061152155611054471652207874138,0:644040911746529844172624879196072 -mod:-7022023536539325666545120950542389888,61599165978198027775591136704700507491129,0:61592143954661488449924591583749965101241 -mod:-3443533443745355681222242435436421990276,114311172439204299235358268154904366,0:90625985673833242925392730072035474 -mod:110440434921544638432764637319049273043,85855605443431360697149818939494456029,0:24584829478113277735614818379554817014 -mod:46258128333769427123848668553344812866281,2571328063101410768335059965106947440246,0:2545551261045444062152649146526706382099 -mod:363228842811153324360949224721752071886096,519776907108357809938962249484450996075,0:424561649519573023553574581605276625746 -mod:-7481133759236874924421451125199442,918037057467449661018383366170845,0:781199757970172024743999170338163 -mod:150233345756076313394229291485865,5605171356421762519368513553022673456091977,0:150233345756076313394229291485865 -mod:3185172342747413751304414848146001953,6651506504167945767766564692832116791091,0:3185172342747413751304414848146001953 -mod:605932275764163370707058593099297764806358,14520707105209378213724439334671383,0:12284018060727065660013089171020638 -mod:-47981623369556624178550389594061247212904,9181422689232628129475009481374015950,0:491604373090426086009955599360141796 -mod:874599738760971500384056236606682756504,44920344543206332304195675515171507,0:630504744210421366434326293515214 -mod:-5100339758640008895519382671699671,18538376885121966053582708191078256,0:13438037126481957158063325519378585 -mod:965966374431724388594710850103760963,51329769618720367882036219795372158,0:42030521294757766718058893787062119 -mod:55365396231165487163722749393764963,742461596124505780223115709313334341,0:55365396231165487163722749393764963 -mod:6538244814994833769942887762335568415335737,235589470700074178427678879883234150432018,0:177329106092830952395558005488246353671251 -mod:-19650261899708426741119367893002798,8812987996700889285483125610332533544693,0:8812968346438989577056384490964640541895 -mod:97698921976137171810654806439140172,2150746254976033978038152730412247,0:915340502215642798937933570589057 -mod:89923455582480950213180680168369292947024,990694177649308076053947944961089214039,0:760979594043223368325365121871263683514 -mod:723635984996285778841783493422287881642264,32276235065854550279733766315134173,0:19063611098078828395533076621443386 -mod:-5037258901456714281661245286129845002,306535320966797925963773461282861033272807,0:306530283707896469249491800037574903427805 -mod:166532365585666920632121582151238444,4667090491545163201419847209865957,0:3184198381586208582426929805929949 -mod:911936886147819373421198830106569057199,5615756921004609557346343726386068926525410,0:911936886147819373421198830106569057199 -mod:86811484072885033355160274493374615256,37068107901315780002032584004147872592,0:12675268270253473351095106485078870072 -mod:900473503013044141279558739534891246414484,563077317551901922040540262359036981493665,0:337396185461142219239018477175854264920819 -mod:296206604339420484011101863526048420,6943888401750337638037748772448658766,0:296206604339420484011101863526048420 -mod:76766227336308707540545234943801585701916947,862719523018962547718304126230369079803,0:581458558401082022815487697114611966204 -mod:82054010479033741262889658973891816396202551,74207348922359582189434798229625162234441019,0:7846661556674159073454860744266654161761532 -mod:5755949428068825531208655649279932079247416,534856249135883824768051408128323875,0:303149412971297936011710552241756791 -mod:-4452928490319786360637181545589562421706,303160457106458311370564160984723696,0:195464116979775085035415115043948838 -mod:-33234789698150515963593845391683006297003,247588244673392242851888266520387546,0:218325582291755629376064681215940307 -mod:45977596818262545665224859936336489390180665,27112842992285248552330285939262767,0:7978970070244814382475981419198853 -mod:19746632039239597257084558812475187,78543233940000315537304287419172400279725,0:19746632039239597257084558812475187 -mod:5238660120000018347305860723869512579464,9519590072642166905656304842744016323,0:2885580046826549194893060360303601814 -mod:421929309968572623211165422203258159204,6170672461209605966222290081308608002126042,0:421929309968572623211165422203258159204 -mod:97091659698518128542501333936202976578952,9041846719954776582047878587371155342936,0:6673192498970362722022548062491423149592 -mod:23139165317306380078171479574331055567930602,3235715510499720116696692085743763585,0:687224054572373129244754482756731812 -mod:7726755134733624542969321051092429534,137447273592584087361585543516012636379,0:7726755134733624542969321051092429534 -mod:-8035318446247202234206121089089275957949,1797181404653889821209194311109353672704806,0:1789146086207642618974988190020264396746857 -mod:44241982166867606755367641125284961693,185309069767665166238795112362391081,0:138423562163297190534404383035884415 -mod:-65785436012415799791107145824395590258329666,325370594025067544378522706736314963998472679,0:259585158012651744587415560911919373740143013 -mod:821027673057722511274869415993294010068508911,57940761411167592399099541246011867856,0:15088585564533356226393273829101110479 -mod:-897376592880832081463108433977538716243727,63994684847881571668961590693909662872,0:20872741011198050739952323156486210329 -mod:191486322813809144772467638907874658537,8919158359079954072103703171632009622394,0:191486322813809144772467638907874658537 -mod:163217130341378273663281863598861624,6240813543901974803730523328640195566309,0:163217130341378273663281863598861624 -mod:642113355959693728339535203311987630159829,323941666913544410706066077917137340119619,0:318171689046149317633469125394850290040210 -mod:90922298984492607133074207595203967287,4174997092394433838709995127446401945171627,0:90922298984492607133074207595203967287 -mod:-56138446847378331284150081036618044197,841578896703894278645078028402014609956835,0:841522758257046900313793878320977991912638 -mod:160326346782265576182652967313761281,561264601142183384980166754221561305236177968,0:160326346782265576182652967313761281 -mod:62576995621135938138768719119421725807,52496992618170687901372956534626144856655,0:62576995621135938138768719119421725807 -mod:-810322268830690053691854099385548648,520427764614796522518452921164896518986058,0:520426954292527691828399229310797133437410 -mod:-7946357739653867559456965124148378449835470,5327876492137615168373368729394652862957684,0:2709395244621362777289772334640927276079898 -mod:51331569935780141651744430445423490878343,752393011036235424760251760776480444081267,0:51331569935780141651744430445423490878343 -mod:6390091523604851953175389451017692789149570,538026068781142884378652825927355725561390604,0:6390091523604851953175389451017692789149570 -mod:50795967128946679209456313061694178754547719,2799907523414076596435050064346492259123881,0:397631707493300473625411903457318090317861 -mod:931794725698638185508827954509566305382537413,188887874108390274677254477767965547955941480,0:176243229265077086799810043437704113558771493 -mod:45956761520600045904065879294257993751858393,2754559558487710326209328606488100503,0:1112021195932856302477743058115163232 -mod:86998056199797702223316805148045842457568,853454763663288996214888780372138920872593497,0:86998056199797702223316805148045842457568 -mod:-20704801388339426733036642845379116124827,1435867681437150310057862989648368134,0:410577984280737997741465350352367453 -mod:2856130129221222388492861978859662650626462,3415046666744379998032348811600467386135912906,0:2856130129221222388492861978859662650626462 -mod:9174094790970904280083488936332437588,80223089031357892324412497824961233579,0:9174094790970904280083488936332437588 -mod:4534642237573685930694951916760916917,1687939078118830937441972536472082033553313,0:4534642237573685930694951916760916917 -mod:4953285485878049171718509399492969344,8438715605646215951383851878799856179,0:4953285485878049171718509399492969344 -mod:-5473561371563615410812461706913472604,214334897451541211570930222077036158481210,0:214329423890169647955519409615329245008606 -mod:32314040316433349581573558346471215798,854672171304077635036322002646520921344854,0:32314040316433349581573558346471215798 -mod:984601652834979681176881179524440398165232732,6010771562748020948016078628902359752985473102,0:984601652834979681176881179524440398165232732 -mod:698822785190474223385164957713213782961023671,150442537951079536547656264208689393334480936,0:97052633386156077194539900878456209623099927 -mod:-832138567182782528876254228044578514024849,377042837783032738781722401918006460405664,0:298989946166315687468912977709440867192143 -mod:-271707131793885697341132963275474633346,74513535025253601112542022792779088685,0:26347008307128707109035127895641721394 -mod:44640484386299773856766873434498216561663,5213123770976745902224829213477542076627816299,0:44640484386299773856766873434498216561663 -mod:-8174713099269176537506457338358109028363056209,7202185449263765965193807505095247595858978029,0:6229657799258355392881157671832386163354899849 -mod:12355340492830472409960851629397705304982,6132966232951258768476406645904988676022226517,0:12355340492830472409960851629397705304982 -mod:740672577198687499703984527131597058855628260,62988497968425244096425380714180031243,0:25908678444459756553419138341753752738 -mod:319004336538265669049369604224595570722530952,61211042298242370348907837021107959589032437,0:12949125047053817304830419119055772777368767 -mod:4806439359677487573544166219831820280885,5343125957234791643541038079815655996180160,0:4806439359677487573544166219831820280885 -mod:323024441762812965484474248139147756931591832,5765121910212312442407559411924073985538984,0:177614790923468709650921071399613741408728 -mod:4723337975870144045814369863570042890658212,89287300568064096399722912162338068807417604,0:4723337975870144045814369863570042890658212 -mod:4046612007916961296580001696582058791225882326,5729739966517853346267035412515108513431626770,0:4046612007916961296580001696582058791225882326 -mod:540533121775179300141141525507624112998,4914658151314087364162157813143111418270829,0:540533121775179300141141525507624112998 -mod:66280283111826907749579181590044353153733,204172771634272898466853823821147342141093,0:66280283111826907749579181590044353153733 -mod:925538924182292886302889784301398233703,1123951844806914762874832168405952076336884530,0:925538924182292886302889784301398233703 -mod:-9277230270610927782719268661989105709153,55678956296429757152650874683611007657644,0:46401726025818829369931606021621901948491 -mod:50293591559684931942237588278999569425818428,141131236033928957276244084171780508793074,0:50871531606223151894694313845708295484084 -mod:227536874010521150326799753293426594405370122100,5663713263329817356263170887251834777947840,0:2857369509067856283126068971384036093597940 -mod:-159636069245107191231315124801771805922519,5376563717710166640876235141463100221226553282,0:5376404081640921533685003826338298449420630763 -mod:296211412518831858845632004066852419532092957,9193193936667373505606545836126920558776593,0:2029206545475906666222537310790961651241981 -mod:86602967441811929071383589926953279497600400,29113787967675780279817029258848956369351891,0:28375391506460368511749531409255366758896618 -mod:935808235992985547250049168223094462501588,823359169504337998748976932597778859831206424,0:935808235992985547250049168223094462501588 -mod:1241588731631743791569571581848113730164929826,171962803446046629060145060037355991426961,0:17290751287129755324248378403472062271406 -mod:-74403542912395173151108580799350125207208,117394870062241902513223079179473780570881,0:42991327149846729362114498380123655363673 -mod:-97438192951192117314716964768364222640372905637,8024586066648229541713894611454280576509407,0:4355656117334010314857498525106400180823564 -mod:-737958699044282011354135601107494488027530,158340104707707507507946829328121909848911613226,0:158339366749008463225935475192520802354423585696 -mod:7238206747053249220557962252149262130217519,26583927802751023597693302694515406325578,0:7378384704970801985383919241071609660303 -mod:-76298303799498407827228786401180081621564,305509547184311996384274460275527665616703456,0:305433248880512497976447231489126485535081892 -mod:8484126595409899812717896552747684329372,304175476902105667248597679191320877778921077,0:8484126595409899812717896552747684329372 -mod:16618292546225677123057630920609252345178704453,1759703193372771615772702336566528721798637962,0:780963805870732581103309891510493848990962795 -mod:-86688490323412015602068918712338617474038884337,68055712910244091518751770267361236110795,0:60113101985245418861232982916749058457123 -mod:-2147105590126324395866565651207583306108779,8080551616254563514320925568870382437821720942,0:8078404510664437189925059003219174854515612163 -mod:8351518777266745029929974668820179263529631715443,175331741086869721483946575985451578498971069791,0:110926946183868120184485597503955074077991435266 -mod:-1795087841202144142663615322625965929380012985,35306979241856773462781084288773766694122468,0:5568100132551303938219976101496172020232883 -mod:1223266620160352395848150839920704951768,4664479506170256011858225502160377500533300400637,0:1223266620160352395848150839920704951768 -mod:39982725086518866718673198942063749137891,461771175994919359694841662569213792123219861,0:39982725086518866718673198942063749137891 -mod:357581778914196308302086292874528466152700626874,3109407409714291140644239657248083936467914372416,0:357581778914196308302086292874528466152700626874 -mod:149499532166554918559602886813953835372516,4116995844742979208794059184185312557100182485,0:149499532166554918559602886813953835372516 -mod:30162948061054933954336062823716515388316534139,210277285976133726432524140550436988594139754,0:93296166467811074485110725004026019354549317 -mod:52810485653680320320369005564031524621022350,82825120387123890672981225414839234585635496,0:52810485653680320320369005564031524621022350 -mod:7208022814700388108567430430861339898438,2633586073486065955736662183793128252475,0:1940850667728256197094106063275083393488 -mod:1133096693748508212236566391854344691508408508,2601250202595579849376374699877144432325855432,0:1133096693748508212236566391854344691508408508 -mod:24110493767768334678283829225780182918079966113,62617472892345734441670381366941494160023,0:11535407963705925298902727562240728070101 -mod:2029154393292042830677214368668639182381808222081,82610125404955917046846600049858255083588,0:65547351731225346301018769765882024339145 -mod:950870388742015370309491008506921827067333129594,9135792372038219712944984119888962386493530278645,0:950870388742015370309491008506921827067333129594 -mod:646334826846693204541658068926128186360010,54407099890316510058892785158311428336873182,0:646334826846693204541658068926128186360010 -mod:428552882985823327962705708694562616508577,141639571156330467462518777812629657176255,0:3634169516831925575149375256673644979812 -mod:21509351141318679646739001694607822320768,21896381149810489046647085552887947819439418684,0:21509351141318679646739001694607822320768 -mod:632728454831941197355087764542806015137812368262,222724285350635099362081058306677746403035965,0:191484436137515166777558951841215353190227662 -mod:29001858864232179857863618818997005925607,263069727005942155120496500688512817218817,0:29001858864232179857863618818997005925607 -mod:2833859942689944963761411216780529093075213667,24836085579076290404924895501933094503621863,0:2546186675247857599973129560156319662321285 -mod:87503819229335363919830481339117453040132756753,7265931585748836565776184592881080221565467,0:205142162125158187890287050603931819837672 -mod:3785119298527941754940929232952910144091163,384452066294060303214343786012747535262261,0:325050701881399026011835158838182326730814 -mod:38179577399511020742387225982022507255362,265561978107157383888631215376392729015255,0:38179577399511020742387225982022507255362 -mod:-42541955629872910052396184385091366868620,7073377596138431111003761711368230096543870670658,0:7073377553596475481130851658972045711452503802038 -mod:962822498059104139629105773638997541722777,291785910412123339651738662863457030701079,0:87464766822734120673889785048626449619540 -mod:-610694008008712552303733816313602703956727091,10013831675645158459604313031569589122775,0:9530562183081513694818229700258284829059 -mod:25840001817997722382069756182552718470600133,8684986931293242801082346374758755111010579020,0:25840001817997722382069756182552718470600133 -mod:65515204463103763906150928285942229386532511441,6904523147545678419356084749116545717835399,0:5088839190367063300396186324443615710245729 -mod:88029876839939054322959996030895683781141381988805,87155086119890274408175255450625302996948,0:42833542489532412926993261659835596440801 -mod:-140728222219088662551331451181555518857060,85465120005353614253381442147197316880331584686,0:85464979277131395164718890815746135324812727626 -mod:9386187660146534186830943256786039971200765327416,587965300048494341491681576852042742249853,0:156828577987386328282882864848506418512778 -mod:8015087164840320324802166753130112000577091656,6127305412955855242353538605784472950012242,0:571684694061667803738256764021381961079120 -mod:200585481998602232012071307195117379072828517,688377212094972591154108498471394888446887,0:267713278965207986225734139941466534784400 -mod:-2500594129935211199120603938323647766148423982331,1361156037555715012439087715972060812276689,0:599374805963096380934653500844754016423148 -mod:117111132825449273925221124600613715199470024967190,6687987114639191794225780163327374060501630866595,0:3415351876583013423382861824048356170942300235075 -mod:17302923664832474983271296805121649995183106066,41453082247135300103242413890739246798747574758,0:17302923664832474983271296805121649995183106066 -mod:804590820827842054650903665300245592864154,31922670356859924926370586627082780796917147,0:804590820827842054650903665300245592864154 -mod:1419527821402660938221344683778268760948333788257,28865159616287527805126478593002688908873146865,0:5135000204572075770147232721137004413549591872 -mod:-6349296345256358340236015836865079291052256775642,178072362342080585886203440168430935242413913,0:51806412867030122454025780494135951253706286 -mod:83483775554984848270591505226690350944356856326,500899723948831224438405152518791040164077250979465,0:83483775554984848270591505226690350944356856326 -mod:-5202440839318488047646864687648754749799822,423723177170085295356066936482198199652980649761,0:423717974729245976868019289617510550898230849939 -mod:525675600985546172797713152878987836214364203032,52969787195069967379407272322490869598290122,0:3432861671816524475382350588446320933032304 -mod:37858860128097787570803474618858008892810909590,5748777360917412753508983838083899279156995949,0:3366195962593311049749571590354613217868933896 -mod:45957868400560169903622579655897442394944091417163,62063277048172505864034466895124800993363976911,0:31043384912515564237074153505089659854748503023 -mod:18051383988929839561139635711444280609605686,829384533321617231836740782712342923300954,0:634308789175877692568079274485079220285652 -mod:2455769442319397759077734120262920951648644195950,902538521133892788023206849882232725042383975,0:864664835209375654611488583247939533359783950 -mod:4589658345087491870839566381729330015793440,513428177661658876831707141329481947688426657,0:4589658345087491870839566381729330015793440 -mod:-3573981672918561820060475190255839052046119,6138097283471921734295336167784166932835047133,0:6134523301799003172475275692593911093783001014 -mod:651620293244411254456830208908605775265324147,49737728886554678175954115600491082303192404,0:5029817719200438169426706102221705323822895 -mod:-16650974859063823766693159687850998551426028,945869854077417138401154817030148430752804974724,0:945853203102558074577388123870460579754253548696 -mod:-965598273519770488416791785443027019154228220991,58147062667685853263523283369280759917430291182,0:22901791830889017063104031834745899442086729103 -mod:28701469969197750610229907539580754650086642,3909053247766771922418857228732717683752395675,0:28701469969197750610229907539580754650086642 -mod:-8748391241949190130773015442145843092096091103,42809713885017092071880308569574525272117288,0:27600104479313743962447814616934588687952937 -mod:-6130419437464601359973583052365059560631450,2868142672962642021474985766046232299028848,0:2474008581423324704451374245773637336455094 -mod:95640797562953613006161464063899219827371659541,19819192346118145486800692560690336691790893,0:13194492933561032348122458568345289480600816 -mod:-5004080847919147880779643424152795003888630787668,21840420756428944369875564516044464145680642454,0:19215926059509324291736414537431749617916976752 -mod:2939482810778921033958889604777113454839240320170,566855177384622843277537161088088916192047616362,0:105206923855806817571203799336668873879002238360 -mod:291726867119014526479710686475643665173438062,202885774177743860764627132154911476520592335058005,0:291726867119014526479710686475643665173438062 -mod:8683025332039408014362977905935333328608348,78614799730964514801510410033797138266803757860,0:8683025332039408014362977905935333328608348 -mod:869468342614628804595566251564864548106595266,73624620788538462644074114115939464475401814111645,0:869468342614628804595566251564864548106595266 -mod:4728910553503250598863512353801889257516953314,648895113009231703768170210292430028966664779037,0:4728910553503250598863512353801889257516953314 -mod:760566451760297307988377549048192013905533937,2697105353808446098263423690773776969485171497,0:760566451760297307988377549048192013905533937 -mod:918153477317716353524438631647119722202588746160,40888243303074949046907063669422917592190788906358,0:918153477317716353524438631647119722202588746160 -mod:-1473776558819659703245310105293049377337981709,31054248040311137303584740614306271791161270545,0:29580471481491477600339430509013222413823288836 -mod:905086443229432348861962052611640110347186013855,16319880347082113262021644716353623982591699522702,0:905086443229432348861962052611640110347186013855 -mod:-3948357993060778828570152166999624499401960763170,77670033625089877508398637915359376482388910,0:75836304290184446800990065584763456761865590 -mod:-784992783303820924306757780883007042021257440780615,463574560419641941889185992215306604381633902571284,0:142156337535462959471614203547606166742010364361953 -mod:3823677606013902933129598925384688189274201201551,99529942495899622221328610053601822241548249,0:35805148927146252817712955466984220642119718 -mod:12254504447986771204864826285146960991558427605699,6125051499311360686388425114933437945893268599,0:4401449364049832087976055280085099771890407699 -mod:-2580894945525990910646902811077109168493411986,572510241156643657546678509117136144990147708808871,0:572507660261698131555767862214325067880979215396885 -mod:343089829587091844514156149817937152291781907,43377295017128784286263228943698366029281236815,0:343089829587091844514156149817937152291781907 -mod:7853011116124010483217978861490662971029642862525,552677408447001109928623269020934228695696472,0:17819500571712242170831972208515492491691877 -mod:887815431705947711841094597810602130602260715,8486574430538892118817816797303238023509341587403,0:887815431705947711841094597810602130602260715 -mod:67620759311796073899200379294956624554814285201520,87303800600842937580229698689028406709310049288843035,0:67620759311796073899200379294956624554814285201520 -mod:-38490591886267408374352863050032614782701178357,66475506278603268018635318767149490286581760362179844,0:66475467788011381751226944414286440253966977661001487 -mod:-544395011810833021655729041737889469872310533646777,731611503205277837707380015577043727374026342728599368,0:731067108193467004685724286535305837904154032194952591 -mod:8890962095194591840604729292735591304316116728,517571143480065164208802281191733497859755993101179949,0:8890962095194591840604729292735591304316116728 -mod:40588319468481766273347382652716318465741545598763,1536971037850601936767123301111618687777305090,0:1525271960920929137957640261803777606250087133 -mod:48235707095020151632145028961335649832134676937,794868261145529770762797624857872107306805378170,0:48235707095020151632145028961335649832134676937 -mod:-9523841594085891512065672092684699107288546273626439,473487777070786775175577792880772873295554421457750,0:419401724400630766621461557811531231918096576986311 -mod:90074633895471637214960779532906651648038212359500386,820079595762158387084577717033680869242497989232,0:371415339208611139101404795279693919203214214434 -mod:502553209306579947121167024397370721577297298727046100,52494082558436951205873151813775449908847817944715,0:27356974663013227343342084098339599897137542289405 -mod:5790702792462693399581381818523043045468711777,48910417508813857701976328940621637734412004053009,0:5790702792462693399581381818523043045468711777 -mod:8115756631582685507536476067391256503367264361488762,84450889017264877905314659939101106548473815858544561,0:8115756631582685507536476067391256503367264361488762 -mod:8194219075070331821784044970434313099982993771,652282608320462546135364960046755034411967968039334154,0:8194219075070331821784044970434313099982993771 -mod:75033785162139990322256697516355737268216190660,50448201882288504062521017516515948614320857837,0:24585583279851486259735679999839788653895332823 -mod:-310420971441772166248782136661913235149811988,52251157147894938842540415683732209931823110303,0:51940736176453166676291633547070296696673298315 -mod:-465851374976907401549861928175506333511972756050,404205507663774789620852323466440811463681452434704718,0:404205041812399812713450773604512635957347940461948668 -mod:86727934051201027780798621123886995870064920795,2623457841745489387377116124239592088889194223622807,0:86727934051201027780798621123886995870064920795 -mod:-2164209564341937597697994551840383739114494141322,5822096741927098565898057075974774660691292113200355,0:5819932532362756628300359081422934276952177619059033 -mod:-21572594290097356729450557279398987661535311983806,95173892429181732470545230031265828462190645462413613,0:95152319834891635113815779473986429474529110150429807 -mod:896154498632105428944035878874928031422856104434543133,2920373159440158169043176499665564441266475422,0:603088578315357918226288933626857244348602913 -mod:-28106796449976334513237948147051254770072052831429,8250476728385872623793527898989079209376092358,0:2577763634333516026601404804538096272293832277 -mod:-5910781525258418818015395848760618489911223430349957,51598547888760073234245679451691550056130732598,0:38529590602611260383715148455335218776511681335 -mod:7727963353453460964292856120418469526804141877435331,9692488255114907303703797109203796514048948603078,0:3050214126879843240929824383043705107129840782165 -mod:937009697498591315869575189938875974899784631458,9231715369857992569685209191243252034527233388658,0:937009697498591315869575189938875974899784631458 -mod:190934454146310086697642361797951041146551500749,10448518118997830258656577725632025806308987954,0:2861128004349142041823962736574576632989717577 -mod:716842295935464600709869948911248187992875653195892447,401547841844896246538515909881184133363330747247974,0:79398242324800638619049773334509939330269358258857 -mod:-538446228722400194015060345964154302722009578079,57520540642458327434814547831209263785958735384,0:36759177702183080333085132347938335137577775761 -mod:96967488061013453069137268213397106742518252838974707,4323900098433218426906897807465481156203036443592813,0:1841685895482647677185516449156521306051451079932821 -mod:4248753403571933538992485400308861658493364877663,939067422305299585909602271217318347813010825877,0:492483714350735195354076315439588267241321574155 -mod:-107460187565073890428227205420824162161759055432,282612401032124761876915123928433707969500860981828349,0:282612293571937196803024695701228287145338699222772917 -mod:6649481706449462881752315195565911763474357952858741,659725471155847914828668487679599556025560898493899721,0:6649481706449462881752315195565911763474357952858741 -mod:6305756385410127441079092163742836866873755879,9919320027008577000539126363765101039097548804251,0:6305756385410127441079092163742836866873755879 -mod:-38180683008697554526126494541279186939566773312,4697678019691033242250502480954454444789783096,0:4098419168521744654128027787310903063541274552 -mod:627353070533528810361133250533207881585454632738,247981734193053924842956535127898645616700024063945,0:627353070533528810361133250533207881585454632738 -mod:-977100235060594126432793245647088458561713536019153,711683384963018548537977961275571093400571875056194861,0:710706284727957954411545168029924004942010161520175708 -mod:1498139275498305618541952433970427820083740864078175,3957896946470021688374936335906211866428578229500974,0:1498139275498305618541952433970427820083740864078175 -mod:597201805617750253952058296204205724608800648357149,4978798146323419820714075023507404888549551451,0:4925562548693297046425284539523037059050912601 -mod:-56676822442119009829407208281675487240867001784809049878,6406684614200209335872193933373288202798878241606,0:2690987740863316857560626374071228113763853811606 -mod:8685426845950882129513316465433060160017749608742,5862536885517747336130664930278619887073507404339873116,0:8685426845950882129513316465433060160017749608742 -mod:-758552875949625615550950682460830448030408807239369540,6928982530621565423313581311775944174511467885237190,0:3635202418746581013543261834523411165852660136721360 -mod:165930319304414878413873653644927162776703980852674518,70941371417197323006528137030561117730233179743191461,0:24047576470020232400817379583804927316237621366291596 -mod:-30974844728461949004845422334486602888821195017,323336199778314705263073710488111629703644763021,0:292361355049852756258228288153625026814823568004 -mod:6133073724222023714159452874993644151837626947339205812,7463402457118308536507525382128605388905979122243374,0:5620306927892405686774536266059127545818087977395758 -mod:45342828302867171033162078210088228770176829233725,826633934789479436275857854693648185626420538347806062,0:45342828302867171033162078210088228770176829233725 -mod:-26272751936716551812042161754718676251990474722,3726791277147420607688434457942745910700285747248,0:3700518525210704055876392296188027234448295272526 -mod:-39318997476790646356737814318350583742657677501,1994697821466452959618065249537163794020403205602,0:1955378823989662313261327435218813210277745528101 -mod:8027107780836872755806128697397537471698261298622,1333439935985760787392296885353944866764267524928758610,0:8027107780836872755806128697397537471698261298622 -mod:-55936499409386931117510358618192060334282485918550322,398438202364094320499957997907168092925880758462,0:239820508270537478744707995268231581913761929858 -mod:4986596463362462090356441596215520136635434728102133698,904796510225702345660178949801987674355175932951442952042,0:4986596463362462090356441596215520136635434728102133698 -mod:206550560537111820336709370332003111271041434735753,8863245846520291116010486302557366093750491313639489405,0:206550560537111820336709370332003111271041434735753 -mod:576258003770289338613512178842212632031473801519,112928562274312812079466249863533328301249309332,0:11615192398725278216180929524545990525227254859 -mod:5044250943493799862304047991036206572453520324334513,35881021726135630824830413448736592392545545812443121,0:5044250943493799862304047991036206572453520324334513 -mod:905588871665990684975164361624636275705950128546215874,53243625735815790460446478875365074647441813141773592808,0:905588871665990684975164361624636275705950128546215874 -mod:5991116388159027989458739990542641030328044128925695503,721278676327052740788584942208715418345142864101,0:431868180450652741834416094047706629629986812960 -mod:-3474677351996973979038623915159768162722810109611432906,763685814389121867002329466465821059768201256128129,0:93103473530515821975157259717659222505605771554044 -mod:8460371705356400367952890710394988728910116421931757,6311797752969747892862660456068082967585770509045488820,0:8460371705356400367952890710394988728910116421931757 -mod:-264756559717037431451787362436705748418817738411460,7816554223015299624827224356467518163226383802462318164,0:7816289466455582587395772569105081457477964984723906704 -mod:84752881980947180661815959615676455311403364453605403063,52250068596287507582088091160391730925462299132305704,0:3270717768843363669075753521067750303515261005551175 -mod:64938454622435247872445936607970411171632403906819,964092617858022639258083183616152671542900110410,0:344249225947731042154363305688182178258096509349 -mod:40144089093980612505699952982513757457937212093962271,10902061466143734099157856887908326325446558980281568,0:7437904695549410208226382318788778481597535153117567 -mod:107130104935801948815478025681375166396055326914961974,6641641026382469722494881921027536542476581953333157,0:863848513682433255559914944934581716430015661631462 -mod:375770000201081420238670197853908213239792155799109438568,741847952379716980656595421052880669705080727039,0:186232142856874724410035514392651753500883140216 -mod:314494472877016149904621158951181139298853721401432703777,2289213676835383723493513562354885152593212937649884,0:8739694298587358772241304662150445534814153989973 -mod:491754906560818931573946605055051948215890543148276100,5346198427406770324055146743032112633140429155293,0:882811089383626706097337472163994367588586115374 -mod:831402402931313770942586028473722467913682852291371107996,249203176454681279672468752353764682559981472637056324863,0:83792873567269931925179771412428420233738434380202133407 -mod:-927301671513394245404756806010463865731294755475136031104,128994162476254345599482066271274174336327781183511925567,0:104651628296640519391099724159729528959327493992959373432 -mod:49063903583376380376914162724558461583861450724317254,941774744692403469242853096809411489238020290379296849870,0:49063903583376380376914162724558461583861450724317254 -mod:95814446741364664911508702682923954900446789248313,2444989997188453542574239416826458624894367967952,0:459836851014976751113365426692068529566438498185 -mod:96634339550441353817958772505469549255037435683448,78081012036785909772650615373227006202901241216144834,0:96634339550441353817958772505469549255037435683448 -mod:930319417728873563211760140268194907413484971952354004,89121326206650943149280333205573781193492882117302434,0:39106155662364131718956808212457095478556150779329664 -mod:296149508458734377319788304412051836966914377456545014105,5775874526745986573435749392656102466476051398568,0:3756015598637200337676470424188468229410269716225 -mod:42844020401978935822457442747009223068912783208882,70773879393663215011878508613578824050038059978191899,0:42844020401978935822457442747009223068912783208882 -mod:-90593635206751701986722625420716592016545661236480979772,6587808211180976790034063002169935351319078136248018,0:1903313409090829825808985124358934794301293201763764 -mod:5733125812846132405536083211632006878958607745362254467,12605191511011498307650361584364883404677231252914573,0:10368866846912173862819052330349813235144756539038325 -mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,0:35334176700018152414903708698661724515806296523250 -mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,=1:35334176700018152414903708698661724515806296523250 -mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,=2:35334176700018152414903708698661724515806296523250 -mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,101:35334176700018152414903708698661724515806296523250 -mod:-76855972323011457703707050993748256077521513979037807,1910956865546821689289334552684591792222791353473,0:801852416163817820695380673341213886931466292780 -mod:-9872019059197505082121902831056682448354872822219660550903,908082149115602660075723278246449391327542696231965833,0:650065987327038221360650038715334158171371214271985473 -mod:595855064966654171339977100486303810714342893653637711,594549781214651234933649045428169123584477791281395609,0:1305283752002936406328055058134687129865102372242102 diff --git a/polly/lib/External/isl/imath/tests/mul.t b/polly/lib/External/isl/imath/tests/mul.t deleted file mode 100644 index b113018c569..00000000000 --- a/polly/lib/External/isl/imath/tests/mul.t +++ /dev/null @@ -1,864 +0,0 @@ -## Multiplication tests -## Generated and verified with GNU bc 1.05 - -# Regression for zero-sign bug -mul:0,5000,0:0 -mul:0,10235,=1:0 -mul:0,-58382939939929385885,=2:0 - -# Basic functionality tests -mul:0,0,0:0 -mul:100000000000000000,0,=1:0 -mul:102328632557663,995533253464107,0:101871556492663391138178301941 -mul:1099511627775,-65839281,=2:-72391055023845629775 -mul:424417695707616156,78196371461084006246,0:33187923788210071918733291062874510376 -mul:8785533773682081,509516924811454802,0:4476378151193669633826349848802962 -mul:3149810015499242805866,671806182669824281823,=1:2116061842647726364810477474851492861573718 -mul:7004291671016071522932056033,291108610609315306035746008,=2:2039009616651887991790118373228449729743842556412066264 -mul:62479450738832647,8434970263250341371151,0:527012309046267948145296885851102766697 -mul:9472845009207216089,8603477481125780254532680,=1:81499408718909018140819102866811806472288520 -mul:8704164997261749,601100642928524,=2:5232079176009991665860326228476 -mul:-18665805686013,-2922920804055208139127600955,0:54558671764099393911694170691186688942415 -mul:44144326678357949,-81195051773905850760614924,0:-3584300890173486959579517806592053823430876 -mul:9685579959286825,5953064636346354,0:57658883538135357049439528986050 -mul:-7,328492456,0:-2299447192 -mul:16522181,930,0:15365628330 -mul:844378,24,0:20265072 -mul:209,3,0:627 -mul:70522336,34102,0:2404952702272 -mul:32557663,995533,0:32412227919379 -mul:641,701,0:449341 -mul:290748,-233,0:-67744284 -mul:-95,4770,0:-453150 -mul:6839092,7,0:47873644 -mul:787590783,-6789049,0:-5346992417735367 -mul:721,15845,0:11424245 -mul:-37028,-949534667,0:35159369649676 -mul:618,-3,0:-1854 -mul:16657,-544851,0:-9075583107 -mul:28271,6,0:169626 -mul:-35357673,5207718,0:-184132790120214 -mul:99,-565,0:-55935 -mul:9311525,-5,0:-46557625 -mul:6221599,7764515429,0:48307701428550971 -mul:21590339,486739392,0:10508868477933888 -mul:335,3699183948,0:1239226622580 -mul:14,8755508782,0:122577122948 -mul:-5302,9,0:-47718 -mul:8236,9462435,0:77932614660 -mul:43040,2766705,0:119078983200 -mul:863478587,63,0:54399150981 -mul:8874055124,10,0:88740551240 -mul:8204,-89955,0:-737990820 -mul:3303887262,3,0:9911661786 -mul:75504,-62,0:-4681248 -mul:436,2123372,0:925790192 -mul:3361227,943089540,0:3169938025265580 -mul:37340421,223177728,0:8333550321343488 -mul:-35694701,238293550,0:-8505817017478550 -mul:4263,15500547338,0:66078833301894 -mul:1493,38730799,0:57825082907 -mul:-635007,298501,0:-189550224507 -mul:4968,-98492710997,0:-489311788233096 -mul:3367542606,17576297,0:59188929003209982 -mul:232155550,3921719,0:910448831390450 -mul:4860966,700,0:3402676200 -mul:2323372237,867,0:2014363729479 -mul:4268,-29035,0:-123921380 -mul:8,-73804207633,0:-590433661064 -mul:395170,26163606,0:10339072183020 -mul:-70027196,6945032910,0:-486341180815020360 -mul:5871172260,26773591,0:157192364779785660 -mul:17125540,836,0:14316951440 -mul:1988202315,-68060596,0:-135318234527479740 -mul:554434367524,-909419,0:-504213148079308556 -mul:-40457802353,3398,0:-137475612395494 -mul:410791452776,4492144466,0:1845334551267808737616 -mul:135751970,7417878752,0:1006991653805141440 -mul:9593,31047471995,0:297838398848035 -mul:-18387143,50226,0:-923512644318 -mul:413450673851,-124,0:-51267883557524 -mul:-618513698871,-318914624,0:197253063714294189504 -mul:37416674596,-8817,0:-329902819912932 -mul:6242382,-943205,0:-5887845914310 -mul:-4949666413,1501091102,0:-7429900210422557126 -mul:-6385784303120,899228089,0:-5742276615660794337680 -mul:6308,-79643949,0:-502394030292 -mul:2421,136928,0:331502688 -mul:333180111,442438,0:147411541950618 -mul:723761305,611024432789,0:442235840862251429645 -mul:-91289,-9223787613074,0:842030347409912386 -mul:10944,57098,0:624880512 -mul:57145099,-94544476,0:-5402753440923124 -mul:9327105307,88173695233,0:822405340745514901531 -mul:73230770347,67182928,0:4919857571607036016 -mul:4810254287,-4310,0:-20732195976970 -mul:7200253992,9893,0:71232112742856 -mul:-92709373682,-664752121448,0:61628752833224878931536 -mul:-2236424417,-69570761,0:155589748609671337 -mul:781963714,61084006246,0:47765476390121357644 -mul:78553,-3773682081509,0:-296434048548776477 -mul:24811454802,-26314981001549,0:-652912961735421705488298 -mul:805866671,8061826,0:6496756880801246 -mul:4281823377004,2916710,0:12488837061941336840 -mul:15229,320560332911,0:4881813309901619 -mul:6093153060,357460,0:2178058492827600 -mul:624794507388,3264784,0:2039819111008224192 -mul:2632503413711,-514594728450,0:-1354672379322310051777950 -mul:7216089,86034,0:620829001026 -mul:112578025,4532680608704,0:510280230883694129600 -mul:-972617496,-1100642928524,0:1070504569131119855904 -mul:86658,-56860,0:-4927373880 -mul:2292080,40552081391276,0:92948614715315894080 -mul:57144144326678,3579498119,0:204547357129208422518682 -mul:77390585076,614924,0:47589328137274224 -mul:685579,959286825595306,0:657666902604804292174 -mul:346354116,451435163995,0:156356427156803253420 -mul:443946215999,260668,0:115722572232027332 -mul:640447120070,-441698,0:-282884212040678860 -mul:1253208493501,-8521171736,0:-10678804794135860887736 -mul:8507343,62395589,0:530820677310027 -mul:81126006,461820852819773,0:37465681276782021316638 -mul:87891707090,40954510522233,0:3599561842834425768731970 -mul:-767589,-991593,0:761135879277 -mul:86229155,43027930,0:3710262045299150 -mul:-431963821,48986055721,0:-21160203804962069941 -mul:101557073166691,-74080192,0:-7523367479146517284672 -mul:-34269048183,250074,0:-8569797955315542 -mul:7650667716360,-959482143,0:-7340679055874008959480 -mul:-176432105527291,712269105001105,0:-125667137897384071121162656555 -mul:91973525400419,-52180215632622,0:-4799198387886300095948868618 -mul:9054526,-21388581343089,0:-193663465874114270814 -mul:19326311972,3180878,0:61474640572871416 -mul:501569850634,39035351302,0:19578955321989857425468 -mul:-3470290487760846,622612793613,0:-2160647255233400713100276598 -mul:827793089252612,77591849874263,0:64229997108241062748844324956 -mul:19866668332,4414961,0:87710565885715052 -mul:136274450771,8659380001,0:1180052253653656430771 -mul:952660786088689,171372582380,0:163259939044179413638699820 -mul:429415374,9140880954,0:3925234813551386796 -mul:-368107346,2945634,0:-1084309514027364 -mul:2147845929,79983807840463,0:171792896056056736025127 -mul:77885771608,-51236668812562,0:-3990607485089940493339696 -mul:62272695670,208399244,0:12977582699470073480 -mul:61973019,-1405255816878779,0:-87087945439289091663801 -mul:286206733986,212837117931767,0:60915416394244148267933262 -mul:-131938894,1048695278656631,0:-138363695208977699906114 -mul:27109492,306933238851468,0:8320804183177960934256 -mul:-314477095129839,3837918787896,0:-1206937551761766779621628744 -mul:4116345,9101435151,0:37464647076643095 -mul:63853435249810,902940229903,0:57655835504559765637068430 -mul:80076033,14791385,0:1184435433375705 -mul:-31038678,1454704764,0:-45152112754861992 -mul:20638192722,-14267370499730,0:-294452742009605188965060 -mul:8065790684,-1977228453431,0:-15947910839823487636804 -mul:362687955673,99742877979696,0:36175540507397430642015408 -mul:1235326072088,201675880263044,0:249135473000235948746315872 -mul:568009735,49546482048450,0:28142884138522341660750 -mul:849579042,-3197920541,0:-2716886269614901722 -mul:1808291492597692,96814519920612,0:175068872732372459073494427504 -mul:6275712123233717,739880208952795162,0:4643275197065752315694969352877154 -mul:774075573665981,7523229210171,0:5823547966683781965601892751 -mul:2944466357361,497012903828640,0:1463437774497728631346619040 -mul:282862415058866,-6240991940068,0:-1765342052530551975764042888 -mul:571225883598025,189932649930728,0:108494445780794463607647612200 -mul:815309478,-371377784,0:-302787827213836752 -mul:320172590239,777220834144,0:248844807655600692320416 -mul:654332382,7919190746613,0:5181782944743642722166 -mul:-5094673003562,268414312780910,0:-1367483153094548874555601420 -mul:-77841790209187781,35267718271550,0:-2745302326850733800658699930550 -mul:735762990564598234,-32739891496,0:-24088800477857417959993218064 -mul:-5999905013129575,144027889596460,0:-864153656820273314848441304500 -mul:6861193105404525,-4725324526382425,0:-32421364061213996907214475473125 -mul:859748569384694164,98523184164,0:84705166636223755282588018896 -mul:570460270963,-54720108308,0:-31215647812506387460604 -mul:61750383079701,3452251304617,0:213177840547497299540279517 -mul:-1738716695,8560399484936237,0:-14884109500328036282376715 -mul:9953417006786660,90085339160,0:896656946857288287863605600 -mul:188523146978,954842405502,0:180009895153280621872956 -mul:198834734074395695,171072375577893,0:34015130305505499211880376370635 -mul:-102893613303732727,155104650554,0:-15959277935713870085148480758 -mul:90836124710855,-98332551310,0:-8932147893931708201470050 -mul:10512242068892,84377075433,0:886992242016856266730236 -mul:-726835478343584190,29339956106373,0:-21325321031155383354737721042870 -mul:5033847480079150451,-69469662902517,0:-349699687543783241256712189585167 -mul:3869558083241,-8770208065,0:-33936829509626159538665 -mul:46079368203995132,23609959311256,0:1087932008384708532422296805792 -mul:979137194422864421,-1378816153373947,0:-1350050180039492392646639294639687 -mul:-72618673468,-244198092166982349,0:17733341516582659732950616332 -mul:529564016606,376298866055896536,0:199274338952843762914521876816 -mul:554186920892,-629719688885314,0:-348982415408420361378580088 -mul:3455963977845612750,271884481278417471,0:939622973433450671239608280300355250 -mul:-41270780965441117,-4124462824121691009,0:170219801814430998805436931657817053 -mul:47581683736,9394210662450,0:446992360690054950913200 -mul:8196306676684,76732052476696223555,0:628919434030412315441895170091620 -mul:2939970750639,-2013582768244,0:-5919874442628068251907916 -mul:70476757656499,-100957934015971,0:-7115187849144405009597945529 -mul:3674841030712174173,540185467629182772,0:1985095720638163814590166671314947556 -mul:82915322420038008,123799513890,0:10264876609633323785723931120 -mul:466513077506,73565730651787738,0:34319375405342972915054421428 -mul:-38890216282311653,91459939591112,0:-3556896831865504089438972828136 -mul:576595981539992,20909590051109791,0:12056385599118501431228849261672 -mul:956905636477652,8381376662473,0:8020186569762664723411553396 -mul:9187294026565993,54295427509,0:498828056823282593136101437 -mul:8866081281165098,6545042142269515,0:58028875622012459166053127387470 -mul:338772425501,-750860960783,0:-254370988898468150127283 -mul:6750486296504,8609697533187,0:58119645214823136262078248 -mul:736067207074328,329259058372493427315,0:242356795500164369960320250670469320 -mul:680100030114145,52232423165123,0:35523272567534917195872964835 -mul:22697310250913136791,365228836596285515,0:8289712216805950219366224267686882365 -mul:30594845950075862222,37349482121506846253,0:1142701651822614557685156508694964954166 -mul:866936756424,-1765396942933391,0:-1530487499507519421423353784 -mul:6939438360479781,24559856763503,0:170431612152541518812930232843 -mul:927595346004843560,7670228140092963222,0:7114867925545619902286593484943550320 -mul:-357321286444971587,7925597841132985664,0:-2831984816439127983772762412958328768 -mul:6673370692769029,520191499051311630305,0:3471430704396611186160057152801823845 -mul:9013236794945,1008467412252240244,0:9089555586614859880726704766580 -mul:406532185466775673747,9519149309169118189,0:3869840572441069484183117712436347484183 -mul:548046408595014443,777065152533771,0:425867766090470284154159790254553 -mul:23897406396584,-8555442893510156172118,0:-204452895728978731648341501271244912 -mul:54729344028716311850,2026849525600172204,0:110928144981012274062113279423765817400 -mul:-7936445752013,-98698488318151151,0:783315198342695407195996516963 -mul:6309028281362257922,271678876766048827,0:1714029716965733695518439315219557494 -mul:6357785774765671053291,56936125648067424,0:361987689715553942195290680512665092384 -mul:11095109588014,9104811531028000846,0:101018881714969199044361103459844 -mul:-921590308699737078,472826384755153630,0:-435752213887882691328892986497293140 -mul:652120832633171211942,-3387083844442113181,0:-2208787936835953406166467995677302807502 -mul:32731949302549,335896184427699,0:10994536879607092557766904751 -mul:3635516318567409721998,16713986701316425,0:60763971400954533716595371769881217150 -mul:6746198240933100303896,2007405485449,0:13542355354775500078274959306009304 -mul:-19072614334803913032,-240759760944833349,0:4591918067840391824783380728329304168 -mul:828472954262165857,127978158379025077,0:106026442953302260750986298136195989 -mul:8306750095431507743,6378030328941226919,0:52980704043597587430846783712468533817 -mul:7938532173109072,7646615157112938170608,0:60702900440124541070347993363328555776 -mul:25274397567311,3125247753747112,0:78988754224550174717491855832 -mul:400327281633151431,37147489147345586,0:14871153349853852722430493627433566 -mul:28164658061513141691,818613450005821036296,0:23055967903969532636848840948464301816536 -mul:476291935913056166817,170589720180888384,0:81250508071821874441129615756761553728 -mul:84130837655605609,16051948347568699941145,0:1350463860485469013094700782617631882305 -mul:438146043336536562159,-2206822496905640873917,0:-966910545365262749689560255553699552306803 -mul:8120293725815373571,24028314574527126,0:195116972081450718759827878362986946 -mul:-667658265953408,8440015504605457600699,0:-5635046116424757633428637247402232192 -mul:53314441150262832895,283247085055963859,0:15101160047199676268547968068076341805 -mul:6658153298145442,2140281300389057549,0:14250320999144418995877331910041658 -mul:213046498706732967,784948480361985741,0:167230525406291802914352434748623547 -mul:-3857522843819,419578526133778265155,0:-1618533749336956944635887834826945 -mul:-4948941087660882967,-779517282262677550602,0:3857785106731510951136294197380142396134 -mul:4277076043224464,448010594023993,0:1916175378810781677476700564752 -mul:-644113523059324254840,-71225587742718143,0:45877364252933205602125580469623562120 -mul:264902435468141506,-823887292259809475,0:-218249750270876020336340975899569350 -mul:1538706915662950684,448326823774496344436,0:689843584219022500302744788239345794224 -mul:2036808313025110180,30422160628736748027,0:61964109668796220999356441366572614860 -mul:7385426850078311,9871854919284839,0:72907862380963907579111265026929 -mul:804644713550364054117828,8379163811459445,0:6742249864863361798556496920366673485460 -mul:981008037679996757191201,-641409668917881464,0:-629228040654107304092567432937180101798264 -mul:64201713053871850,879119102660231895102,0:56440952369169517073431323344150678700 -mul:1033957429367195,1113485105415049436,0:1151296197233604656037339121652020 -mul:14455075580451942850,-1885962875546302716,0:-27261735907948286986307866636431780600 -mul:2615475057635555327591,71606675442458157933637,0:187285473579953754910128144228132079173078467 -mul:596676024530775,2621192750454214313695,0:1564002869869908372861756951031463625 -mul:71665682789483848832034,351563529541544408090967,0:25195040388475655750558432995602321242575636878 -mul:5092055214749737510271,-1833800774226189505,0:-9337814795210574311088704576082129905855 -mul:600508413963341945,5057063373752305154,0:3036809105884103889579068197287884530 -mul:-92318043858914149,958444935645415778103,0:-88481761605267642819033271229511079347 -mul:385447683586530283,1775981280157037775814,0:684547870529570889684189390051875975362 -mul:80717517906672139,362327909576030289130356,0:29246209529290308450092391020660324351484 -mul:31249856290116188,7875872084416640,0:246119870797357830310409800568320 -mul:5339381130045070,-287550419156538713298378,0:-1535341281980973219291224752615497896460 -mul:-28993892995370333046,698005135756870427,0:-20237886216353643864566444205658230642 -mul:9179674525723481348,81469928617693608886,0:747867428344352459523920577957828058328 -mul:7522547789649675160016,285918417200326088447794,0:2150834957330446680178114494867165936012204704 -mul:-901774653467788803,236000195734098992,0:-212818994726447447848669649751186576 -mul:142671415131788790,-2583777714764598301032762,0:-368631222951444570172731660827393454337980 -mul:951078283105727024828,1487627587101952300275691,0:1414850291441640178530450466337072693601856148 -mul:19185476025869672486,2445736876347152429980675,0:46922626206743672591769434078619109559208050 -mul:6741226163186521681303,2568160083399218078514720,0:17312547945462088421236893499979478635434280160 -mul:3987919571578399660412212,9884144363611069680876,0:39417172755950910755988046816263833157453257712 -mul:99431631881940059268,-291965406586754754564989,0:-29030596829995156232729757591886192217768052 -mul:36727416735327035,-1612205593089728906670,0:-59212146680431557459581110615442823450 -mul:19590774006340220367562,984968880458891391,0:19296302740348077288926838014277057458742 -mul:70695613219926859099201753,62591913993270611799645,0:4424973742363186825608316839246937058962268777685 -mul:77425442645246583405,-296832015660977965,0:-22982350203831985042851014697239670825 -mul:807971872592227526408,40230405885131399744453603,0:32505036378154987781247713889763216622213248024 -mul:965370212546292322,92058451234918953535616,0:88870486635336197062343410079373774340352 -mul:418561885926860582,239657399821326936,0:100311453245542262612436139913236752 -mul:4657697584188823828175,78713797195009784682708,0:366625063037526091489561582727843402285697900 -mul:-38091455008728662,5763777114003492300442812,0:-219550656618403959076635804481627756277544 -mul:54943065861736600767,6268390929335695219433,0:344404615677603400985934681975925581105111 -mul:-697639190379957186138,2936028900796584636,0:-2048288825283884939792000285015322975768 -mul:96018089280939789090187,29566309848085271814423786,0:2838900578701380961562729671686086004548591987982 -mul:-1112368751522257152114,1995174854903534746993983,0:-2219370162417645509690181099382354083873730062 -mul:-84342841213955171500540,5699084396809137598518,0:-480676970345002579334276102870293770140199720 -mul:225675029492277024520800,92998377812004114915728728,0:20987411655457949896280985578493804059256993542400 -mul:7655269162163547244,594548791001649285,0:4551431025156545678791700910016320540 -mul:17608380663675562604,264448308193844308642824889,0:4656506476542203967645749547080047894928850956 -mul:223093179893694063251643,17908241494426478956477995,0:3995206541295803079022953995876886965688677095785 -mul:-9501451313199296478183,164266650410143061944307590,0:-1560771581254303549338241248628058185171476308970 -mul:4558730178677382262,3122005086984557462,0:14232378808020807989791594528678539044 -mul:54440882483631228680923933,4478571958703194374379,0:243817409698246737082188977425300200477623112607 -mul:36855929355558415329723,308635436762628905,0:11375045853945367585945011810669865443315 -mul:28683868680975381560,42902583850929860163229,0:1230612081254607193977374775224312156657240 -mul:24731088466679335541839144,81462858536522998396,0:2014665161215334180518726488874060847202013024 -mul:-72335534127835253275,-227166439208550011362,0:16432205716068881729381218555965397710550 -mul:474777034176054735892,839001319154604024448982,0:398338557978020441829154570519593836838261944 -mul:6299666296143449904,797331145004636509,0:5022920141051174455685525850770945136 -mul:8540885149755672764459236,41765710483565552588310,0:356716136438079846570195465527416281897285131160 -mul:385990739803366398,2963466700114736836981086,0:1143870703959928224960974233605962253948228 -mul:-37246197932269024,3005402223074948482,0:-111939806066730874158935454164421568 -mul:-751622018429096822596,3003864133422104297,0:-2257770423049491832679123307914818295012 -mul:-6108319432277782804,-82931541043539126216389,0:506572343704992558730984950135146447174756 -mul:30921518942393713547539642,721143788088068568685,0:22298861303554770289882384831917605974237310770 -mul:570903751254308471830202651,-564896588437884119958,0:-322501581409949262735089396741686909437933608658 -mul:1054271475454361570597270062,16484741384321323400,0:17379392621732016481140067393169300655040050800 -mul:6529831639822170310307759,85346429845722052312845786,0:557297817952459046702350223377401463955562766253574 -mul:-754058902141939454006,69516695016006129145191,0:-52419682724305615903366455441899934040585146 -mul:976193241125104191848393,33823563038032982713854,0:33018333628496693179640404511073605465668736622 -mul:2920092456500658009757,8895875497550350532901302605,0:25976778934365816392930294156133718389132099516985 -mul:9994369499844252132394601638,93334243646132127297454621,0:932816917987935116609350111907831170748502078677269198 -mul:569015432462996733746,16322837154963292812416483,0:9287946242754509292015515862839485902412735318 -mul:192500272569416024937360278,-235265435750733300361,0:-45288660508178593749288683427056889794244460358 -mul:5267095375035104443898399000,-764192677627393558125306,0:-4025075717966937142285931052847299736560774785094000 -mul:51025753118541843018,-1664207936338749988204,0:-84917463297539057165628056384027919759672 -mul:-62402848465899883613105,12900108782353988220438351,0:-805003533538860189408921682314395887504788189855 -mul:-8212641700259728565,297115088713153106682478,0:-2440099767342009818056382435156531921584070 -mul:-5313586393962705049080,-76998532453336088964044527295,0:409138354399142425739761358816694829939838374638600 -mul:463290189242313601142817059,969769350842083604500926,0:449284626073024525963512524360298740721467414096634 -mul:1917277332460964412252,-708614825339303498360550,0:-1358611142068832022550567351649418376333458600 -mul:99562752968815530108,23844471852654970991199350,0:2374021260737762056439185654671360472955029800 -mul:3003923448532254675001,7732856831499478812681071,0:23228909960284118604870886637597256802569606071 -mul:5794073936773633607324540860,-76553654622431077040278132,0:-443557535012598304414911912958839564575760243598473520 -mul:-644932980169883872037968349,42642515095105038480,0:-27501564342225351457715028479060110852667069520 -mul:41892582203464757978762451494,68041907390182959305068217308,0:2850451198623775837247177391258991797607621147282401258152 -mul:-5550794996398648089925,-61773015425098686639107,0:342889344934094297210650346841878123357696975 -mul:26506218374693057900,-167675112099207386871,0:-4444433137302729109790367830963302830900 -mul:145568384864275126584,40072954892382195328941863291,0:5833355320423028246614959434448834158605847827944 -mul:3161170925861501561771687,413220145707787390821,0:1306259510591710846827739981054213899841485027 -mul:723440854928237000349411,-71208223609049472714282072,0:-51514938165651820551744112187918120977634013059592 -mul:94994080481292730137,4307839512004666207932600136,0:409219253303864061854413637026462925940577498632 -mul:7821178378958515500742,3087104738440174209004586,0:24144796833868673714228905443995252515164402812 -mul:869891649236864909625695,991848579874131467931448097,0:862800796939950559315938082847205513561495590052415 -mul:17628160996789341122894,299337591195948255548811,0:5276771249993287502058785568793774940966579034 -mul:99527056994641754235498057471,655773087035017085668857,0:65267165408886313115258469743139728285489416260880647 -mul:596721281791001887739,-328175786669349585798669238390,0:-195829476074104675040288189805440291150559409100210 -mul:266802917073126657350936,148259550527207353925931727,0:39556080564609535241696861668682911763097415546472 -mul:297095531532857951877,8071469565512676957784213778,0:2397997540817274789320989692996853463867804361306 -mul:-64574484904487858142015156737,351049851111701482889769,0:-22668863311335277552737854676715612712147868228723753 -mul:9213606993296693767546,-974475310790221342435,0:-8978432538291752468015873684497297955614510 -mul:-6506246525097752180174,-95653949321972166356216836249,0:622348175387957895590333791334216293967024502327326 -mul:7211807452760603826715508,25981532388511222064867790,0:187373808913606243431674903539484028735353962687320 -mul:244358078258267292267766114,6788410077941126965241803849,0:1658802841074748272013529977344553715539817794996972786 -mul:-84498071017578145227329893,51359077717175899950414794158,0:-4339742996343244440353286358071234877760977371555165094 -mul:315675121566194900458712010,607326754590110945679173086,0:191717947085635889541757875305524761525955701416962860 -mul:3336777364604897112789890,24326442512123908471776,0:81171922735817348191862980575095189973683144640 -mul:-631164366791648249399815693437,224085205047080377284686,0:-141434596550917146771849565583627819691166316250805782 -mul:-9374071452933990971885163627,-8124264246742383054580586,0:76157433551480046450059234199385450235104896467545422 -mul:-8986611810629266612086889,39090932189616079255587,0:-351295032903711635666432166463380265071682698843 -mul:131042125952122412011234961669,-603299752062616670818260436,0:-79057682096673636704088945577099341952975178863719227684 -mul:-5931135084197112120929525527383,817854717051260202081870677650,0:-4850806806078831488870903900854502497422338114185819841089950 -mul:37076034350171687718404493,6575825691817817445639700141386,0:243805539230578902066220627976270126208617978926437647298 -mul:6586877468189252639017707825771,813151310907233772623665199797,0:5356128048043411806613358165516537614499231407192441180568487 -mul:2933337084774328653741904208050,516673656644156545121601676651,0:1515577997760262602679690085554979355436376363966312331240550 -mul:-9902991686684787357658450,173313993122814232472956,0:-1716327033081373752497961221272672144589109878200 -mul:9274522469490915283112908394363,44864081129175577116760112,0:416092928505602244504563614588785724831758965222564048656 -mul:9608655195311416270604257657,65867528105907714734959487,0:632898366137150893335309426569727530606624485604541959 -mul:853239911600142024011098491,17829323361272785163230303,0:15212690288662738268179355293062413175232317048772773 -mul:23972081642808055559504902,-4501717580058722285684735,0:-107915541362031999704526719592126415237678659070970 -mul:5314236376598680151908105,3994830160691915764873,0:21229471758282529614266075257916580301482995665 -mul:4935319583093232012062136782,881389216056886912824752493825,0:4349937458332745712903267792817007035077166975812760371150 -mul:580231659494763900889556,96767644291944525456085901,0:56147650832913989511127904567807102400387849749956 -mul:303622305001319462939309066150,-27984889540977885375442171280684,0:-8496836667639022536327520662086169404630681920995637573246600 -mul:8908131273613694428163643,418798812110676949375564324,0:3730714795515386967446577233797553865021052144672332 -mul:604960317372762640669451812,820482420778387317631260055,0:496359305672865772215202726749222319854411791662969660 -mul:3125355862613621420823337,52123353846012574000878521623,0:162904029521719649924422263486125418351967284017515951 -mul:35876668588605457895900,-237986271303986771473105323,0:-8538154584211078670353490608427234416302669875700 -mul:-43001262189486935668928474222321,75601013836677651900921245468148,0:-3250939017782005364312622194873995196088464819832369459876131508 -mul:50360054222226284955381499,-7538629547593198554710875138,0:-379645792778070687264466482409787805710036592944271862 -mul:16303655607623383537122,23252538460647040924816117157,0:379101379065406527294500251303186510479764610602154 -mul:29876051059586965106021953,26235768232838079362376,0:783821151311760139992194729309972935608098240328 -mul:29623076251397963944271763623335,47441755805615786352682527,0:1405370749729958481398420374857049608464886735734463967545 -mul:9892811422980328964557595259,603482574014084208448431822759,0:5970139301776104093120254749814895923385575422031146699581 -mul:-2549498483308845928405350,2555383871703609992631017913548,0:-6514947305180240206124780570855709347291338943800681800 -mul:-935906971037827073384146870,879641356065373793312781,0:-823262477154750723009760282203349336801144752145470 -mul:19597038710644290533555897021,2985160892106475439715913026,0:58500313560112043537702497574448903543850923995448495546 -mul:-5608937456930306694772980,836399586633606428927522624674,0:-4691312970430260182524580697490183025347068206176508520 -mul:7718522069758342120350478031,7389561033066750535580836572,0:57036489919551968141273365317951375124662579683087349732 -mul:718875898101761373218778459,686314096776480574628984874102515,0:493374662700091643313347796063672168629137876643552239724385 -mul:1300200863593962819188902,525922101427424561614551608409976,0:683804370459089120916221427942950472299573480614205286352 -mul:539220635752920237029329058,29487916769600117002583914582181,0:15900493227532973069876042371837383552914044277544832315498 -mul:5654437789656914341120143121414,6765853316633901505298664574837,0:38257096672850301023676847185295792977091707859763702380259518 -mul:103114174998937498500059583,920095995082794389728025430890882,0:94874939452788796816569177101730218978113456477925771422206 -mul:29882936700790118228421849,-1860889369990333700884198092,0:-55608839250594344207705038774209133311036319056912108 -mul:8909623809613954310018698,-462806578041198407432067106139,0:-4123432506961820007043026316146032423296431299840587022 -mul:7230230288816368650543810,22162946284655819337870476,0:160243205516728709182606639762736983481104743553560 -mul:734442358589456361847988629,1647427465162259118128391711,0:1209940513118819039348215846845414818873067603985854219 -mul:47616626651192848094181030316,2182277257935167463613810412,0:103912681440487744288228839398232844775482481328848450192 -mul:294703827229370598691617,63046555168872062038888853,0:18580061101894254060770213008323255399294285845301 -mul:-533653415261740333749397,-51216937243134223196656339350075,0:27332093479044801759907744737948616465079304814903154775 -mul:784368839220787531616946253680351,39613735771181195550018240677,0:31071779944040382951244796866071327091341523727977793343837627 -mul:5770744507580580048400572,231937913382367374762373686161,0:1338454439750996843543440906327507234975603867940884092 -mul:388816489715059942531589642,82051838197217717225950877,0:31903107702510265086302832415272579698669593814016034 -mul:60241729629297025142644618709,85181464884435369517497693388632,0:5131478776995614297555781224894400552133266197008401795116088 -mul:1560786485638020475934392460005620,8850527081981124295638445,0:13813783060329443326853456039031810473529482812666188060900 -mul:8296622334734688413856037840,-83875508267086319614619277276,0:-695883415225932360550627205972534406741559721529708123840 -mul:-45794179084517723375284971259238,-49063790774577780701852303,0:2246836021296323435311993617164824492625064891225000325114 -mul:1752071933321291709931075226933,57773126045256149501100162,0:101222672644126613791673432521136796654007466067313063146 -mul:730668796977177255106481634556,938608337106204028806933670639254,0:685811824506138940332211187860302311716319126763710711336461224 -mul:921730456287198291208119641693911,5458708493078803375257300,0:5031457870064330030425732359718797657583243087557468300300 -mul:213400535376420556914942871216081,4183995847570912793889135547893162,0:892866953884353287726737673843872033409506009951957939872404338122 -mul:32806047880829491896013320805772,753489056993475245589087354,0:24718998081409010820901165463298804748196865416365375407288 -mul:15218771998961411533589410518,23457061020403160442042221,0:356987663435240813815179640133949762707316007457480478 -mul:9046617676720978441798060,7479379807328977629621989162,0:67663089575892274970250788865795328564433781112625720 -mul:2219170169044655639393672927,-5391273013704097527490654785062,0:-11964152245187612169646728984856115656974060298999913416474 -mul:277590531551034474232270111103,579362077865358674190909581933,0:160825427155156738840764040270546509814277905470205191502099 -mul:51422590325724235826789079575,2121952875387495603452158,0:109116313401543756339172704192689685091698905367472850 -mul:511034032165016743768820348,458982236103828060996895790272,0:234555542808254978695571194131402867112895172492654054656 -mul:4440454508740215531301617636697,3258309525326637800581711028116821,0:14468375222607860310511042523813260258037478238688128668452580237 -mul:6330009746329830092300048092,-6167250670699283492360751201828007,0:-39038756853585645999814749830700965509494204090781844412512644 -mul:-9374602262965156933926707655416,-30595740075402425097079774283,0:286822894147961315557763521486314502763707907853113422466728 -mul:83645893910576549628700447097824,49931389572768584324081547829643,0:4176555715011469153471691311085610269167538819874387285307996832 -mul:8030747712125824227213267818544,63329417394086865663449328880556,0:508582573847824473759474520875716327252822949675048995657830464 -mul:378845361147099357535431194,38180105668041356349238612217040,0:14464355920443542823460702653769947519591239573552714345760 -mul:25958762365949818177158173188075174,40582859445868015162861781,0:1053480804486029724349686454924029433193919106275980799524894 -mul:95871031013239291309686124,64936572493882710890460913285902999,0:6225536155454490886042480192744349881519233810545112600285876 -mul:455128054133718561191432952712,39088645380524987234419335395029,0:17790339110761304357582067458548970370146644724724054396868648 -mul:1307047523348091088814812136,44132853285705545682051355847561,0:57683736585366097743814172916945483114493512756215268800296 -mul:1418285824252402530993393665755,636810955908181043849421782278,0:903179951493194917152704617449910466299855863874287914489890 -mul:3071172872783184341780369192882346,-58125204065109316437571977973,0:-178512549949750604044117019967590439630943828607057692292564658 -mul:56958148205198214736866933854,4922289245511311172745764679844,0:280364480354686563048707584335842453616735148517258235038776 -mul:4836813580368584281452577588,-5400032605107989894617874622172581,0:-26118951038819470026364723997465834517846139303988539028714628 -mul:493001845960066187429806680791,4028800209124423703294502145421185,0:1986205940102641576976415454897329744147895770653902923543957335 -mul:71197215106470682909632132625,70077573297929109151274279,0:4989328060232124924682056253101608707528304143079252375 -mul:486722080146274783096432055886,505595939085965376271620470551,0:246084707185430303071142220010478564391091338964955649213186 -mul:-194536785271632924316130857883181,8276525052027013498990299177664024,0:-1610088576841469642302988316918048088947156051499250583217058380344 -mul:241211965193448971857220311,2710726738427327769580581757190,0:653859723678484041534242084550730982398579984949338286090 -mul:667013805494915469984846976421,118549400818390788595763048,0:79074086979016886300666397440542951393124558234159091208 -mul:507926799850267721181735296662204,67253859677995358015731931706714,0:34160037723823138942875018762752046517503606503615202081256837656 -mul:448088677681619431331494894631309,779948091351174817338856782981850,0:349485908913850840791957607115202038571061594442475706481388741650 -mul:187408370748924381155985806145,495794563709904959946586644094587256,0:92916051411047078205447640432962006059741039970472932758203488120 -mul:868633158815673181555237006,836615025635832190680248872,0:726711552430708313445938158474307639167624319024157232 -mul:945386362083356835627622353491,8230893874122803805176630038821,0:7781374816351144698349349350957993282560652485452042714874111 -mul:5596932048341890824814087121,-2850793263280920843358756089,0:-15955696178454147555303366966824500182482049050635229769 -mul:92079468846004092188293849,65000203344267255501708018874742834,0:5985184198822387758738668838849529371861013959766705099028066 -mul:284485059147524530505559245415623974,-52174853366891975161102679787418,0:-14842966246093682947479966058631799163262087269510590574706144359132 -mul:225019940499042054289943285,88057001889802818516938839002453179,0:19814581325767463952213083138864703402608880611447063777953015 -mul:267625311635136684363577960127905,2364801628264216400078340665206601706,0:632880772719489569595591177205490383145217286350462293583250151205930 -mul:-43414374537943144129863577734786164,-7033210862612719519352562332,0:305342450593798787132468697152495746155227469781974603501174448 -mul:32883132771659855270849300682688,359989040176539024964573548207106,0:11837567404467526702781425500654503476701270135055701604212780928 -mul:8225754994306229461538669946760,79816684330375527507314556065816,0:656552489759550261552969973902237676399765161631722139775956160 -mul:7425838080456254658426507595,-1772612320788255147892065709861,0:-13163132073595363322916797538873046375619972048032782894295 -mul:1660461221569443640519526747903779,1120888096894032723781619067526671,0:1861191218611314482654724970474950053651690424934372619599424189709 -mul:-11718764104457037189982579964973,581785925357694644406822708535571,0:-6817812018560073163564614103438500661271133223665021341304554583 -mul:6811677000322905212875962023,8457366124986245338105030092893823455,0:57608846316878860294885890656152159404437095902874498977846649465 -mul:234277964462994083732538315234,60350281492645017737168270090,0:14138741102865579012895614202346087042625169063690873551060 -mul:4183588612759663468880479337,-629574038019737820951243554610835051,0:-2633878776348494576596482359410905898287329191507888206720841187 -mul:2509727174403533842481294816277585179,366325095871570289922697736369296,0:919376047774859744204436335735246570640422606903982773682501840263984 -mul:9652053493694317708921453500950,-91539642994112368354952933916454,0:-883545530972852858614086011262208634456937177997222533109631300 -mul:35148593969489612322148628595,-82585065708416968121031576511657,0:-2902748942528768024032450841226352229253814757005116581031915 -mul:2800741702103544119527140802733199,46761480207188283686223358035,0:130966827668361702581651174249923174168745185881158323957903965 -mul:441336276433669766301405280032,2656936104993980830437872804,0:1172602287300221361851343901576358026321010825668017049728 -mul:19746122571650880858695931178058857,104545112367422664420669962306,0:2064360603074142331524120459909153582079341868724637548439444242 -mul:74432478600289091913597803372,1021411507303737809729230605483660893,0:76026190159474490029899083115858462446496838080724392481739931196 -mul:37218119790882940825047165121,-9786692593914842780007874460688,0:-364242297316869514078703840625474873421751340567491159263248 -mul:68400175404962139133336849460667620753,8111497426974768586772111911266,0:554827846801973241521975237100547882976582048728649063209959676103298 -mul:-36411507888779255237781266679960702586,288273015425729999064058691683,0:-10496455175296151796260705657513107808386313037221881095512634792238 -mul:-93804297004149089553676142929158,72597578405766612297542242292431,0:-6809964806556531666828055851398144826196098989021186645152603098 -mul:-82026709713179475197473688526642531,5827788603588390535677091203646382966,0:-478034324056320484117325267961249121989480834362662252362566162209526946 -mul:545760067487517393173385480028,42151112506666653978439280505,0:23004394006312331510547051427125022225825594077610367254140 -mul:-697412421088675986809554647004214,6926944054264140642234974161460,0:-4830936823630163298372038105376868436739545586561249485736392440 -mul:57812799959867792819685059219,779735108345604313576941265627654,0:45078669840470262146069880262711457187904686148856378194042226 -mul:1472311567166258003445083977221663144,83378953824849274359711951741465,0:122759798174546897063619713853094843283254982730610656163694407065960 -mul:570337459673916278308389115966167469,6333660822968779197930730584647562275,0:3612324024208219493962639588959668872206678635128690773184462125256631975 -mul:-388785693105293562593219349398,820248784628021659491960244881371621,0:-318900992250380064850834487637248605290643186101012034699480634158 -mul:11679788667362042415563834445557578,-5819547639993570526822921884507,0:-67971086574770424077123666817486620774164160205639229582134644046 -mul:-3982959591737356792197606403519482273,-333248358612381656382679653253,0:1327314746365915910353403610458733118195746910957791963061720284069 -mul:17221610285774362123428353448280602,11458184790118982447972303969280231679,0:197328393037816418804445305069398144307419769226493492273326450761590758 -mul:772738633297996807166456840381926971,785759122171938805714543081571173360415,0:607186430168577693296664258953260658244617930008242877365346151059192252965 -mul:125784145401376536208808801528812039333,452055550313139515567680226389953055,0:56861421070087227190049678638474498681709153815504817562127254516683512315 -mul:32903571905950760393177782893378791,6631740924411766007832465757451477,0:218207964368018909275497254276866261100277667630506488424913763424307 -mul:8742677352155721160009371273251,25083360125803108633092433384973055,0:219295724487824718593455764107115931859507036987734897375677251805 -mul:36273669132247708836176424212020,533102320793846929600697481505030771,0:19337577198109381261236591896304826004083902938845516133439528067420 -mul:11965144674509690079804137520044857,9349045655011350274674885782216185552,0:111862683830807014974569906953845003630437520055543213513177982475306064 -mul:3321305668226664033356712162893,-403949753985171409898849824686029161,0:-1341640607589716272160331793818630136041627867704613639659980122773 -mul:7395363159337411027760652209127419265,44729331460301249556947662501414682,0:330789650023303701714182934884591650253917627482713804287730858240648730 -mul:871058047335719958990871843414,28094200616974302760918376942978068402,0:24471679530879615091124208710919171690581838289918159716462725204428 -mul:7704699734056436938779166257084,546898541513497897846722209401,0:4213689047354900490455012376163453543698919981174872047646684 -mul:950290435067652970604023856243611,4001208123591666075058892234775,0:3802309808564151732408385790073534886035212910698424588605772525 -mul:3119293215232541154035748455321571,808684220462127868482572087900610,0:2522523202153131986496862299093703760338669354068320189935837058310 -mul:432360858532087298548744564083197299,240846574096518547683557847064319535,0:104132631550882737065113576806715978014672912813529852776264204584935965 -mul:-310788798729818682147559678302,-2172955391250831365155305151397888,0:675330195740329036485433048145632383792009398152531758882226176 -mul:649283478652713472152371045373000641269,9179675498867400603641823155076,0:5960211640807708792849652271953975864417053692073644908051640832431444 -mul:79980532708199255123596245351024866045,35273005660545430889304120342364,0:2821153782949751307464444766122322349363016295719088889624882638630380 -mul:-83351007958684418946822288153831314277,-51634644710916030743119182132599855,0:4303799682243404417092087784805566131916079838838464861475411381589629835 -mul:4992915740405389949821656927954249501,4523923119542484578579105473053048,0:22587566951947525817523244050874662178528093089821507414350736000529048 -mul:-801991401381703662108108758716412,1462655905419442096496214673085035312112,0:-1173037459326562975110029005457912568568341236188108696496766994916782144 -mul:679369055865583831572651301119431385801,6364653911974833953564963906049365,0:4323948919089537646576384302944771028193868888345656961053886629066066365 -mul:32178714589413433072024739357148883,2182815001928827996341206621079833349525,0:70240180948557688497445546843414635161913878682156096078900633584002330575 -mul:604754886257955637472038235002006997,75686581968330008368600832791867,0:45771830269510850321052484315153573724518799356687777800355778693399 -mul:287068066584060661996114628597630371136,52011890293701406927883275870768865,0:14930952785995133944874986127466642449246463907028312778992290363623480640 -mul:3979837024286745384581666788748758,7350136706945206821986896298939283,0:29252346199869589826241656345690372038181000414430037048634183660514 -mul:7385865195603313817759905903511277,1520983986703891701713359953638,0:11233782690466247146504034010039435409908987896556224062130175726 -mul:764457193068206149728854992613,27858021258550102776458498820919,0:21296264735745627187463264202183322605488975579352986954871347 -mul:-4155789385717252736363125208379519,513716864065732253356348104577569642,0:-2134899090948322867217472161243561749004221362611724116686910188962198 -mul:97365354260983249124725672833811771,5020029690975786355406829440294084209626,0:488776969262511703376009046688465573304498084561257966650740834323390307646 -mul:83139160308299020652846789174256754,3913486804605023733190361150860684,0:325364006812469954155078345060732025916284724658136533980363100059736 -mul:-17691166446369130975076403772363811082668,94600134419678935394632555907142,0:-1673586723867433503807220193308619446302933297119631426540241369893614856 -mul:634823647473707443708903538054380,3956996255499668253479385484122050809317,0:2511994795956101788922355113644864677876582447280810271598141786556658460 -mul:-3637804742599340390876015169076139565692,783241759542604459838225899706055858717,0:-2849280587465938677344529171806295752584262014073034029610817921718004492337164 -mul:585812248650822285457691267576462,21534520461947113931625020852108318,0:12615185855430383092677209963435811738114410942221928457106971210916 -mul:11281432653044672416448534028211038025,711109480140515578563170257201359462,0:8022333709146834455095073412796362253303159149746025747385289864175542550 -mul:676293649029453415159585825583394,97280549393475973449516311017466882903,0:65790217728903847286239146189723168106268785797184624412977724659312782 -mul:-60552656313655809329731693060696763524,493007935144068742422888317617165,0:-29852940056683907903878516926766558721475796609356660329816267168289460 -mul:499127054152037037035927375386500,1203956412395744650060889503126393,0:600927217446543074982206780295985557213897685478460386666725894500 -mul:50094686288665713475507184834256049095574,-832478827433992238527275985275884802100,0:-41702765702262121589947986555938357521572244317029059068815991395850316975905400 -mul:3587136855297236649460183411772356035310,-712398604370738955166219235841134498742,0:-2555471289400592763904206892884230251721266867884706454335385263422835302580020 -mul:-8101551106022390770336067301182994,9185799272249263720169676176910186035467,0:-74419222253790694721684461955969753328255728462706287902254787547941248198 -mul:68680574795029722620883183609775450677,-84158462638889794851250260034014551972363,0:-5780051587904985041122626676950144438458787116758152359160332249952887573639751 -mul:155258118178686765062886673806448566,-6850017870177195667059084688029341396610,0:-1063520884014087259630275993355034425232292561277443357397796113750571761260 -mul:285166743996114296479394289968524943,559627723033455856754700399288311,0:159587215627409862324848662934458300983070878875254327058667651841273 -mul:97635198013817214038209538637709608537616,-43337611052093405089732573050042882425535,0:-4231276236516932968241697386864918819022381398914657632453889680479868318366424560 -mul:2025635628106428290541842218677337,8363403252785996217814021695187802,0:16941207601064506909583426911328603088283663942724754575178256243274 -mul:39403341320445818916772945982544618,-3081545887974055895915003777735743,0:-121423204418458019221260007112987567988534380636151689137057510881174 -mul:66538675039876745133366881210395320367369,385523580015310377616062750074359,0:25652228210848657783496179630561675959121693223651695460689142031947191471 -mul:568797587304724025372575349953868,-809993079501337508688725757864677957,0:-460722109353884289924314758764698126555664169725436270804746626487676 -mul:87438670031005707662235517162074411507878,762858503307630620547057859718065131261504,0:66703332951062790053116333011119262791723282159398794542887647524305430508974128512 -mul:-135539991676075663249711183869449098,3187117064807540583340853903135708355720,0:-431981820434692750842384830628518023465403828254323238040947018231817140560 -mul:3623316226168035106420698863103708,281527696822113339094642926844583498510,0:1020063872011278433648537926576161108003887115843314376248917259593475080 -mul:462743256592937700094228107961335,-6269566498572477078237555404177435,0:-2901199618975409735420400360180614855892286694850259916640459475725 -mul:-685484600842741055621576203380446857767,871551172534175305655069705808532,0:-597434907618612100896516584776549623778036010575252420692205107539068044 -mul:220964518681325411201409247135357488007,-5641829172229111635876189209726787450,0:-1246644067523866218886679493927269969586873926750864717926006590010013112150 -mul:302531333113895329527974519952510,186535245939488501803212618851457571589,0:56432756626801787093558631197271214562205468328076903171812192205238390 -mul:817537141270922830542026664184986,7821981713799768623509532856543951,0:6394760569373296513276094902257760475138670289320772774910103319686 -mul:8468979244486855292413811013010058,-209488808243349961649691393540068,0:-1774156368965217661234169339486871316037510280452325791205110003944 -mul:879852422051274089521663230058530,49497155404087571445757965616479604,0:43550192066934760013905050742361301523530318780622661179293471222120 -mul:21764922287301916637920770938954126,164044760066720848860497915166650797335,0:3570421454491268052799273529790558940088345201564664677181891708888054210 -mul:59469732179854673335933541543666124,33859516881008254191737434099260638598,0:2013616400652829114516768709001157871422263380461883882597878170339454152 -mul:5622782096444522942366700649751601671560,1818924766888381565955786591467033096941030,0:10227417614039519288793528427282183495313347673374396346064272524023191670748106800 -mul:-83658234598433632746857009684831849359505,-29016349811234824466750396183186748,0:2427456599698498400779164525993522755993904434491695109250156524973603839740 -mul:7054089120269602821498711515003074,4095832337673576318592596805192095781914,0:28892366331631588775096150339023452623512261839491078775396601042143603636 -mul:990394898068553803695514279851854605418847,-7739084020331097221051527297005947155388,0:-7664749329459790605184280312841813382942964148487855083039273635724968309932797636 -mul:54075935489906064661012070011939942732,7918292813066039667153314788962651008581,0:428189091349545982631162674290883455991732907828213951097897291399359180583292 -mul:8772115771437424285869834799732506658796,-932849018789404004804426567212331569,0:-8183059590092457014103801212671744691867340048481623621821910552497102330924 -mul:-474373401937043543973615567508636867124,-23736477393422078122335330115520892673,0:11259953531119359125561737495585820068714950649943932579707916447562566182452 -mul:8436352086792195283692976718955932574,-24226347745891111460405966918193715809620,0:-204381999361401874523255301520944469344779076416596720733502946611674540561880 -mul:814519302031186083731939523439915121,55324835095437197264275880684820442585,0:45063146066925974240276350660152502606985477063819725670158134818053827785 -mul:-237764758709584162016066869681905512952347,27730963225107998869867496093972168,0:-6593445780002155177144945210712636481509108047897422208741783636396128278296 -mul:7518474854158787395750001309747813,8381114315785290417935232114225100106214,0:63013197233061936586019793610222181046567760778431006705881553819854209982 -mul:57926271609377407522025180011097851547,-460438760475654775684236043340437433561,0:-26671500698797845620038488129522785806400814035581845817517898599701653568867 -mul:6638349918167655693810387712273716693403,55308325418124425819340246954531134649556,0:367156017513396353523080763860964198057435071526450849007117311720362229502079068 -mul:-792096039638367514268257857215475476214,17985352918594429617981644232595132,0:-14246126818317002183748026216030950300744414227976528547481286648758190248 -mul:17523605051927467343416676052611136060682,32818776862511079287568864844380549,0:575103284025979425337961066906823946761256491065774387656701755680364474418 -mul:435598204136143930685119666237820390,902306362378699323196514142749053448065695,0:393043031032778127896845207627557199195066578791333475705362867607698330521050 -mul:7246625600474134146152993995542881524104,84045078681310625106949990828070364497,0:609043218765848459070950953243439359310276390319003636791153856018486171335688 -mul:-787638361574460696958641849383712843152717,-98972482600264920015196417920239935812005,0:77954524036229481100840641198098180090516196148063542559493953965332234357616967585 -mul:82374608290966933640517911377351376793038534,3375365592517566879211534105358267232412929,0:278044418522442081159379773928407521481969102832422171826378968402371349113290496806086 -mul:-65869507968457359071511077346860349916,233541308077986424091233056554170108328607,0:-15383251053406881762895333316227673851604711244588922960984017463587249932847012 -mul:434965647854018848199731601803786298508849,6881642201690537465635377223216241,0:2993277958557881269328249998872265799210459572563672559065439071522179016609 -mul:719612999193225374224745692059996056358,-315519530953816852193901984099603790510,0:-227051955973715854947761029625296545846391976119186350945960831820908385562580 -mul:3371856558784507755414140667220962994794,-46940188151078159734582108552804551252391781,0:-158275581287791729316741990876515371668219778704190560942981767461139678285151388114 -mul:4803433840417804894873156694592939602852,-72456645795090954873268375616538340122311,0:-348040704375306339795449754303228838077133852627838127804760032434988381444430972 -mul:48568835567133010333265540506612310476167,-10706367926604784868082114989212135746648832,0:-519995823348494578419271225922535589824979430677892239954987805560794580396454386944 -mul:-640514959144433868933444881224466486263623,495227035072426375802319189512972514543836,0:-317200324136634298803490410310491121240672331811889843420769547754733113081885677828 -mul:-6488859550432975345382980598094012298,1739553070312394609661279054142037504040,0:-11287715553781586837699646244863276062209616974051919639534825980076984683920 -mul:62439762329215278757554454849955204768025718,79602289985731119990152260854511851,0:4970348067570324615570705607275557501940237030878572771873031709232361903784018 -mul:6054057220822234921996955072468282902047103,-41461621564455176604944655360416823,0:-251011029419288750464457350960394818104993744337372045669164809905502059613769 -mul:41593335543156355768394832800525873230,751910447000975730197547607815241920,0:31274463520516267130210975092154781101937166708024981308551550511701801600 -mul:994454253731718339598418586069934146007,674502407982587721309172287657440910774,0:670761788770571291425639315014529979293655007270270606543282922218043975379418 -mul:467599304203676521904495847137440151064429,1065364075426775111107441639016359411726,0:498163500393153194363286906417357715847233221784448787935167388300077631164094454 -mul:-50006834540638623993722097585899096403763,-5313099491095445109561808031972399857647,0:265691287149161199757555723574229252417144350517780818574650795718178070835125661 -mul:80633786527554906657368596063180401716797,60423064130048311342811193512905633441,0:4872140454403075663557443919045087358815687394738194780627830508431609174608477 -mul:7515721962363288712694440724080300383839,847957688242291310060264069657345589412622,0:6373014220677391433202574116816230429840218559515683152967957040454035241151415858 -mul:27726212382161724111674518621229053817654,844465139764626291093420179330707907,0:23413819814445912412285655292812080594927908481755534067419056195692713990178 -mul:-9817131728229141224738800156068771165515,5514447437310670168515402768125807553,0:-54136056900474458343818772029658956395718462850811589025376047345570400134795 -mul:1101490427405231724327190816394483390794764,-1715150116840413365727028822839059671039358,0:-1889221435262680048398395651544618017331159617034111717493189130934881187657544321512 -mul:8714614705512806124985108394035361802445153,2277516152797095323407597912040972562623326,0:19847675757208518019561453963926275072330819370134031638574421823784137713762913438878 -mul:-40241069975197162607015133362864260639182295,92350494843755720369837991386076354459722485,0:-3716282725251658699531715999828990669514311285221505159677424152232919613685003025403075 -mul:94926798565178929705057494111757110129555,654944641739167114202854904453615515658738188,0:62171798077717196972382133382107571708777354355494810646721424261049356268684505946340 -mul:265280847975099333384365084677641815670787,79159871617113409657206914064640126799879245,0:20999597868187843053561037716605216806384147652131248848290439305459650098340274115815 -mul:116347226264838928071222153238640922289035,68573180747149861177662470447052670907671443,0:7978299376088341437815459477697033179544362328591411544546002100709937766389261527505 -mul:1040609825768545533315151293676302487896884,-81323728160947963681253577857302080515,0:-84626270592412620351087782103887368619510384932135633101731317980537259985615260 -mul:995902591817252306534602024050315471330353754,5332558356879676808399004303967153306,0:5310708688633218425617462275294145725219682434631220640352375632798303313330610724 -mul:2001969035383918099033090062929650143669765948,4190101466247488888803682714062857957220,0:8388453390544226191569030306431481670502667642604288098765832297433783873766796744560 -mul:520711239532941932960582838954921846930386522,-3853096594619017503346777573808512971,0:-2006350703824226084150485654917370322708059670415383459171549901585565143080576862 -mul:60199373689261241651972446393273631317362,4966864098864732001544113870901038040,0:299002107951333794206101094825317104561273941185545981038605377956818474450480 -mul:945149245494027792287917914515672725163081263,8902933189066222709145663761457459365794,0:8414600586329679076832097202813182563472890369046719691038445973643576962794864517822 -mul:42113632082774519107063284261972952560637120,550965713086089226514793739995356299364345,0:23203167331131067949789906196648817037171886959897217039074444030278552245924211486400 -mul:699130208513509445029837360613055447835,1388996167624703080432361535173321299212301763,0:971089180295924181746449876683106046223557368848629195863225292564207370057125033105 -mul:2708864861499120155181972404884433662661130826,-9669434874243213781569557549324652869447,0:-26193192361391605615558952560977409140576479476697591006776382263831361618654765273222 -mul:-2663320619224926510783240759799877830,-9288856838720796348912703146202293649985994,0:24739203947593564658057633395520384609185233542510185477275313665703022411113020 -mul:129339208558322679510730678747389994722,12274162664070343010820636150243461714,0:1587530484686971608662198892455480803480746517693529713477405341441469073508 -mul:7927826382521640149002540477963715500150746,169024688202278131082480706237325364215068990,0:1339998382427514783636289070847268513301546686442820771818201284402167398586309789966540 -mul:136906526225769628858637915191370345692692,539213183682016621647404279498623014328141,0:73821803873042744699575963663268898393281778327505656899589792517391459419633645572 -mul:30681142365936990868501835461428152495,-5027491490146180677917496407674117704,0:-154249182152711677657936575800296045756593757870287279358854312185891271480 -mul:-971981137022757867271162004648718096950546,4334305792750860480761829171455584581712,0:-4212863472642307283763302038750775419855652449217026116602685720873585162160014752 -mul:578802014801938809246604894083179003839,4755521418153118560811649969223227339815203,0:2752505378260798366799002210776469662264057939931455802132200174149940527887564317 -mul:-85637729865865539531457719920611651870241486,974400175977421869121902925057819107693817,0:-83445419051606298238772725013236132640041467317129471694684769066837807060528339092062 -mul:-168964790731095355351979412256338118430524648,170138331609580398941494555432555720911428772,0:-28747387595750458102364942972192784965490845982185971055009388748528499591310207242372256 -mul:790938498909251314495722876378080005340582079,5214770204816378474402582970231763702140978,0:4124562517954155419865932563949638361261784041659784084183845034248536666456801038333262 -mul:3097935765451813281781983641770574025792276,42609404056306319259222360596281494320705429231,0:132001196770618914910107580782114196079241607233335405092295156225025350707315539424419756 -mul:-98485087154927525975034391790808080098982,19775664577849930783360381707025488283978,0:-1947608049496163493701638026379883534026679881243207339494650490437933823564710396 -mul:25900464334299058097279910365875929228,58255952834922520501042331752256379575,0:1508856228661518846300670852569471328709790883165326524402490612694204718100 -mul:79400185595521899110261406600117591081721314118,201740226840130845073877991057259510967,0:16018211453189077537841902603464990449906833086676810898799136608951219916977272932106 -mul:981167299738316185980724229187020822277,8133607419206585086507618470282084549435045911,0:7980429628634459820355488852068596406179426323528568158104015662222056961076466559347 -mul:81466412463591236560961446462245299836549126707,866192944729287017177690246604876328497,0:70565631708368782955079491721185650392800025979803605094852603626778749894901807869379 -mul:6534998388738554052417315288897046254899165842,46609611771478693989087838979597248775,0:304593737826342807250457708401174251945994165789414852595908172190369819865656343550 -mul:948084924179221265735435784532032916982,31095014697784883179376411641933005719333,0:29480714652101151829666949589520351343767111464822561182540749953951625181413006 -mul:2750322192684776089555518232723747026,16282797711115835147148988819960931175880625768,0:44782939903878757031458893908209207556974070715102965333536520996427288006608965968 -mul:-916832268194684002726682872945582785046,80175456371164380904577325966825746198033406059,0:-73507445518318567912336331397416597212835389484585058461161628079009895397414630993714 -mul:282231592138255672195189656428026230056,96673996679717919403145753072968455552546,0:27284456001285230898827449612784823590027283270261564593974508775341064792522576 -mul:550580097204590201609373226827993784219420731,60517713169991893657707958780297059239491,0:33319848399733645437661395589377990023027893949147177182635468091834964459423419287921 -mul:31526794192792048622410273704705620482050682,70537996848502378104686898733501905256490,0:2223836909414548601160467423600948705201515061075175410087937767675574150990389426180 -mul:-923613180033278870451470473112995033306843225,62635452857298067541908563173475507759656054707,0:-57850929796353591491544159777994055136678493390586182701070726329142717640752659048072310075 -mul:469196843768624413897755875308788890398465291232,-15296277161521766221056511754171865009042943213,0:-7176964965596105854796051880140430745806790021143791822882675477990460153884190250962482808416 -mul:2628065716223500508449356215564412668664236,713708318009199991674271791693482010536664884,0:1875672361943518042666230150625785628379941211629586909201716940601968915751182647888624 -mul:604553604369312265623368647573085123221252020,990982890678004704551740474471789043760433700479,0:599102278427707884215998875763263404402845043498163599628915781601939770631217226224053717580 -mul:97586462652371414650265963064033775148721243,969409880443270812997088798402379069080662,0:94601281092717085428971288705993159426354381047162321909314102361504796669908919902866 -mul:-765406874969209688613302257358735487317,687488505077706911028822098735771705823765697808,0:-526208428248781293790355829561494931467780389995278558390525263117575307179181438701136 -mul:85075624707999635862443444914978287825359,778046486301986342411165862027907781749497,0:66192790874005569505967522431892177262190586520494284537342391004284567008622094423 -mul:8227248806783006644129224253415431417213104067,-96883503079217553138854609209329008354340832050,0:-797084685105450364093424636607878440722968607757607323583949926033112024630877523264018947350 -mul:5027554007771258456873599804445876368468,9124875242153734630106913217321584664013715,0:45875803094102741048036279096734905134493820588179489085096405521013297169145538620 -mul:39245745484403729199058188063461104557810253,220067769421357576954105356315871937975114,0:8636723668031045203182769468262937482316831571209371261835666035163932603354648043842 -mul:12265626358518464602956912462337886264411404165,-62808539324142868756473505816723401975937,0:-770386075474250281180131471535743658895165686987724121596740049447065305055237711577605 -mul:-12272356051659726939876917766506363796290,17656166644036956054896242696928896080969790493,0:-216682763563059549497954402078347159387989008283715984882662478463368364976841430670970 -mul:637223594292638303876168193085997138882431056,94504571343119776477559774058446419793557358444,0:60220542628347848605902201201551563824536878839327823946585532875841535294872255080309436864 -mul:5571012420064356266635359647247635200655740,-21295217227115690481188602248443089551209070396,0:-118635919660229953125503640983379408558760574394740036184511552934026350143637375021473040 -mul:5263843748978600609740419748581371970418448276216,5384845751134428162699702180820131424931650492254,0:28344986646322936927200214104061116351020656649291842992510958145976963325938398674483474160430864 -mul:886573921242233631853410597832339291851986573,91564665302299543163193474542608720062467,0:81178844364292397724319168352869382688643286956887488649289119221530204376834605255591 -mul:26539751625701457124278640373644598585396,2325338527842485879693477585982320189921160388553,0:61713906974613847646349243530903967347131153357438117664659209426320342893497093511371988 -mul:353508003643539157483752498296868928280378,10742495675871104458509832622060247315860,0:3797558200526546039055152211123089222303048576306814689403594641262243620006195080 -mul:-4734613561112436559828705330418786656799216681,5767402184612349878575526105980302509419976764,0:-27306420595655124123966761566392172844463942752586247604702902500841784311547866248421200284 -mul:82083010698635736174070971617820650592649198695,632174562080517027772509374721051956918078145045,0:51890791342660440565464109942127261004470910227369112903142988666567956432456853670311234716275 -mul:6173991144338684494350090118957116722781373,-738485502817232028305101940854863776286515,0:-4559402954616091182455382994371638790076884277447195239272169152306248043072153085095 -mul:-493513047233893983448577482415236886372545860,510358065314512191744416886029069217313650,0:-251868363993759605947955962960713974503486770964450697668654217509298887857540628989000 -mul:326654054139623246358073868314669601484091,-749350879522921841553744544029160051092161118734,0:-244778502769254807928944561265310682694306143662100245399456722534220714864996773263060794 -mul:1402621524995633967650615579165227953957890517212,-4307813373241246419295301377872133252586,0:-6042231762972223192990082937904905510649229289208158235372604963773370709779387376510232 -mul:429404746005804957738561594094664667352987,378882853314853204091011966904771925997210303,0:162694095393619197081345508962117529189396776805991399292350948184192266104441374225061 -mul:332341701384724523211310134953299492552149033413,851224516641538736779656410258860743437969813415,0:282897404121038737349436193561640178534459124296792792204901752510516940857699900180164210635395 -mul:8093542646198882950722808884458624246299608906958,-36537804019444103265563497755234936603188804846,0:-295720275029827809269384782284341360404517553913401964795999699888915544660313719313212433518468 -mul:22659814113479956892126670971189905912120035824,-7769923990496178313173088170032841760727,0:-176065033300511807783943084226119789640585676482818345603663798333554090985834476284048 -mul:-66431972193306385702365512934093484764859082,36581996652652744665199423002405565247156,0:-2430214184404654414022013017963434105734980396584113694039713331126873558134841270792 -mul:-888473800362239868616054745127669042022317,142999759078860850560633007783677610020527766,0:-127051539399680213509691775061090749319492899786422897068862876191428383442448290153822 -mul:5971942663513046812876552589351160577576206860,5155119487765712370432570496238254289228130147,0:30786078004495581876769132581215368897074670048309664867385023649025961965929287514674208420 -mul:36328343589972083920724771391132711614346,626466814451530915421088090957480792070888316,0:22758501683110503999668988831411680352271666146548027818547320776153981900886629381336 -mul:5293116409600323220539205506696278195160522774280,-89478075685508708042860880549625934136374,0:-473617870710425832617232568229956765445181004360727395884348946714817018728737310339660720 -mul:79576614103508536656978289576589750212587261,852468870734033057111244131505440601392558836846,0:67836586361655850604287977041894979998590061103440929502231721634765812139562797406437018806 -mul:8225066772418695359596812838151452668642167,32895491347247919323385073727832554930053,0:270567612842635564451661105276011053846580530826552326236219991362408128533171344851 -mul:6163942593967174125699747500635651388266851958125,35785148285967657728202559017385960485415693874,0:220577599751307459197829958073417379960145796516327396960366172323789774042408250526882467026250 -mul:2768453763718344802615194690925869147682838954,295289393573622382700104229276698254424111309,0:817495033025002504068133964169976601685138884223266625508984010676066936521469461617130786 -mul:543530772918490900335995207569824317804903920459,3816523263571207729432080444412751436592123632,0:2074397839310259902661375133149465196577634869313509399704184579022798133468044005917222187088 -mul:1092477340633785505464776554395206472561372312061,-80145274095041381989361699268630409045305877,0:-87556895907716629238600642139851536991533588781637223712321645442750907264691471870441282497 -mul:5221300639042222043517187865188827094681806,28716457589092549537459686031371792838180039728,0:149937258360957795852063558466179437205735302066386407915731516706048526458470970598788768 -mul:-468871256127286679587501070578429844680401783,7709908112767006788780052051800778651016113933,0:-3614954301459024712014678778499413536274302047069226791616378154943247688691115133744342539 -mul:60187668034435065431875732180204005950423,6575730301760601160210842777500398231559661,0:395777872486342581314679269175741080629857948827943943881264571589081297075932686603 -mul:85750547893356514086330287277441673045104762,79743140579005364490235586620393656130064,0:6838017995386660810928499954451837697514688360722982501737493782122901963128377764768 -mul:4548581293372942515724176487253593549214930,4238661184062900689214356649238748109095650,0:19279894970774516775564064389921196824376868554446937886047574519905039195049778054500 -mul:870890539340345883811990618518239041519315472381,-326492148393756245001717974027772662339968,0:-284338923205026619246910784734503794029639825911870769385331694156076881647046490736423808 -mul:66987553698256227716875714961629477167428173612,90975165679807773385648454136069587671757554212,0:6094203796183880252983468130806830185765137990039968456622459271312350291704985779779237853744 -mul:55214217278725852504312036656428464058159216571,-38639629611220548541845337991516346077285504,0:-2133456904923420705886788529419803172916228952081562524788395230166386012381289930934886784 -mul:891217139364757949280558543150622433360536923866,30525879876993440244467275213072433106397646327,0:27205187340566323080358381531226152260280933712987740283334272666071747659070919682319193540182 -mul:-27569366446500582408824975793718887457276922405388,634666021153562229559368735956062829411322343,0:-17497340108325047390655423017206758097517868311360137049025654413974571287769192246265387984084 -mul:502864235446447920785714797929749621810588808385,-661761137717295415776353819805381820532626437501375,0:-332776008566379289514058699683955504618562833566935527415040692964912956262842183217462238049029375 -mul:846540274257645306570757431119674434472851673,8616613565185012233547219046445322085886975,0:7294310410643867160484254450457795378883045914986526511813394090546583372432655817659175 -mul:-3309007371119113533010968742743901666008447,-54456422219293958622124113256532150483182055,0:180196702528418384342054817105817441009885252753576126005393548812004572770935068818585 -mul:3808438337556464123872249539607274641406985997532,8958313515020597801994910602927304472155060964765,0:34117184630454650095284221741033298990688190756311433174116017572873358206925691228892157828959980 -mul:3966980856734279836284487724100931405197679196,7991199588345191911654938564028578389298180118364,0:31700935789308233758627957773360639061582894143974709760939541889270491143844984071481380355344 -mul:65639444382189527381103754239686068124303248439,57344187472963481946737524023690750337279473205806,0:3764040604273435895633212274119116479837782295002539485107922790189834206416168312084346995236834 -mul:415167227201847402226579925485934896345892,586575228633844519664975226407615633553394085108,0:243526811217202913688658430933411830761556037052309989639490972226539908815021715654176336 -mul:61619333876398280418219395631027787927517659829394,919912829682211281138193507951318719985265,0:56684415789370483176959265833922690931907142380410669255035534110985337015940545738093879410 -mul:-868753784405826481862596863379498777711457154096,545880080147628730834302628389405153791727839,0:-474235385460008330984602458660116725933386690418517481411723635621365531412330794841516078544 -mul:9429941770445780812848883836626433106364646270218,13789105660912116612159357433833332620650429,0:130030463448925543470092963482754387029792169816829218586198208779745648441067644420051623522 -mul:43608475425036256086742701999180132009804867174088,26543470249142438881834938827109299420258184885237,0:1157520270054909035662868646857940204973664076401942399990577391349752558661122837219065938780138856 -mul:57684506610503798187871631196324475714333617510881,471695506003883133237678946411955700467360,0:27209522534225930626068350341042360052253774045631066166444663548471852016504199451585344160 -mul:45545031179301366913301053296868047362176530184,-91968879037454375774626628433933013352182139387,0:-4188725463286255430640627639956152535588659815635253627540812068959602079281136816961500757208 -mul:-390021533721654785753654976920878586915091,77031076759836910371783959035306703983828680,0:-30043778702102109808680236214798858402330647256427091328746624712038248759912250609880 -mul:423541795082126371645621560317104281087986536944,8300998559716429411460238557591751288655280830676799,0:3515819830956442096665703788765672916368036936505243022506012528660536007280216565165558183737162256 -mul:-22004254439719621882091733525180851819037175217519,99335356922776842325949741933027888097618837,0:-2185800468589145609464205476226975010639204222945574205629223171319215468510436674371426805403 -mul:-568617824838411255064542027229734991599889058339286,663945656360600870466864889023341282183894393751666,0:-377531334930676137341317084292560605510952651296593454952813714006651559679453405651218795949055750476 -mul:79416546968775553905606945911160893343240489,57823044209535496953371020115352329847370545,0:4592106506344161115031398878073106718740642471142046845754411556618094588197446229996505 -mul:944931014689390846530685010237152128723129879051,9132010491010578008428313272813386452749469110941235,0:8629119939424787805155145456276331139041940822281098763310858175298740567987777487797475766318567985 -mul:10724730362623743957337791385603755532922863,72480373654893123070601266938859686093303005387292,0:777332464030946381953104911976964384403745616151494866542937429270491850221347238960076456996 -mul:7713352208339235603081099644445084271357860,603624463205826416829628929324533190899935786563381,0:4655968086276246859527680228796939930213380744965640764495096069501972383741189048259822524660 -mul:-374652992235609318781751374140306949494493761487551,-8211631925711097443824357620157273567158306960781,0:3076512472105121389035620380499987642797429799314779956051883946663228512561940943539675904376737331 -mul:148033237001979427358794216800322662159772216729882,-2761071692676096788505988250569937615812882,0:-408730380261377140975921158356878339630350304768292968573861638003660928294552005391249939924 -mul:8799836897423935827052239970797993642793054321869,7294647877437509677171255169879966954414823484,0:64191711545589794049942507329622817162690486075145161653225201426081306037945865801824955971596 -mul:638050122120135743843926357476168630346968836720976,-521011870575614667006902791543319211035082259559038,0:-332431687646811297131860656825650731646114948863860886066225973078382224501114486836618755307604981088 -mul:-17589569754541719055752617853886490778777621596833622,-757763302557856615098419826290170728613135917189,0:13328730467773320372749612468589169429951770262414798041479922130537436948993914504659373603202928558 -mul:-9391500830250456597029446286855934735787373415653,28432489383197015180933073382445953529667174,0:-267023747648382060661246943486871855039477521250741910116209365765385119618211444260651874622 -mul:597671128380217947385553643776956963479914986403,71727950226724858021016384499343090206442916,0:42869724948406755644439192851387407923848606069058040508413206852418378147081162495135671148 -mul:220524861586728547654066186650842017022514113,99830670175055229565653522851124444573641171168883370,0:22015144722464404290431089740908195479979690191563438782672166808199720494718314317705872276000810 -mul:-19711747183549435340491469077888147043386014913558,-1141914280129478236596364286858351511269528735,0:22509125595197123566803201916751380078133670163026469768611121772532745591006866402480422089130 -mul:-8382072953685010521572064715326232892979307367,8986558828596332338706049003428573784660004270,0:-75325991703876567601582024901200837475422482663143278160590315962341962045355062611862457090 -mul:8502152308582607794375019565844324676023491104593,10470050208175536662422671560468368371690332,0:89017961548415452362336397742460566038542969501801207576446421265423116103719862689218894876 -mul:594601725521916181847167140525593251441576703983,963458725567603941710493681498226412426881800,0:572874220691643607273440473752072791294210386705034629979437739545297813514469057230330209400 -mul:7141961266638507042734562322157608790427840009,-4549724799885066646710284284349071123364728193387,0:-32493958294643778569864068941415075147150500523994618476463881411873140452414616492271247820483 -mul:-556279059738139499395948604306347001411150129841210,96265906951839620646630096006130967227739083772932,0:-53550708204008570858552227539689352744237572475214571815802430633001465739150610790161193168856127720 -mul:9097507009232650355633416767082868346314279788737,-12952310876092402836370081770801404571317963729609,0:-117833738981010925067125768441840140051091195908538031159411055746004033932320364747308545111613833 -mul:4268792759888467657870170840963084681877952381149,45230992824683770972952637110379461673717665076497477,0:193081734692577312252243894972856695658000409843190512520961090560296517492619302198905276169040861073 -mul:-14981624589272129153412283534256311120144659052,-3422881033749335138988900898217088225431538419464,0:51280318661372243898623018770432573729075192413326291326269850897282594874283136278341240588128 -mul:1220927142068793741881867214403185329458765760024,30622524744504892825380221509502752145574896,0:37387871619239277065352340275615230576537543517582369985500557751663316964285147851854757504 -mul:37912807996403481194979034824173466165481184382714959,-90878397829297201187948170371749592240094934625,0:-3445455247922915696812807051659782073986976942393793434021443082292576682286942256582247061114555375 -mul:11421510093950565340830017403217629128966938056,2237414009357389011349863244579333296452235392013656,0:25554646692221823247642416835188193586733448912454167957899665467614560251117634306180050458092736 -mul:192657988036570687555057992620686662908295387946910176,931495134488306662235768448970442482109561110,0:179459978476371988595767318602181178186396303909063154620374484681111185009707914339840931952855360 -mul:3406199971289940059753501832956133340637816361746774,21717729758322757474808809344766892648120530501033,0:73974930479281653383172304844520436444384314366038505444774962096871058594711397484185935845291417542 -mul:6909979467876024377878180024452018966109074368033,842722308262405734840545048662350517397572773044955,0:5823193847214313361590850639006414894786757219881236880655209757454129105445924052644535803723923515 -mul:373077837411940479742523640303846004174658252010,174968689985940718533112057941120724001834591,0:65276940474755009773288570940982140032743912931132908824689438802225554298870445697213277910 -mul:69447921082122879577796325457481062492384026062297,4859735149388070292660864796695584862286590039960,0:337498503134721348480339150893268639814027256856202938192556796481021571996594857372873378679388120 -mul:97668956744134573191931364533568770116368809990432277,32650097939706033583832290610502297382443475332059,0:3188901003364905942071745199167504684645498771234390707296643812873542739572337441867216444655526468343 -mul:-1130623853521736649164698623052358825973875071086,97117938880122601762963490311393663414262844,0:-109803858302732709122723543874405473115932722476026603503929119344711278986293484666788528584 -mul:5196766948376722446473792182397797566282488000645,612809465745222737408369151997835003504928829,0:3184627977237170791819733844305891092484494030274488141848280463948439552688134126307231094705 -mul:-260800009832764286426719551521843883719112476,-4764630548313512861236355180550436291099515479440,0:1242615693849653247685309234997680134044316133101561211221015368136727312822405604340425493440 -mul:446884272848375074930942162217302913946161786743256,21042882325490620038960351129083746002919260315816,0:9403733166660799648590511384420343808695460628780663235301885602775520005114834045365148352668136896 -mul:951599922613172445123982155673072679115439437787116,170174123089259663169419228763721448308107859122519941,0:161937682362503977661236466402707947708915167258582987092600978773889146161299886218655580651394622880156 -mul:21383950451514823653827321489681070470148156716394,474049024111864801681311013604155672359293053819708610,0:10137040843197072851050642470285630585293351622620638212811885320208800091533606694120847446939489952340 -mul:-470414357544256461922663993336752968654129573423633,9062081906619161788388889503790336651084511675587,0:-4262933438115683672713863671510520101815219800470041585560023172590216986734948687990123769014947571 -mul:780091812513073375693179028189802313142318232500,3497278556984926411479728842600230671778387696053,0:2728198368381477015989505443597065418103138169441425077910216137727395317905388139191010186322500 -mul:-1625948018138433921639232759767284243608022009577,842118879046315463699452834842435152085239651627,0:-1369241522422316177317692449844295269090380811960323302423745772493265931792379448342891937631779 -mul:25026283351500865895404594716390919370787136725638,193605742569640932386538365909397399503766353419,0:4845232172025567337840956469216133356563858466840983726314706900481952782728859639508827146256322 -mul:4935030558829975380051283297334807636335988292915939464,826975811338155401386754284486847375740824437795565,0:4081150900367009340504991854566589470179310873827349635534175745385923686159595506846989467997551147677160 -mul:692976306506130156561485116659173381923120836885557,770158528298664593632506223863839610768381103479684,0:533701612364605511333411361009902575918331545270987516486697902333932240009170947895587667949982523988 -mul:79877139216893064041018839082816187503862428735,7269106113282857654532427145534479409503583394410641,0:580635400993063264937521052415287406491591842310757481379039941960972027583729569639227998188169135 -mul:2539745404867281753796678186777103230989134057269,1232562503892732555700624680547460824244298064,0:3130394955473278587381949607908298163614591827039064669019870794477245183817740184883281827216 -mul:-12342369542383197426854745694214905543911988477283,900468407001638487525579769577535461149066925224901,0:-11113913840455339589057682433788692760910363591045622111658103604207392316252364497138359285304423983 -mul:25508383419230789798346692675791795579961116333703,-3196912743165527117167038251788165837584914845275,0:-81548076010491152335265692912387445585857263580983374333387917442921969005827781555255165512803325 -mul:-1299528036083269250543034346520127753461072609198859,600594652353551219594047525595273354045086799190,0:-780489589055124260606091767683960949165161003741168476167365844545079097602756258116044302510124210 -mul:2299157394917175882710807816574923359426328448491205413,-72838172890838078649390158065336999589794176457016,0:-167466423834226138899695762647031472841630725693307898812516233189758231307075087592787449022731421027608 -mul:-7349901043851956691882158234459042155688766310737050452,38963935506607940884321914070762438994955796523516,0:-286381070252598023694679445080668983274723778018815928227159321326339627469156721047447539093637496429232 -mul:958387014018743982544025716556283287504010616036,1443504353635051762579994152447131178181054158,0:1383435827203354324881238067046558111877918566103625557579208412963622898173192934117459277688 -mul:246125390054194220242986809766512103907648232140291,244701030143825150512131468437935457382757506654,0:60227136490812102782907271910174306533407908424359655603867506529129414912591634812915769093996314 -mul:-704660850546084071765145007935951186831012905395382833,5588984198927622386999113229239134076765551765835797488,0:-3938338359304962728083277304047487715370320826599483665593576088149516002866532798742909925478892863619723504 -mul:50682657377075501007405908966255159073041913889268,-221227972486061875975200412557047324616212536548,0:-11212421531736159902862014641256856908352469946769596801579726135954662759261565882858426274966864 -mul:-65153936048938235385603864221810574284616709045012408,2620409042204728497893539911547700871421142555353,0:-170729963157866373963111608067452447067616052160696883002411341925443387533862472832785201804711820024 -mul:2124140486540339235997181873057458560557130144031198,6337118390151757487365380009696068490770095523526655,0:13460929740520685472324728914077419222468164771987370279610883339996690538208206652608006128131304582690 -mul:70505951289040282645383932312380844925860919298,7547000534925894125969206219651626162975048702546706065,0:532108452093846047616616850898050963751081524640768880912328456268423081073299532380834291122692142370 -mul:-41539404414450841529694974131865311088044938789,-87120273993379326877611820290578462959192080166852098,0:3618924294108748055270837693949939912318794083201327440980670903703748636538106296956551875226229322 -mul:8365100924146743906263010309561180555381451232169,64464903694507870558459227754837948332608708108908133757,0:539255425469958633518840532058336282586265952721118473314120789860073187010825518609049764601833913228933 -mul:-607028381550248615720149092346152462853976790359415563,-638047705393414341349283089715056902457142563666819,0:387313065956814142347580416821601619522788233833564805598190281345003710840619549824608697022583095304097 -mul:9617834842433276206013447576300042077483363020815285,528061422615472570377974310003284316297281680382590494,0:5078807549375975305409474126592664059166274736600561408401824181271910205956102095093049029393852170900790 -mul:86576571095874523146332767288469633576872568596,28806568894922815646464384363885717260300665904363145435,0:2493973959959492744618741686252959362351894366493500719340778231935540767761675386859282345646361759260 -mul:307009198563449723583109556832166934014223122475324,138726608616028283757694379054230076836833023549,0:42590344930632202620089538756907194977499968842538325319841912047531571749213635995957120063404876 -mul:950446831200123302940271854492691726825599408858,-72101792770002156123347099210449392040964040896942,0:-68528920462096510067650339988235647246498530567363500303801515664792809889462344386842251299912236 -mul:981208671446974342191660850214776536471793694644642,42331603864003005956059961823201488180622810810249336717,0:41536136787617995005181391797616187316701801094427498210675495592371812354190764162938589949104015517920314 -mul:436034751789860072246023599184144455891992330310990,72833959249163120346712529298424162613591559886645,0:31758137343081624453269752355328026194721352914558720990171378846806391947794460806298848641997728550 -mul:90712859511805773491925085535825623597765615019643547,-747515802065477997196092836504038150570958532540685162,0:-67809295935620517600810302668580552577312402195771262364310764109361834590609187219719805153318608391949614 -mul:397399782669545823592934194763075791833495372998,-59196779886291303828419299835113054892183602687860135035,0:-23524787461549105672926147613053790427130112546635830152219683595731769479837306026216856302451972784930 -mul:32400956990211215478801690694170683149459902468,-4583955972534683626923454093368608704790928252299,0:-148524560311118107934748825020984325384128831537817042673475700215519245003301091136794236773932 -mul:987205647053507741802554416690401353287928887038,99876648283232575129630115679242229378848334523759990898,0:98598791193984227490766355696552554241176001533681327979309043773446027278571920948873010940294150180124 -mul:613843278686603793281546390730144010908586402122774247,-5096436233192165525303465082471737429087562092805456864,0:-3128413126999883739898127525581773020068974144641842702264583891275711281299548031054626111037897411968581408 -mul:-976952961430926103170472845979881570029763109667,935178486322270132160329332160301439376977149568344208099,0:-913625391679032626735612276016819847879751832378461622543415386714525380228017439645010525807254806593033 -mul:-14766907052440196735362466027665124699631240785562617,56185497908476101017098165076418921931361374576783903,0:-829686025309539659436877109175759992995713482163632861241130851163598589293178881677705053185350284154151 -mul:8086945629611784458016532027184114429962417844094,915144274243273504802165174453120299631299876477769004475,0:7400721989055888996136233798580013159529233408791044035035967083245349723159601722480356017380766138320650 -mul:78088762763327100616786616097147636046671948600444,567540241084477255158834032762283528860020033647985833,0:44318515244687212982877565975681071792510147353364795293924376495712873521681333329643702186243889509852 -mul:719986964333569855824423695658491299542433105292,-615276910378191482694097418592439439457014608822814,0:-442991354927732007722531933484439672517856888972765946209711703099793423501561916310953658633731688 -mul:45518095176552517046254533808850801860612235127698055,35562211507032265793347677842985571735031362689772443740,0:1618724128065785795744673208584473680751616875603258142963030074995341676160450789993590567976668358194925700 -mul:9347651927739244225461883666785850681796998039204,-49878021756813856103391637115956958358002286487531,0:-466242386226901006946356389028134676636414341103795172547644257145552025595817036151721871395165324 -mul:-918018144578664428004161449615771398954961013294489,-670699097650597095681408528960639081653596263477957,0:615713941195785615974127065795375976710193022314921690147944271007135254397488569454896629925801078973 -mul:27390700201762535100035783959539579449610388231,-1589447744597072139866306928627083981945967837919031841,0:-43536086658626030220375532900736667658969827278059194645833847995230392704902546272550528175660663271 -mul:2277199840598187516900058221233481999025368188568,9608219845154413235861538421470991851896216584568613,0:21879836699817971767000557908575054021947917457695046204371308982480723639160400066580492493518216184 -mul:-384224188940171310851587214747099156035618205974037811,-365155157346205326208918238248019306559191342503,0:140301444168666379290296176915045491501178018946537404762619540722359114634558549786149744296773380933 -mul:286446854858822908871115682474835177238732522628,-57158496101544373650727927690968913495792599007869,0:-16372871436747676262278174307506297592132492975051635951931260785772478739228382233254016392559732 -mul:-381089856197823678538852020226946248080829424869589,-3010621081997078653311455126099557341287585438919,0:1147317155204403033538417293781061706820038418656862236980125391331092308923135144143540086900134291 -mul:116824003493453841699155925492342665434851317689062,-23510392931055495213857939210838689217666922526899551035,0:-2746578225910099677716238357776888697288117665636655886289546239917490129557481316738650939508921530279170 -mul:580076669302513896163920831671903321718154827187111,57642903862300589084685292813271561699366462736142,0:33437303681368339826568875036607309078951222489453540109258834689115591802250959764588162866456265762 -mul:5760449410973032312996903274730533429280588604119,54924391723347076414566698417788233810196808558058264,0:316389179950806757476032029420089976949374325352943306272834362194992326589276708483681497464832389416 -mul:5657781195595763129830083459999757852112323789572340704,692061618840647789470644193517118113508111433346167161307,0:3915533213270179560961108305159334536041508008965034741386030883311266330352593550098270684221170821027129940128 -mul:-411686824144764716061907353842274549877341843077020461,64596348790121485579427789661619008385819947602752810318,0:-26593465684752629063594295950004957994828988051383949912582218957039523707407380651277297287183402393737916598 -mul:632256394728894097701649213009572878755743290206395156077,831219707790000649838963373434914934485492976701321111,0:525543975674910659026260706288720204381515414601996591588570479429744161463440855422928774392151685316940041547 -mul:1670481530219772906326138470230000469885289884882422,468290338328174403769157221534943442214405575737600,0:782270360957583948773973087197246461358063772951438918211359656647137302093722698373813315391924467200 -mul:-5940255960924729598832299636442321100271324046668226,57672031765846684220194592702663453624777841860734299817,0:-342586630475711125183923927161946766514304847978409032225317328682383801381008087781458635612556537811514642 -mul:1070320750308710183653165839089007570013512879851785,1457798154372592051774290334996812066679847800239,0:1560311614386725640264706359282306460222595994684719021358994107802507336028163090509939936607576615 -mul:4878833860261622243309660185570248437064542060170266009303,2713399212910344466363698742990679778889654409261764714,0:13238223956354223315835115083131058404743853065832322244195207641759173433600815039556809272534689440156121134342 -mul:-153727669883775746511963322850970227020812560900211022,967696702028565741720227898697068313091723784217356354,0:-148761759157065858120367305796775921605388922829212089475409575708151324377711363197839787691020073572533788 -mul:-540592613733911579302709730020084890208422708295834255759,1487237786400760689794761062671094249214728767786149324317,0:-803989762194224119099880670025468825040986939150865705871247661626924722104597624198557832395582009863760415991603 -mul:6147134348286513705872901614503400707429078163757093529,477008107151085089956583728568535862114663515203848020888,0:2932232919879568942454061197378668098753424444460385986524578717121657294266275306745807650523035121257761633752 -mul:7614680849639684551334463800131196276563566036683927,25187069984138015151555984154271413618496480687947851,0:191791499466750257309658251576197471575523021858632537910036998866329759048429339136517641910254745890877 -mul:34751974072174908316243318351151710272413759348773,8306602488518142539700335965542308143538343391985,0:288670834308846061096235572592461254734354939539314534410107250770305649520412166539742961467784405 -mul:1973284924569393016522181930166284437824113120930085705223363410232863255766399553325346410701486329074823374249547700471683909277697787590783678904983357211584574690370289495346677331618312561665754485123402827162476353576735207718451299565526093115255556962215997764515429748902159033904867393928929335369918394864191487555087825530530292436823694624357846430402766705368186347858763649288740551240105434820489955559033038872623623075504620415436212337263593361227009430895404467373404212231777284568356947010238293550872942631550054733886261493387307990754063500729850132294968984927109971586336754260617576297578,5023215555039217191451486096670046812323372237867852342682903508090873804207633443539517026163606065770027196694503291009850587117226026773591715017125540836707619882023150680605967194554434367524090941938814045780235333982097410791452776449214446635671357519707417878752761895933104747199582531838714305022614904134506738511247696618513698871318914624938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614063087964394912022421136928015233318011144243860597237613050611024432789921991289922378761307428111094457098264457145099945444765267932710530788173695233378407323077034767182,0:9912235527621363370177765461045903296757346464251250997934314384765381968455767811674327750035883028560327843635490083086230089733649800500491928845965808260177110097000550870708488183060088779215210481900113545281854124601490142211180660492441361405426298053896802091578235012988730731854809702026093664780523793649405978324745399501432045298507869343282835244908856693641856464415460033802080004246708824900236489959461486545994943320360059459917374730418136788819890973086342429995201653932338829740545718352667527142958499428354077966431655595175455785104618218647409782931121099857213491801531717606789462812743975739913830932552436532349361163108142395102143904119547756730321871557900417573185916761969667939077354954258105548072267528998411702020631497735552158986372677452750936969993423245268272976429454770189221077520557005286622417163333812030510164503314440581497599501417407932697447376958591635071781976491704916693799964449632893911830806101578411062044010045678256608720149155356874608716245388282176400921764516344436742619757576145128777884235797616593795005421758664915151768829194432974835591116318659671888399376705850603804666493415116788205809451378581533592708248188469927900316495904963905315042780485196 -mul:5693930165221819,3016628443782411,0:17176471693318822194099185625609 -mul:19732849245693930165,22181930166284437824,0:437712683949801303830876080256140560960 - -# Power of two multiplication -mulp2:7328492456,15,0:240140040798208 -mulp2:9301,45,0:327249844798226432 -mulp2:221819,104,0:4499023815872409881769555333012783104 -mulp2:1,3,0:8 -mulp2:28443782,108,0:9230534995215592279593651121258540040192 -mulp2:131,76,0:9898080148094776367906816 -mulp2:93,36,0:6390911336448 -mulp2:85,4,0:1360 -mulp2:522,113,0:5420757920310360044185838167705780224 -mulp2:634102,29,0:340430919041024 -mulp2:86325,31,0:185381525913600 -mulp2:6639955332,101,0:16834286724196864462774406457915724529664 -mulp2:4641070,109,0:3012226647655029057743003824831688867840 -mulp2:86329074,43,0:759358565425078075392 -mulp2:337424,112,0:1752005575194255677729274193390761672704 -mulp2:477004716,31,0:1024359827628883968 -mulp2:90927769,62,0:419330320984095270608306176 -mulp2:875907836789,55,0:31557905658990701020815818752 -mulp2:983357211,56,0:70858354704507043363946496 -mulp2:4574690370289,41,0:10059850511215301155094528 -mulp2:534667733161831,94,0:10590185513519716577933182844778629828706304 -mulp2:61665754485,104,0:1250730090982990067823267062394063169781760 -mulp2:34028271,97,0:5391994769734856490537202784887898112 -mulp2:47635357,28,0:12787018778017792 -mulp2:35207718451299,38,0:9677823956166718317920256 -mulp2:5526093115255,15,0:181079019200675840 -mulp2:696221599776,31,0:1495124500903360462848 -mulp2:154297489021,86,0:11938189976268266978253598864697196544 -mulp2:3390486739392892,71,0:8005560469361491387429364912321724416 -mulp2:35369918394,31,0:75956321382209421312 -mulp2:41914875550878,28,0:11251438731683187130368 -mulp2:5305302924368,42,0:23332969016866530784182272 -mulp2:694624357846,102,0:3522163936626521236224897501281415419920384 -mulp2:40276670536,50,0:45347499604413458849726464 -mulp2:8634785876,54,0:155550473814310487519657984 -mulp2:492887405512401,103,0:4998472123541838661247665060074167267342942208 - - - -# Multiplication by small integers - -mulv:39,34165,0:1332435 -mulv:1331169483,45488,0:60552237442704 -mulv:967,3873,0:3745191 -mulv:4609944,12208,0:56278196352 -mulv:-9187510646,-19674,0:180755084449404 -mulv:-9187510646,-19674,=1:180755084449404 -mulv:-705904,-32646,0:23044941984 -mulv:-494,61105,0:-30185870 -mulv:31884502736,41742,0:1330922913206112 -mulv:124758920,14754,0:1840693105680 -mulv:1578359,-34693,0:-54758008787 -mulv:66733360927656,-31832,0:-2124256345049145792 -mulv:25747369,-31317,0:-806330354973 -mulv:241723337947,63112,0:15255643304511064 -mulv:7902551,11307,0:89354144157 -mulv:-9354271604,39887,0:-373113831468748 -mulv:952191019,55813,0:53144637343447 -mulv:809248646915194,9772,0:7907977777655275768 -mulv:-2633237043,16406,0:-43200886927458 -mulv:764186567812009651,1311,0:1001848590401544652461 -mulv:866541923,29701,0:25737161655023 -mulv:-834567728673833890,4681,0:-3906611537922216439090 -mulv:332307463075,323,0:107335310573225 -mulv:27691642758,54832,0:1518388155706656 -mulv:2202473525085705,16772,0:36939885962737444260 -mulv:2202473525085705,16772,=1:36939885962737444260 -mulv:-16583738845087,37131,0:-615770807056925397 -mulv:9196926997210,10181,0:93633913758595010 -mulv:514078180671038315,62002,0:31873875357965717606630 -mulv:514078180671038315,62002,=1:31873875357965717606630 -mulv:-3412120508850357,36908,0:-125934543740648976156 -mulv:549214983476935,10691,0:5871657388351912085 -mulv:651367312269732,44154,0:28760472305957746728 -mulv:-9584205879196113,22814,0:-218654072927980121982 -mulv:987433915942054416876759,34616,0:34181012434250155694605889544 -mulv:98036280382191791,23951,0:2348066951433875586241 -mulv:80662726244584753,2712,0:218757313575313850136 -mulv:47866183268822904587301,56393,0:2699317673078730058391665293 -mulv:-6912574313961965048871386,30037,0:-207632994668475544172949821282 -mulv:-6912574313961965048871386,30037,=1:-207632994668475544172949821282 -mulv:727313511777411140493,-48518,0:-35287796964416433714439374 -mulv:465780278683330104360026,58793,0:27384619924629026825639008618 -mulv:9089195999415213350558115,62437,0:567502130615487675968797026255 -mulv:9089195999415213350558115,62437,=1:567502130615487675968797026255 -mulv:1956713589673152168482712,-63098,0:-123464714081196555526922161776 diff --git a/polly/lib/External/isl/imath/tests/neg.t b/polly/lib/External/isl/imath/tests/neg.t deleted file mode 100644 index 6feabb3d71c..00000000000 --- a/polly/lib/External/isl/imath/tests/neg.t +++ /dev/null @@ -1,9 +0,0 @@ -# -# Negation tests -# - -neg:0,0:0 -neg:0,=1:0 -neg:-0,-0:-0 -neg:-0,=1:0 -neg:-1050000000000000000,58392:1050000000000000000 diff --git a/polly/lib/External/isl/imath/tests/pi1024.txt b/polly/lib/External/isl/imath/tests/pi1024.txt deleted file mode 100644 index 204ad8b5902..00000000000 --- a/polly/lib/External/isl/imath/tests/pi1024.txt +++ /dev/null @@ -1 +0,0 @@ -3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788
\ No newline at end of file diff --git a/polly/lib/External/isl/imath/tests/pi1500-10.txt b/polly/lib/External/isl/imath/tests/pi1500-10.txt deleted file mode 100644 index aa774a008fb..00000000000 --- a/polly/lib/External/isl/imath/tests/pi1500-10.txt +++ /dev/null @@ -1 +0,0 @@ -3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198938095257201065485863278865936153381827968230301952035301852968995773622599413891249721775283479131515574857242454150695950829533116861727855889075098381754637464939319255060400927701671139009848824012858361603563707660104710181942955596198946767837449448255379774726847104047534646208046684259069491293313677028989152104752162056966024058038150193511253382430035587640247496473263914199272604269922796782354781636009341721641219924586315030286182974555706749838505494588586926995690927210797509302955
\ No newline at end of file diff --git a/polly/lib/External/isl/imath/tests/pi1698-16.txt b/polly/lib/External/isl/imath/tests/pi1698-16.txt deleted file mode 100644 index 7768ad3fb95..00000000000 --- a/polly/lib/External/isl/imath/tests/pi1698-16.txt +++ /dev/null @@ -1 +0,0 @@ -3.243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89452821E638D01377BE5466CF34E90C6CC0AC29B7C97C50DD3F84D5B5B54709179216D5D98979FB1BD1310BA698DFB5AC2FFD72DBD01ADFB7B8E1AFED6A267E96BA7C9045F12C7F9924A19947B3916CF70801F2E2858EFC16636920D871574E69A458FEA3F4933D7E0D95748F728EB658718BCD5882154AEE7B54A41DC25A59B59C30D5392AF26013C5D1B023286085F0CA417918B8DB38EF8E79DCB0603A180E6C9E0E8BB01E8A3ED71577C1BD314B2778AF2FDA55605C60E65525F3AA55AB945748986263E8144055CA396A2AAB10B6B4CC5C341141E8CEA15486AF7C72E993B3EE1411636FBC2A2BA9C55D741831F6CE5C3E169B87931EAFD6BA336C24CF5C7A325381289586773B8F48986B4BB9AFC4BFE81B6628219361D809CCFB21A991487CAC605DEC8032EF845D5DE98575B1DC262302EB651B8823893E81D396ACC50F6D6FF383F442392E0B4482A484200469C8F04A9E1F9B5E21C66842F6E96C9A670C9C61ABD388F06A51A0D2D8542F68960FA728AB5133A36EEF0B6C137A3BE4BA3BF0507EFB2A98A1F1651D39AF017666CA593E82430E888CEE8619456F9FB47D84A5C33B8B5EBEE06F75D885C12073401A449F56C16AA64ED3AA62363F77061BFEDF72429B023D37D0D724D00A1248DB0FEAD349F1C09B075372C980991B7B25D479D8F6E8DEF7E3FE501AB6794C3B976CE0BD04C006BAC1A94FB6409F60C45E5C9EC2196A246368FB6FAF3E6C53B51339B2EB3B52EC6F6DFC511F9B30952CCC814544AF5EBD09BEE3D004DE334AFD660F2807192E4BB3C0CBA85745C8740FD20B5F39B9D3FBDB5579C0BD1A60320AD6A100C6402C7279679F25FEFB1FA3CC8EA5E9F8DB3222F83C7516DFFD616B152F501EC8AD0552AB323DB5FAFD23876053317B483E00DF829E5C57BBCA6F8CA01A87562EDF1769DBD542A8F6287EFFC3AC6732C68C4F5573695B27B0BBCA58C8E1FFA35DB8F011A010FA3D98FD2183B84AFCB56C2DD1D35B9A53E479B6F84565D28E49BC4BFB9790E1DDF2DAA4CB7E3362FB1341CEE4C6E8EF20CADA36774C01D07E9EFE2BF11FB495DBDA4DAE909198EAAD8E716B93D5A0D08ED1D0AFC725E08E3C5B2F8E7594B78FF6E2FBF2122B648888B812900DF01C4FAD5EA0688FC31CD0
\ No newline at end of file diff --git a/polly/lib/External/isl/imath/tests/qadd.t b/polly/lib/External/isl/imath/tests/qadd.t deleted file mode 100644 index 5a98e52d89f..00000000000 --- a/polly/lib/External/isl/imath/tests/qadd.t +++ /dev/null @@ -1,803 +0,0 @@ -## Rational addition tests -## Generated and verified in PLT Scheme (see imath-test.scm) - -qadd:3/13356872859954085399,9/62913230326443414581,6/70815656362754309351:308951546718917012334/840324018679312348674627422530435802819 -qadd:-1/10707768797352318399,-7/98320256665411314243,1/73359800109931088847:-57758212748959181012/350930192156520858413194622860526552319 -qadd:3/8871935578221811012,=1,-3/4866674049828142891:3/4435967789110905506 -qadd:9/4322444789227983625,0,-1/968244430692371869:9/4322444789227983625 -qadd:2/225379267690226671,1/650264369025696376,1/34848592015687152:217986857963088489/20936586756579823441422616437606328 -qadd:-3/68292234169742612,0,=2:-3/68292234169742612 -qadd:-6/86190045205685135,4/67524620320880421,7/25266746450126878:-60387541102541986/5819950077953408572132977712241835 -qadd:3/32384565517809325,1/12077081878824172,-5/29092772826669868:68615811154281841/391111049368729137348856297003900 -qadd:7/8696576917665055,-1/7581339998976754,3/1629599527000648:44372803075172223/65931706440072050529006903131470 -qadd:2/2271361357023875,3/7926992193500824,=2:22668068458073273/18005063745747695119878000173000 -qadd:1/149242689846961,=1,-8/422836348382141:2/149242689846961 -qadd:1/8658078704679,-3/951317712555992,2/558713214761595:925343476441955/8236583628464972469619886568 -qadd:1/16676404623347,-5/33326850326497,9/43833507346994:-7150738970034/79396005838055435322703637 -qadd:9/79221016041680,=1,=1:9/39610508020840 -qadd:-2/2334176395033,=1,3/4196164230632:-4/2334176395033 -qadd:6/8258476677649,3/2022168438715,7/2650901397286:36908440665237/16700030889405718666781035 -qadd:2/89237876621,3/593210741974,0:1454135113811/52936867002527677989854 -qadd:-1/86244958313,4/307620567537,7/284049788408:37359265715/26530723023449966085081 -qadd:7/30268895338,4/83657377701,8/72832717953:706677225259/2532216409883104057938 -qadd:-2/16397609979,9/46846025410,=1:53886438991/768162853739503566390 -qadd:0,1/192040267,0:1/192040267 -qadd:9/9089766539,=1,0:18/9089766539 -qadd:2/331584881,4/272560309,=2:1871460142/90376877625088229 -qadd:5/832601742,-3/639383129,=2:99872917/76050215287258674 -qadd:9/36166996,3/22041145,1/5580628:306871293/797162003050420 -qadd:8/17901539,=1,3/89155358:16/17901539 -qadd:5/5040389,4/3388433,-1/7168517:37103721/17079020420437 -qadd:-3/1713461,=1,1/4488431:-6/1713461 -qadd:5/516179,-1/59578,=1:-218289/30752912462 -qadd:-1/244201,2/201199,9/174458:287203/49132996999 -qadd:-1/41212,3/27175,=2:96461/1119936100 -qadd:-3/13547,4/29889,0:-35479/404906283 -qadd:2/1907,0,-1/9340:2/1907 -qadd:4/1341,4/9919,=2:45040/13301379 -qadd:3/160,-1/799,1/705:2237/127840 -qadd:4/85,2/265,1/5:246/4505 -qadd:-2/59,3/89,=2:-1/5251 -qadd:-7/55,9/74,-4/33:-23/4070 -qadd:1,1/2,1:3/2 -qadd:2,4/5,-9/7:14/5 -qadd:53/70893980658822810696,=1,9/9193530480905424214:53/35446990329411405348 -qadd:86/71933586324624884067,0,7/18408383381035284932:86/71933586324624884067 -qadd:35/378921420794267711,24/6551623471410322667,=2:238400935598423718409/2482550474295871845608778066489505237 -qadd:36/3722553911462108789,7/3244440092917636530,65/8189167080175627777:142857720725269676603/12077603158395035547949185323620462170 -qadd:74/204211327800791583,=1,-4/261650327849481535:148/204211327800791583 -qadd:14/190596241295804639,=1,5/7319468293717642:28/190596241295804639 -qadd:11/20832946214725250,=1,34/81808092645053823:11/10416473107362625 -qadd:-2/36273895397703103,21/88730391521225765,-11/10905700152968561:584291020309313633/3218596940638185709301052104048795 -qadd:39/8019234291976340,-41/686183563094027,47/1842385817838468:-302027447010362887/5502666759754131835671079321180 -qadd:27/3512663969871511,=1,-21/6043832798535571:54/3512663969871511 -qadd:-5/2985747324014,45/607698145828948,29/712218076096765:-1452066049782055/907216556358525513388378636 -qadd:19/46107312122174,92/20099305290153,=2:4623759515752915/926724942451947423255152622 -qadd:17/10280669487307,=1,29/71287679743652:34/10280669487307 -qadd:7/48006164806589,=1,=2:14/48006164806589 -qadd:-21/5174158635853,55/5726484671487,45/4364076509257:164322546870688/29629740116054290765023411 -qadd:2/515061581267,81/3885600123095,62/1777317903213:49491188328817/2001323343572560546061365 -qadd:59/587566787929,17/530520857961,37/408187963651:41289366014492/311716436441482018352769 -qadd:87/16848388346,=1,-29/793777748404:87/8424194173 -qadd:13/40356316605,-16/35824973661,12/36053750683:-59992136029/481921326476367313635 -qadd:62/58964244603,=1,-41/7476886656:124/58964244603 -qadd:49/2379119051,-9/250852979,16/749619475:-9120275488/596809101339002929 -qadd:35/1381737807,13/332249103,=1:365324816/5667668480949841 -qadd:-29/262819147,-44/212418643,12/429833273:-17724183115/55827686560157521 -qadd:14/189466127,31/78740185,-7/602930208:6975812527/14918597891213495 -qadd:19/15866903,3/8919802,67/8901141:217076947/141529633113206 -qadd:8/44756143,33/6935255,44/26346673:1532434759/310395264521465 -qadd:9/9886228,0,=2:9/9886228 -qadd:-31/5061520,-19/3104202,43/3631883:-96199571/7855990253520 -qadd:-31/302786,=1,31/132480:-31/151393 -qadd:10/50561,56/854269,-17/764873:11374106/43192694909 -qadd:-12/40781,=1,83/13428:-24/40781 -qadd:-7/5458,17/6090,1/14614:12539/8309805 -qadd:85/8919,25/1261,=2:330160/11246859 -qadd:25/2609,3/832,-17/7121:28627/2170688 -qadd:29/910,=1,-19/91:29/455 -qadd:41/715,2/15,64/97:409/2145 -qadd:22/3,-3/31,22:673/93 -qadd:35/29,=1,4:70/29 -qadd:-14,9/2,-20:-19/2 -qadd:-60,=1,43/2:-120 -qadd:375/18696391582109365451,-131/32949770573031503434,166/56750232802998421883:9906936667630486913669/616041813174061083543307811398267458734 -qadd:615/80348516296708248277,=1,=2:1230/80348516296708248277 -qadd:-150/1530888833706527119,136/9537020524274172927,=1:-1222352197257038250866/14600118227441300399114525155221107313 -qadd:89/1394353050192727085,=1,819/2322159924711043043:178/1394353050192727085 -qadd:62/46458468892037221,813/119745041246081149,-121/356270572095961665:45194927766483291911/5563171273706775007904337294446929 -qadd:809/639945078105944091,400/118384885068174771,-713/209608760084814514:117250467754177008713/25253274840505439393971462380909387 -qadd:1/576267190309129,=1,207/61006148560056413:2/576267190309129 -qadd:-515/3615716945775737,83/23367471127892459,454/27760785001119423:-11734143124365230214/84490161337046038094355667467283 -qadd:73/835205561268243,353/4576154733864164,=1:5197412055370031/31587023826011126162743214412 -qadd:159/1356415561313968,=1,610/1188572111871663:159/678207780656984 -qadd:17/27804219463543,=1,480/45536329454957:34/27804219463543 -qadd:-313/103858729128189,97/192554775266034,53/819834763511200:-16731782644278103/6666164748898110732454544142 -qadd:-497/99654168988628,739/9692326546155,144/61549637278907:68827344589157057/965880747523495532712125340 -qadd:-215/35851399647701,309/1276360474687,-79/2088545670863:10803664989081904/45759309472532992928244587 -qadd:-121/9491608537990,-109/8274027606869,1/42153880273:-2035742671072059/78533831076922767571453310 -qadd:513/9899067246839,413/3814421378956,43/320124503991:6045112940348935/37759213738065792812120084 -qadd:371/929964631846,19/164386836347,-347/394487184823:78656844289811/152873943743766506506562 -qadd:149/158337939815,305/905893441427,-73/931434015171:183271194416198/143437301207471553716005 -qadd:601/39399444858,=1,100/29792912589:601/19699722429 -qadd:7/24017912572,-55/47728203251,=2:-986887768703/1146331812901164171572 -qadd:497/5699936840,-145/2007901849,=1:171436377153/11444913720219217160 -qadd:-307/2244804442,112/2757559041,399/2539679446:-595152528083/6190180784314060122 -qadd:-15/24574214,=1,97/256299894:-15/12287107 -qadd:-79/117243052,17/136766977,280/170126053:-8811459299/16034977796293804 -qadd:245/15098288,971/75107317,120/16937981:33061730313/1133991902973296 -qadd:431/62180997,-385/41204984,-169/77089643:-6180335741/2562166986489048 -qadd:-917/102195,=1,=1:-1834/102195 -qadd:63/1841195,-479/6792243,=2:-454021096/12505843850385 -qadd:-164/387359,-783/642485,=2:-408669637/248872347115 -qadd:203/17726,557/813213,584/477219:174955621/14415013638 -qadd:696/29969,-780/92741,687/81050:41171916/2779355029 -qadd:139/11350,57/11570,949/42570:112759/6565975 -qadd:116/1819,288/689,=2:603796/1253291 -qadd:101/1329,260/2321,-115/2808:579961/3084609 -qadd:-995/559,-419/64,844/991:-297901/35776 -qadd:98/479,83/90,-941/427:48577/43110 -qadd:502/31,531/97,=1:65155/3007 -qadd:895/7,457/97,-217/22:90014/679 -qadd:60,=1,559/8:120 -qadd:842/9,-78,=1:140/9 -qadd:4707/49292519774798173060,-3367/70976135186689855734,4680/92255023230843683243:84058377121001851123459/1749296273614329067191168098769082663020 -qadd:1609/2121030704455118221,9004/45879979595713054965,-1909/56276212991908059822:92918647632416189900569/97312845442281711047521870162146017265 -qadd:1595/6629759211105345266,=1,=1:1595/3314879605552672633 -qadd:6064/3080056685556987183,4508/1637245998798276241,4554/192867820573257707:23813155275203645346388/5042810484500057739317394353730419103 -qadd:5984/719002302690645499,5551/827085169170104629,-1133/281319473813875339:8940459434549679264885/594676141154587307208842285377914871 -qadd:471/5383706422635043,-1059/135831330372294919,4069/661509955962879771:58275211503780396312/731276005720386541831883100246517 -qadd:317/23905256796561588,9403/29217659230012136,1579/93558964298111076:58510781908495614769/174613911721967007022035077857992 -qadd:37/3959930712621791,-553/29796300050913566,-467/11895602422350163:-25287874004559267/2743983341723415461995269514342 -qadd:4808/5483375732140019,-1167/2909491781718641,-442/1776182590086113:1084248143870831965/2279119518390974491600667770597 -qadd:-3671/9168542776331636,-7/406053390120221,1769/5947573797737151:-1554801794565652743/3722917876791723943159405611556 -qadd:1006/103477396982149,-8126/225516229246559,265/155176584822067:-613988001254904420/23335832379663506318642675291 -qadd:2623/84239743205954,3169/121906161822547,-5709/26194735454912:586715608680209007/10269343767154832537421844838 -qadd:443/2686896931288,3316/28495742324937,-3677/558065798916:1266668474946947/4503830741626282579878168 -qadd:4417/89265364740400,-7113/54425110575655,-7945/40916976250387:-78909765197159413/971655469314488996726992400 -qadd:-597/8004050520667,-963/5824074581732,5137/5348060857045:-11184873176696325/46616187188315454846655244 -qadd:5937/5559132885590,-4758/7557504569075,7304/2395270970465:3683710071392211/8402634436588302845425850 -qadd:4329/271647765458,626/121599326283,-7069/977356121708:696454984655815/33032185265975198932614 -qadd:3644/7586698567,-2933/927690827006,1427/63030966192:3358253586712853/7038110667865465100402 -qadd:4385/67179997993,-2494/15819866041,6466/4511530241:-98176802404757/1062778568883908855713 -qadd:-3914/47589537237,7583/20994047283,5647/65572699238:8445477569773/30275666513020217487 -qadd:1511/1463679102,1175/4782029924,32/176197467:4472735080007/3499678632448724124 -qadd:2671/2245073493,2492/4004524047,1097/1196765648:1810089652677/998938976666754019 -qadd:-6310/734134819,2131/871643491,2948/276012457:-3935629128921/639903836497813129 -qadd:-8499/333851789,1381/107324058,4694/778673201:-451097848333/35830328766039762 -qadd:7387/32996439,=1,-2169/53667347:14774/32996439 -qadd:64/927251,1425/83805722,-97/55678833:514222991/5977610733094 -qadd:-229/212766,841/1773874,-1644/3034871:-56820235/94355018871 -qadd:649/6801849,=1,6442/1282895:1298/6801849 -qadd:1093/555053,=1,=1:2186/555053 -qadd:1472/313297,-4055/65502,-988/274137:-1174000391/20521580094 -qadd:7186/53795,8849/16267,543/16231:592926617/875083265 -qadd:1855/76431,9227/21314,9319/78236:744766307/1629050334 -qadd:3649/8263,=1,2945/1888:7298/8263 -qadd:113/5086,-588/193,=2:-2968759/981598 -qadd:4457/114,=1,4229/115:4457/57 -qadd:-1210/279,18/101,2941/205:-117188/28179 -qadd:-1529/14,=1,=2:-1529/7 -qadd:1447/94,=1,=1:1447/47 -qadd:3859/4,=1,3307:3859/2 -qadd:2680,-5349/7,3131/5:13411/7 -qadd:26355/1842957535448256407,=1,=1:52710/1842957535448256407 -qadd:-23972/10860515422884440037,26937/77294406487002446441,=1:-1560351808360184484806983/839457093754789179857466996851368558317 -qadd:-40520/1003897140843598099,=1,=2:-81040/1003897140843598099 -qadd:53983/154204493365472465,389/90815930118883934,89726/3798744434445137383:4962501903526880198007/14004224493496648610131716407877310 -qadd:6730/8025480371035471,=1,=1:13460/8025480371035471 -qadd:5789/275109143231142112,-70061/298583162637001399,=1:-17545923755411446410021/82142958056310217788247049711814688 -qadd:43609/16618250357288024,=1,5530/63408107485667383:43609/8309125178644012 -qadd:87785/73225998153574891,37715/66514284957194283,=2:8600675025329377147220/4870574907461862714813485677548153 -qadd:29071/683129957825918,81512/615183458604239,24291/9113716458411940:73567287447390059985/420250250131516159851218866402 -qadd:59555/7990017410441913,=1,78329/5337044591694823:119110/7990017410441913 -qadd:5029/36615500243388,=1,-5844/782117748680987:5029/18307750121694 -qadd:-95034/708404684023045,7237/43582118287425,962/306992443764355:196988333789525843/6174755346891655642926741825 -qadd:81727/59355557665587,33706/37108442588563,-69327/385353327593:5033400114111763723/2202592303945575671784881481 -qadd:18580/8202880287033,=1,=1:37160/8202880287033 -qadd:3529/570956288395,51454/91669081267,72122/5210249411885:29701485050867573/52339038400785943996465 -qadd:1795/316792972368,=1,=1:1795/158396486184 -qadd:-17887/290287394860,-22309/449346280424,63263/662079031487:-3628369602468957/32609890283578494055160 -qadd:13131/63340483459,30113/382543142829,=1:6930545986888466/24230467610714148965511 -qadd:-14617/14636593116,1341/3731854192,-18413/12969994431:-8730210338977/13655407844135735568 -qadd:12677/16187316610,-88834/43865688355,2573/8033027431:-176379750491281/142013557143595015310 -qadd:66701/1078856211,28387/6472397775,-25495/5284061884:51371210583548/775865171069036725 -qadd:2351/2179309208,4443/1189508696,5983/1449971042:779950359715/162019203386804548 -qadd:98854/387184463,34645/227217379,11339/75650021:35875352504301/87975038872382477 -qadd:46993/558998125,79614/180403205,21187/172641639:10596352907263/20169010667798125 -qadd:-95664/49177319,32505/7903417,=1:842436270207/388668858999023 -qadd:7609/4376152,=1,-49134/16441549:7609/2188076 -qadd:-39475/6548191,9273/3028760,28453/1580168:-58838925857/19832898973160 -qadd:-71284/2152619,22629/219994,6307/1044349:33029563055/473563264286 -qadd:55471/884276,=1,70589/439282:55471/442138 -qadd:99253/702279,29725/193293,77332/452861:4451128156/15082846083 -qadd:4672/13301,=1,99701/23262:9344/13301 -qadd:11647/36600,-12718/86193,48531/86404:2942137/17238600 -qadd:81747/4862,86325/5233,34995/6364:847494201/25442846 -qadd:-12670/7457,-5355/1898,51394/8063:-63979895/14153386 -qadd:-23034/127,37704/779,-22033/804:-13155078/98933 -qadd:21121/777,88921/734,23573/138:84594431/570318 -qadd:93724/99,-81002/97,-29731/3:1072030/9603 -qadd:46063/35,84170,=1:2992013/35 -qadd:-53,53087/6,84985/2:52769/6 -qadd:6484,-25157,36395/3:-18673 -qadd:502735/93903639167159766403,=1,-182075/14327482370605034031:1005470/93903639167159766403 -qadd:964341/54574070369775729943,105355/12364735662003164536,891428/78644454680386798849:17673472736839515719955541/674793954121836196578645015875330901448 -qadd:395315/2495365929584166774,465224/7310483990485507083,179846/4219676087482572977:1350282699307880878594507/6080777559542678797435646824476753414 -qadd:484689/8598175504270279871,=1,455252/2180188091947909803:969378/8598175504270279871 -qadd:721437/15467677986707891,167201/325770348193492422,29365/5095805222384074:237608993916724138533505/5038910843474647501780261636102002 -qadd:305023/828712715944217373,760576/326121435327718203,856883/159328170084137681:243257847069985220706839/90086993466019930569059540240313573 -qadd:552495/79059081794978678,739237/4377984896396103,=1:60862213214209017915671/346119466021360760402283927291834 -qadd:-324714/14566706981425225,=1,898113/17904108312665273:-649428/14566706981425225 -qadd:678715/9330341670794893,305282/6752459700030591,-181029/707344352338564:7431381051249869095391/63002756119558606430363386571763 -qadd:29371/8832474155792490,=1,139981/1228293392110586:29371/4416237077896245 -qadd:-410473/489580012740170,138771/888182189776802,26594/728753620910729:-74158825009071779069/108709061946629702972179884085 -qadd:159641/107674771231896,751942/36141035619445,=1:86734773896978161277/3891477742407545118101817720 -qadd:74575/96461557770386,689363/40797971566422,=1:17384884394708131192/983858972792245290555894723 -qadd:82781/8818234639538,=1,755413/85622526494566:82781/4409117319769 -qadd:540719/4870455998403,227043/4599456084178,=2:3592816235626056311/22401448474575913801567734 -qadd:252638/766528476245,158438/3053066657539,180745/2135691256678:892767892946643192/2340262532877784911661055 -qadd:-110463/878079093193,79446/268839262339,12485/16768131207:40063080202058121/236062135689304156158427 -qadd:-173279/107650733329,=1,-23166/462291939529:-346558/107650733329 -qadd:227603/47564019356,=1,-433003/39021527209:227603/23782009678 -qadd:-488093/80889009444,323575/34893143332,-148268/9979738867:1142820277812053/352808975064124203426 -qadd:-39438/15658613,=1,973663/6699939467:-78876/15658613 -qadd:881284/8851714483,166494/3388645931,694663/5162409252:4460116791788006/29995326265191718673 -qadd:-114870/51892709,-65507/276496014,395733/970026370:-35160432816643/14348127194161926 -qadd:805009/674975377,-21652/70238877,=1:41928361272089/47409512483131629 -qadd:531750/53640289,-12447/5407124,-742474/12677537:2207577509817/290039694018836 -qadd:737071/19678454,-571315/70114882,66254/4831011:10109262560903/344938120038107 -qadd:-19051/242105,785139/2763106,252071/1451468:137446145189/668961778130 -qadd:-233713/2488948,-648637/4197650,196342/374913:-1297734569163/5223866286100 -qadd:122954/95949,-26357/1232,-122201/117397:-339635495/16887024 -qadd:-223119/635008,418877/230651,-13963/37538:214527625547/146465230208 -qadd:-350850/61369,36223/4210,=2:745890787/258363490 -qadd:-126959/62232,284090/70243,-7211/92126:8761507843/4371362376 -qadd:-711695/9271,-22121/1677,=1:-1398596306/15547467 -qadd:861190/3059,=1,=1:1722380/3059 -qadd:346850/883,=1,244382/179:693700/883 -qadd:-130222/837,34787/12,7523/70:9184685/3348 -qadd:59611/13,=1,284730:119222/13 -qadd:-312539/2,=1,264288/37:-312539 -qadd:25774,76897,818889/8:102671 -qadd:342195/2,=1,=1:342195 -qadd:-9963421/64053026836845890001,300354/3200175405137875241,1526802/10904004442804863547:-12646112012680203626199107/204980921107910491468445220168747365241 -qadd:1544746/18424173097448569597,=1,=1:3089492/18424173097448569597 -qadd:5502939/3595837892490654503,6889036/866793862132267183,7407877/6872500389210051386:29541770440420524774479945/3116850214433526564127456310938075049 -qadd:265311/258067740607743460,5963570/5903711115389815401,=1:3105324535591307979606911/1523557388749470699660729400565027460 -qadd:60563/46036455525940547,=1,1505826/654445038221898587:121126/46036455525940547 -qadd:-954257/72800654329359791,6813983/869337311132906228,7975903/926820989228750004:-333508793520619681655043/63288325083401809422309080476678348 -qadd:9224701/60870194897007141,=1,1821883/30701883983078087:18449402/60870194897007141 -qadd:-472292/38402815300459203,=1,516735/14385919705031017:-944584/38402815300459203 -qadd:289537/1490184116945967,532162/949630593545417,5373871/9041027854950185:1067972553205559092583/1415124427467351741680749483239 -qadd:235368/2501151346101235,-1497627/1230306186302420,3634873/991873798011092:-691243416109985255757/615436394797394918565529097740 -qadd:8661005/52512373464448,1561891/832613630894407,9705649/42723536578103:7293289423747373650203/43722517937117159639456542336 -qadd:-4730153/288796071652629,9865756/808268774461965,2287239/939894762570958:-324681130548077552707/77808282301366757649284251995 -qadd:1610793/18198109357633,-4540937/36733999418553,1841325/14250960840026:-23465598986712679592/668489338562054530332365049 -qadd:435304/45838403876965,-4386838/12812518890187,=2:-195508311263843424822/587305415569635079893842455 -qadd:8986417/9112103484695,8469481/5806694255278,4459/11976141472:129356163303090652221/52911198958077101695970210 -qadd:3544217/1265421249547,238276/343196380555,6363702/6030500114467:216840279994080201/62041141817416547622655 -qadd:4182082/59852165789,=1,21252/891696437201:8364164/59852165789 -qadd:-2035517/202890303722,1349377/178781840567,3182749/193387650969:-90137966399936945/36273101932616810690374 -qadd:-2767593/32666510356,2043425/57040767333,-2433227/14327142465:-91114064461230169/1863322816797631000548 -qadd:-1069001/77822361247,7895459/95688698401,=2:512151948229509972/7446720454217853266047 -qadd:1842385/9174964821,5302182/734041147,376177/387991044:2941159983715001/396164805934793511 -qadd:9881884/4806155721,110617/6086759637,=2:20226765065368655/9751304883906477759 -qadd:249851/7404273,698298/65948941,8016669/79629599:21647797885145/488303963224893 -qadd:3895008/857366795,9035727/613001216,2322321/896685634:10134576938814693/525566887893022720 -qadd:-3407547/17228942,84529/3672798,7629340/77644423:-2764721642047/15819605929929 -qadd:-540110/78141351,1842606/10051715,185431/9635562:138554690412056/785454589966965 -qadd:-1238471/9333511,=1,=2:-2476942/9333511 -qadd:1535971/4556655,3336373/6869142,=2:2861500402133/3477812248890 -qadd:6488119/859164,3475243/436240,3474202/209253:1454045177353/93700425840 -qadd:-1099325/87072,898870/374541,6289012/998611:-111158625395/10870677984 -qadd:-1328010/3161,1029437/61682,=2:-78660262463/194976802 -qadd:-9495731/39366,-5924095/3668,-4200041/90360:-134019132539/72197244 -qadd:8057514/1165,-3725111/9551,964934/671:72617561899/11126915 -qadd:6949552/3251,=1,2473528/7057:13899104/3251 -qadd:-1375009/860,2567011/520,-893444/341:74631239/22360 -qadd:777497/375,3031933/307,218759/18:1375666454/115125 -qadd:3512451/28,-4974729/35,-98751/8:-2336661/140 -qadd:1033229/12,=1,=1:1033229/6 -qadd:8918304,-107206/3,=2:26647706/3 -qadd:3773925/7,-2087107,1743275/6:-10835824/7 -qadd:91004807/59072744843943270902,66857083/90169331108143216589,49327406/40230329853973228555:1105024907262273351275240199/484231808118216434486399701089462490298 -qadd:23684903/30280432954739902140,=1,-97033093/13835661280927216350:23684903/15140216477369951070 -qadd:76895129/1344620316434429450,6943146/540322216560075233,-26842834/4119156804632661773:50884041715523364389289757/726528229807560676143208003430811850 -qadd:-3500080/5785508369822968503,17193686/1077431321752969609,-11569258/210771686269137723:95703118440466862159403338/6233487929911229465420510455923225327 -qadd:64737803/21853152068853546,1344114/484446976408948829,-57693827/360425471050724706:31391406050348051744010931/10586693444761065095093481009197634 -qadd:-30681157/96481087551474991,3533117/67968489447438645,-14011465/246504080723880149:-1744472925183103649335318/6557673781119831941716936724427195 -qadd:10201843/20635577001553626,=1,96155350/58811028695386393:10201843/10317788500776813 -qadd:-1930287/1991695532199008,-21005107/15139766280889058,85232497/42294449858268301:-35529935900150302716751/15076902430091964207158012827232 -qadd:48012711/4771810484651750,562029/68126124683089,-87432667/1413385161729655:5952815810837457145029/325084956041456469467279255750 -qadd:5866387/534388661369540,-74280761/494786664687655,6822321/9629582541211877:-7358437275760743013491/52881676681187080549726205740 -qadd:46722374/986410508713539,=1,21676529/310079888805331:93444748/986410508713539 -qadd:-56303815/448280769982579,=1,57376103/953365009027015:-112607630/448280769982579 -qadd:1417269/10344858882164,-51156177/69004831036706,=1:-215702512068721225557/356922619631147062206355892 -qadd:80037569/9275345057228,18450452/20021432962757,-15521502/12373106437439:1773601130997360284789/185705699269729891757657596 -qadd:6101405/2640485648371,-20543668/306400835399,14230627/825967431997:-52375784929790929233/809047008519944563485029 -qadd:27037665/2725847596723,3212701/7881968418975,3465591/735049950650:221867354952665272198/21485044672309587701018925 -qadd:4834099/48161095106,=1,72181809/308298507595:4834099/24080547553 -qadd:2911944/163084814009,-10109608/403642872445,-7803617/736030226402:-473338099824915392/65828022778751336082005 -qadd:21969634/11650585561,=1,-2791714/5600760747:43939268/11650585561 -qadd:78829897/49012267358,=1,-7604951/47216367175:78829897/24506133679 -qadd:19445492/1297091607,=1,62885411/4219108918:38890984/1297091607 -qadd:52380328/2810974779,49183495/4765727228,-4976759/496257510:387883919349243389/13396339041501582612 -qadd:8745425/897077767,15774302/979761841,20884293/386716906:22719209312471059/878922564516089047 -qadd:-57659740/421464991,=1,43283156/421488827:-115319480/421464991 -qadd:24026071/1736369,39164903/1294124,-6554987/6925344:99097438564011/2247076795756 -qadd:14218249/33339177,82993699/83617031,12153/57562:3955829388244442/2787722996723487 -qadd:87835945/5064396,2236259/32882,73177891/4440892:7106761339027/83263734636 -qadd:64270453/747130,52462151/4978177,54483440/786411:359145737780811/3719345382010 -qadd:77515742/83997,-78232069/771459,=1:17742985902595/21600080541 -qadd:16151167/91103,-68440793/300034,72464239/286942:-1389262325001/27333997502 -qadd:-47905567/27277,-20089455/87101,-96050621/89657:-4720602855302/2375853977 -qadd:-2982404/49995,=1,88907825/1729:-5964808/49995 -qadd:-98481971/1315,80677685/7857,20839038/961:-667681690372/10331955 -qadd:-6211399/6793,57937621/6057,-3438577/359:355947815710/41145201 -qadd:5865679/34,1860899/8,=2:55097999/136 -qadd:23345429/165,50130524/773,=2:26317553077/127545 -qadd:8189395/4,-30602711/48,=2:67670029/48 -qadd:31167001/15,26011293/89,=2:3164032484/1335 -qadd:87715029/8,57210911/3,8398329/2:720832375/24 -qadd:89586337/5,-20657924/5,4144685/2:68928413/5 -qadd:45374053/1934947640595205378,-878342702/35405417199994412197,25786213/6017346122507972907:-93059862349259521226926915/68507628475418090621542740789603195466 -qadd:866238635/23517962979026052651,140081155/7113881091341386771,591317773/7502259793356123703:9456742063465083425960989490/167303992143360186992226567080400879921 -qadd:187264688/2749316430368891609,74030301/204048834975005675,777410733/9632694272612564641:241743864302812512377748709/560994814594413644669245568234881075 -qadd:313283613/6685249134338162957,-295002604/168462092705930067,83793911/3114652596872305375:-1919389489962049170976247957/1126211059431114336488157420891928119 -qadd:622725611/642973530889486819,466130322/105261688931011189,-110468698/89768733490717633:365258608545449316873087197/67680479799363075510639822957017791 -qadd:172273567/735309213392006870,178508035/382275018951483603,=2:197114483889767511301022351/281090343484629926962696208068352610 -qadd:17553367/48463183083977111,292467608/23785726423353699,43459439/32702598236409962:14591430817907573630275021/1152732014440382376433523573183589 -qadd:72973408/18357258425372587,1146729/70850265929795,=2:26220985959472511209283/1300616641179617610304859529665 -qadd:201183991/7736480258952282,409452756/699726655055405,=1:3308496964840732241410547/5413421453498853777223961184210 -qadd:588622837/3660268385543296,96365803/346258205753288,877283956/8025277960045801:69567523696677926868093/158424745469213234294102294656 -qadd:928254321/705783785204222,=1,489283333/807148845748726:928254321/352891892602111 -qadd:152397935/976211791425421,-226290007/366059549380471,533087429/48259007602879:-165120253702526748340562/357351648469091954890550353291 -qadd:459988615/27514620962218,604652543/83262415165680,99455011/26970436598135:27468274284051179676787/1145466896841258418745139120 -qadd:144022423/2685255995458,33922842/6738872265491,=1:1061640226826987556329/18095597153535342866139878 -qadd:501792430/5780638369569,90233731/2388030172166,=1:1719904030652463235319/13804338840911244605216454 -qadd:464061973/6928147630370,-406560643/292003731780,-29850340/7482218860353:-268120432750896392597/202304496239080406215860 -qadd:29675674/18924786675,93377112/3121810099,=1:1859783743715414326/59079590163435630825 -qadd:125587910/783335021243,14748484/85895896271,-115687727/148918581825:22340490117693729222/67285263730130309484853 -qadd:-888517823/89522905525,=1,28721/1399760:-1777035646/89522905525 -qadd:994205969/53771940024,-568804915/41456863842,391201703/96086803818:1771819618833375823/371535999349193035368 -qadd:-84977861/360134264,-218217210/484944491,111762569/4111268304:-119797039864397191/174645127347139624 -qadd:-701405341/632889150,630062610/2192126171,-791346445/5983383139:-1138809214795597811/1387372869056944650 -qadd:-234546662/963657213,=1,=2:-469093324/963657213 -qadd:-452856/2789081,8372197/60736948,-242353549/286862486:-4154355742531/169400267664788 -qadd:-187052767/74234724,166350269/20205255,=2:952168605650019/166659058697180 -qadd:-274903712/23604721,38495599/2095174,-791027856/11974547:332706764236991/49455997716454 -qadd:-404894266/6164955,157832653/6403878,463040423/4614886:-59994899225479/1462208136870 -qadd:-540899545/680681,-21287447/2541780,2338951/144008:-1389337606201507/1730141352180 -qadd:78913331/78528,-590670400/833879,-8890225/542326:19420004369749/65482850112 -qadd:177364406/602109,=1,99001438/992219:354728812/602109 -qadd:518975591/39351,286741895/4956,-6511822/1385:1539513704349/21669284 -qadd:568231946/63665,697042925/7473,688346609/54619:48623635152583/475768545 -qadd:294003077/2932,799278104/9869,102543194/2815:5244999767841/28935908 -qadd:164683586/4895,285199167/5854,=1:2360107634909/28655330 -qadd:384813481/51,67752725/82,334380330/11:35010094417/4182 -qadd:-371677859/928,302076121/569,=2:68841938517/528032 -qadd:63675311/26,781198705/94,76504922/27:6574161391/611 -qadd:305503526/41,-254218383/23,-132508301/80:-3396372605/943 -qadd:642014667/5,421175863/7,-384744890/3:6599981984/35 -qadd:-20761287/2,278595273/5,413571671/8:453384111/10 -qadd:3167550432/27903875703136810681,-4353020263/68180687168471384344,6171494422/98306365101160490945:94499628742560480702887407505/1902505420103480375489882725653115378264 -qadd:-3183422884/37568196826955204211,9427961279/82738779554479999510,3089033603/9902435878598192629:90798980778421373608402959029/3108346755524761642315503554707229936610 -qadd:-5214220143/7727885703296351326,9213475679/2261661519763659362,-7239565223/2154991508915553068:14851971481103269456702367897/4369465431069270378226759286135253503 -qadd:519540517/134490908117547849,304460068/27850900631653987,987127340/519856570607360343:55416782343935509070885011/3745692917842731715413863484123963 -qadd:-3438305188/54619481101719075,-8594462002/390499828982107557,3593936628/135385731106207271:-604027547599991619791064622/7109632676437584813745363082849925 -qadd:-3992299182/540033726318821255,1110234925/68696689237726709,7386509615/931861031447596258:325306567387162498253078837/37098529074815619108104756710399795 -qadd:7394803302/93918095118354223,709650140/69209592401912969,-1612636291/26972979365753121:578440311773013525199364858/6500033082305387937149168159618087 -qadd:-3798450956/49564671078478937,8201952752/84323457683098803,=2:86228571904512932003378956/4179464444262829754322889925412411 -qadd:-9219410394/2493025593271873,=1,6505447590/7492751055706253:-18438820788/2493025593271873 -qadd:4539114361/8367641580192862,-1348803394/4603788574100933,=1:9610819468569602203625185/38522852699063773959572394140246 -qadd:2699722113/384212226724151,-647713391/102207743232507,1954070238/94962673621469:27073100289464582521250/39269464615811789500145176557 -qadd:168180211/23676230652675,-2799553761/104480802434474,2701278780/97731939901727:-48711277171120629966661/2473711577215174081940317950 -qadd:7857451474/65235454327413,2128537376/31498366243961,2221032207/18007954017209:386352987048442714936802/2054810232496045180328002893 -qadd:857071657/98686012424000,2073820807/52588250038741,=2:249729004524185769231837/5189724696679612807318184000 -qadd:2786190922/1961053446085,-4894735831/5462640499350,1754691331/2787361615253:1124224160076048145813/2142505995194760540508950 -qadd:3344367971/2002173783671,2783409797/7740436696732,=2:31459738694869961195559/15497699428361765200663172 -qadd:1886117201/422471806113,-7056920135/27481905959,-158290687/733655902149:-2929515699483111484496/11610330445926347327367 -qadd:5224375095/163575252188,=1,2792946472/109584621039:5224375095/81787626094 -qadd:8503914901/50951147588,5076419507/35985026241,-4565632313/3078383356:564663000383475116257/1833478382963243856708 -qadd:724347429/20249465581,3428823/41714000,2510643935/61823728396:99647261975147163/844686207245834000 -qadd:5343861871/442016043,=1,-5208128746/2708679643:10687723742/442016043 -qadd:9071089245/73007971,5216095151/4614034969,1604438701/1558498304:42235139506867257026/336861331209737899 -qadd:783186604/763828989,49730609/83655528,4913761943/765103417:1045490602777487/645439569459608 -qadd:8924999897/754869543,=1,-9645157610/502961879:17849999794/754869543 -qadd:-7684261227/59813341,=1,-2457478286/10588905:-15368522454/59813341 -qadd:355855462/12114485,2701511099/2628520,=2:6732557777029051/6368633222440 -qadd:3297355561/5434460,=1,=2:3297355561/2717230 -qadd:-992155139/1824719,-5941097341/619600,-1877283138/586285:-11455572523096579/1130595892400 -qadd:7275838099/179284,=1,6914524937/272956:7275838099/89642 -qadd:6041862082/922449,-5732991383/202771,9340070011/437822:-4063277752027745/187045906179 -qadd:-1436667881/18842,1512607713/43240,8383142315/71207:-16810482323047/407364040 -qadd:-118807714/9521,-9807321655/32654,1426332047/6126:-97255056570211/310898734 -qadd:3925687044/7783,=1,-3015747667/6013:7851374088/7783 -qadd:-2562020810/4693,=1,=1:-5124041620/4693 -qadd:3975212101/482,1639405105/322,-1189434281/368:517552889283/38801 -qadd:8766298199/223,-3219733643/528,1656354148/249:3910604846683/117744 -qadd:-1513168265/81,3248422098/35,2306426618/37:210161300663/2835 -qadd:2780622344/31,-2851908379/85,7370056704/83:147943739491/2635 -qadd:-1219272487/5,3254817416/3,6042779700:12616269619/15 -qadd:668084801/8,3276722729/2,8177104324:13774975717/8 -qadd:-28066364019/27142028496153875629,-83994986165/97945022620202828816,74560676951/94359392114426445353:-5028754966732282316332384444289/2658426595013981116986784879127641325264 -qadd:-3000528509/8658875177266760687,=1,3036743401/4590071950395407738:-6001057018/8658875177266760687 -qadd:-19793548593/942761710813665874,86192869057/7249541417045877905,-119695723/4978025286900417400:-62234813623148059219131076847/6834590068948699455368850293669113970 -qadd:92023085779/187292712323684346,26983243077/439795491723853676,-11509377282/6925087095539221979:22762551521651139809665123123/41185245256344513090796650857877948 -qadd:-39019146867/246528590445069470,28418521119/84449846740292087,98982289401/711557146503937079:3710816981145410193486195501/20819301680186352926550356806283890 -qadd:-42497869768/371989720063193939,-8478338149/81277488191100360,=2:-6607974742863148859707195391/30234390079646974039120816492718040 -qadd:88261843372/63085394341751879,-44784460532/26919006654835821,-41422100021/1786615630050841:-449324203944898245335311216/1698196150108560878202120263257659 -qadd:-24150972023/9515359277743228,42712236280/42853813844399797,35309213749/14159032046882283:-628538985474890673067967491/407769435150990797236812341324716 -qadd:5724825303/2203041349747678,27488395054/5646217321045969,59293151082/7082646499343447:92881678727922393840538219/12438850227925830110937189009982 -qadd:14619758075/4936846021982826,-16036864556/2323794990231661,39713546516/8749338469186367:-45198210415282107094702681/11472218053428795611140303453986 -qadd:14605450543/139939857109890,10799789228/278879311148721,-67807143038/835875361732289:1861492982610600772490141/13008776984352189991676650230 -qadd:65048626819/249759029072891,=1,16664913404/344763311872831:130097253638/249759029072891 -qadd:-16329783973/23223035673496,26102319760/44353999342379,7133401053/27271403075635:-118116124652153584810807/1030034508990285641359886984 -qadd:51518424902/90611385027845,21848929639/25416816549026,2259015995/982451260279:3289196130594630243043407/2303052950505897517817628970 -qadd:9823437047/2983803001614,=1,-86833764787/3363958851767:9823437047/1491901500807 -qadd:-98079469262/7501490848143,12931722520/6785167928089,-18159475732/2680006300059:-568478471106008568619958/50898875115673034643188727 -qadd:203196757/744982367287,10110532199/185236774284,56534913639/177096148301:7569807723954107571101/137998130614702004447508 -qadd:18053774608/289402099045,573966551/105073103957,=1:121357250637861762803/1788728049313487965945 -qadd:-87887709416/27708207675,6077181331/13094753558,5647506134/79889599187:-982480093181655186703/362832151038009157650 -qadd:84536683600/44724539921,14048255833/19894148141,62917100482/62400348937:2310087085710674796793/889756622726442436861 -qadd:-30706897551/6897893812,-35459830323/6252261713,31231362485/321173596:-436585704042722426139/43127437381107219956 -qadd:855281852/92743035,59782619892/1409591731,=1:6750019835289018032/130729815243843585 -qadd:-92900956537/439171163,11759229380/445905849,-96227598684/119216995:-36260765454744715973/195828990293832387 -qadd:82493426014/179464353,31442888876/890956139,-20219675248/552201081:79140902042897837174/159894867037013067 -qadd:23749016299/14965184,-98465907028/12423329,85060246231/4151941:-1178518573492073781/185917404377536 -qadd:9492555875/3149752,=1,10314585429/20597380:9492555875/1574876 -qadd:10417790685/234262,=1,28830989839/9136194:10417790685/117131 -qadd:21932976869/2808786,-13004555792/3211065,28289083248/7503535:11300400041688991/3006398139030 -qadd:-66836200744/46967,88530220745/490268,64385021287/164152:-28609651588628977/23026417156 -qadd:-77417153575/956591,18725852581/31923,43130968451/307644:15441594252736646/30537254493 -qadd:97474118123/10596,-23947620716/12055,49384521647/13258:921301504866029/127734780 -qadd:18734763309/24325,21131785949/50033,10659403415/5989:1451387105848622/1217052725 -qadd:-1439500917/9212,-33183518225/4942,-6451501592/4165:-22342898815751/3251836 -qadd:10232528693/1811,2932687043/798,34761925483/737:13476654131887/1445178 -qadd:14228896673/466,=1,-17513625375/892:14228896673/233 -qadd:5540039685/212,-15534067884/379,=2:-1193547350793/80348 -qadd:63449652064/71,828572732/73,=1:4690653264644/5183 -qadd:23839394581/78,18502903317/17,20062169746:1848496166603/1326 -qadd:98566503851/9,36994496837/4,27511550439/2:727216486937/36 -qadd:1606910501/2,-3681246287,65435551585:-5755582073/2 -qadd:750601900272/68617053518286344873,392311613561/52425272355238879732,-189516578487/12053234670522747307:66269776035679860138095215709857/3597267718910163826199560785077521814036 -qadd:728582633219/15054433453572577856,62100633056/55101558283029999661,34066971933/506753729147298419:41080928276086479104683504546695/829522742360026001203093417822576106816 -qadd:-579689114306/6008640125920920437,29545305921/385791954401533340,=2:-46112285663876043987863954563/2318085017474507283487811656942869580 -qadd:85157683276/9984413431548073099,-194463047535/4351994325185158469,110987855747/722945613070544238:-1570993709385158332729520696521/43452110594399688796381640689910925431 -qadd:-333254398312/3739752515251807,-222688186129/229969682138676072,343987180862/318762259733023233:-77471206755319178027151175567/860029697209772394782614685662104 -qadd:228232045087/269100475905208142,29685295504/987729914318359197,296390204576/285221182007931887:233419945485999538709461908707/265798590008880921671259700204981974 -qadd:186728741043/8484893283352760,907466508351/17668153885239362,242986408459/13685130290283387:5499454306559858179393716663/74956200115055216722781241669560 -qadd:167007555005/37196512845456713,32846177456/14691839559620265,643735617275/76387090563153388:525058780720595868923519779/78069314128972040645085253584135 -qadd:-406143410794/7443920130626979,569165220942/6593136079301147,=2:1559061670746557697064613500/49078778384672842351253263844913 -qadd:288899664973/5110051533246567,475174065413/4997103188916189,=1:1290608466212034033663878356/8511818270770826983316411657721 -qadd:285552853103/243786904599060,51739173381/25270326775286,-567539816837/84226741155405:9914673417298061239217159/3080287371376859806273415580 -qadd:750126891973/878577129895100,663130172971/179676426138219,-920208514541/740079136878614:717391123215580915464958187/157859598786325375229570826900 -qadd:318766376313/3618419265449,=1,34811188877/1841753199622:637532752626/3618419265449 -qadd:254236024269/14780919746920,-844586040520/76436593404511,=1:6949177131533900664879059/1129803152840031671306356120 -qadd:706710361987/1301067543579,=1,84203887945/2012418539922:1413420723974/1301067543579 -qadd:195640325029/3728726838817,603560861264/8341120578151,829455171841/8240881232572:3882373123270122662726067/31101760165560405628887367 -qadd:-70222263648/919970997005,-140598797839/277541553572,762482298447/448122269015:-148836412373857769622851/255330179749949459051860 -qadd:183632938397/738585229043,230841150433/35550437411,546670119297/439718525656:177024095248187490795786/26257027957782270927673 -qadd:-284412871457/19847149579,=1,71954251519/4976484407:-568825742914/19847149579 -qadd:80467423648/24677301847,35760826979/13928733407,-87061643423/13617181915:2003290013600243538949/343723558630931702729 -qadd:-271527910651/69743572,727102134527/552678311,235157903923/742370011:-99356886977216080017/38545759576066892 -qadd:594385696266/5016006577,171921164870/1559514399,=2:1789310745599888884124/7822534482310202223 -qadd:-274331202943/376136849,249566712436/202764467,=2:38246616684759927783/76267187706544483 -qadd:-177762749877/158322013,679117341835/140151101,=2:82605579510477149278/22189004434486313 -qadd:438527654989/19442480,=1,473198805899/30758263:438527654989/9721240 -qadd:205749903939/22577983,488255989076/24418833,755328978737/79282170:16048007965058596895/551327996353839 -qadd:-276465269559/4305250,=1,-6551354097/249518:-276465269559/2152625 -qadd:-77677567229/1108443,=1,403947412538/8640625:-155355134458/1108443 -qadd:-26363673381/34468,-404935701883/545635,=2:-28342266697745179/18806947180 -qadd:161513177189/516563,=1,=1:323026354378/516563 -qadd:63971909733/10957,29722925483/27477,-254713864821/72353:2083430258250872/301065489 -qadd:431338979813/33787,-14639411201/2198,=2:453461291380787/74263826 -qadd:604394639929/9703,-130898313877/529,19351109647/68:-950381575026090/5132887 -qadd:-436971275441/1805,-45135172974/143,150879980149/913:-143955879606133/258115 -qadd:133419066709/724,688077199855/411,308833205069/124:553003129112419/297564 -qadd:-752571481496/159,474015196916/845,-32200650919/727:-560554485554476/134355 -qadd:764385897608/49,-511836952661/77,814778276083/89:4825386205061/539 -qadd:320831977021/60,65509179103/10,=1:713887051639/60 -qadd:619010459321/7,670048524077/7,106364585881/3:1289058983398/7 -qadd:-966054954552/7,26919072829/6,=2:-5607896217509/42 -qadd:8601789733890/36226606798446835733,-9517603014260/49701591537140834451,5475796113274/19588834568871216561:82732177780862722364959957691810/1800520013873013869891754119384144237583 -qadd:2152113882697/44696374362534467140,556748656281/15909675605329183742,=2:29562040053204167968772348309257/355552408421137678797712040098560618940 -qadd:405932999909/48559005322063228,3790369457927/3702874233536819343,2557162633138/8338270525184407851:1687175416585403236677748248143/179807889613245206691727609459419204 -qadd:-6087806259569/972879120187377883,=1,7399937003904/6443577898545254653:-12175612519138/972879120187377883 -qadd:9620990949187/730309117665819684,7567489620737/569889108783714498,1735576396811/51095649586994799:1834917437585674959063670400039/69365868700532477556648779567429772 -qadd:8651924819461/863956468553652350,2187645516348/235829108485821557,=2:3930406211611089677582520538577/203746083749566560575560722713708950 -qadd:-4336348697751/46994132323169285,-8481317196881/25836479901410330,-4173835305205/32784713158384997:-102121625719989497206007233583/242832591050356154167841367542810 -qadd:9803783744995/7173215879645536,1461730234625/44252775572438103,-9376571794387/92339718365720632:444329948358750525431287428485/317434712454603074916166940258208 -qadd:1451028299837/7491788861639837,3708310594713/806013004930241,-8365440578715/8478738861000634:28951427689162292314899052498/6038479252673234548881051610717 -qadd:106500181351/1880557932860660,1907360387663/8006540878394810,-2341315210208/8571856456239177:443959976338708048693922589/1505676396363851684553219717460 -qadd:4027452706139/119900758316566,-4327345628086/101821781711479,-7365940733989/364587320094438:-108769612007597347818603095/12208508840350183550358061114 -qadd:6083358310044/255539217667673,=1,390223928059/413168482858447:12166716620088/255539217667673 -qadd:91210522789/5821394937509,=1,-2769366574049/39367880017274:182421045578/5821394937509 -qadd:1597250023359/36013018587610,665933164918/3231381509477,8810376679036/2323736290015:29143587637791868491339223/116371802364454460369779970 -qadd:68049078655/7615630087369,4706208009519/4980776034536,1596034611713/3058679589429:36179676534846948814094591/37931747827058819041375784 -qadd:1937588720533/7799363656349,=1,=1:3875177441066/7799363656349 -qadd:977734823551/117979135196,-1952291322312/890529662717,=2:640372220786512478954915/105063919473737223687532 -qadd:-9025156691504/937177282499,-361352397466/257871708085,-3807710093346/955531800671:-2665983829654588301357374/241671506616475707304415 -qadd:5896871870580/77613420173,-1845035969569/26828471132,8388653136749/65162440481:15004504808501131381123/2082249402567116945836 -qadd:231439434868/1670462139,2207560874293/16523176383,-2335974950174/54347294915:2503920488116666405057/9200446854606821079 -qadd:1929296372726/4735837665,-9028612240726/8555200715,-6233988999387/5091294091:-1050100968196714241828/1620641671109277219 -qadd:-269105387231/230611014,3594113298975/2873349794,-1154532309875/4520020294:13902050835756457559/165656527392757779 -qadd:2346217941151/799817318,-4884282294533/960803076,7966051335112/524910443:-826140075172001171009/384233469686235084 -qadd:4064314284160/311969293,199296652936/441645007,5304117147258/554326453:1857158546391753483368/137779680590770051 -qadd:815037963837/2968034,1418934409295/75864896,-339052747818/1710509:33022107966551620991/112584795367232 -qadd:7244018124286/72201723,6446019776692/10593765,7229442366932/73382069:180718386677888105702/254962695352365 -qadd:922615490114/3707093,59605234097/120775,-4190680399923/6307528:332391031902868371/447724157075 -qadd:-1218581321862/9688639,8211974626650/9377609,7971851835717/1568942:68135478463646641392/90856268284151 -qadd:-7077925805906/637155,=1,-2581658464835/734183:-14155851611812/637155 -qadd:217345331728/72451,-7227574835869/612249,3818947938173/281665:-390575562428408647/44358052299 -qadd:-3974762894203/14013,-1180890047119/1669,166220351784/5539:-23181691500703354/23387697 -qadd:-143792410986/14239,-1333280413059/7621,664497465190/6971:-20080421765671407/108515419 -qadd:5469270207451/9406,=1,=1:5469270207451/4703 -qadd:-393435064451/9103,4634513061154/615,1392205495718/1811:41946009831047497/5598345 -qadd:9578810210563/843,-4536594375665/136,4023125278157/374:-2521630870049027/114648 -qadd:993337628557/102,9593218874931/536,-4264424459806/127:755468647074757/27336 -qadd:547147143651/2,3730254823821/5,=1:10196245365897/10 -qadd:4901257128118/35,=1,5319057215527/23:9802514256236/35 -qadd:-6031845023279/9,=1,-1602500231005/7:-12063690046558/9 -qadd:-3297542082233/2,9743508972017/4,284781600324:3148424807551/4 -qadd:40957392574416/70276993727723336737,-10014910049617/17689665613055704872,-2779499153404/26725645738443989647:20704808283422464958622124875023/1243176519334238965594276156105347482664 -qadd:45844224448349/22079296648506779147,70206864303623/53740308116805165169,=2:4013800930951401093187151667305562/1186548204893097943291939751481539930843 -qadd:27961919364631/8718044862129208525,=1,-8519896737528/6252014363663191811:55923838729262/8718044862129208525 -qadd:-2067336322439/584317644440385925,2723713099539/473511695651648882,73786916799403/8182802497184968644:612605694933716051550733725377/276681238618144405533343878674785850 -qadd:32025894755248/66303294333949585,80751708273853/638681646107513563,-64873077706462/49077538736861797:25808455461998285269484001129629/42346697167557898041297541745721355 -qadd:19660637614444/956621220581308491,9683558119459/148734533812110639,10732473730492/212642830728841369:4062570985946694749593020498695/47427537092644392555022031027378583 -qadd:26463069132061/34590442491713868,1778591564927/1271271116297649,5452080117585/10453906972591852:31721334893010603543531044075/14657943479890240114084276365444 -qadd:26232104044847/79502877559485212,3370125338191/2578727156176402,63787406469289/92688221566095237:23970007227600682942443887999/14644016382629427726576098740516 -qadd:98696102763974/908742099728443,-35107937305612/133127339221267,-19866428041535/3060805116764176:-18764911111759790278837687058/120978417775194877383790397281 -qadd:-37908147551011/7228589226446608,-65775689566867/9504572716351133,=2:-835766185905903522330926482599/68704651939394172248397204806864 -qadd:-18185796452231/303760253880903,=1,18122968385557/178311473629270:-36371592904462/303760253880903 -qadd:14892304197019/46622881145226,-5611369712763/826515187978603,26394608317645/273451712601507:12047097379653626883559665019/38534519373850532904623599278 -qadd:-54139396579777/32007668492293,=1,1733479907912/25396380277249:-108278793159554/32007668492293 -qadd:-63788344296331/37589271154908,50915695251657/90027727110574,49591638223605/35445794413654:-174037989922283184534946429/153821665719064918309036236 -qadd:12071763393847/4649104873226,10020556788045/927371358623,=1:57781627015265173305975851/4311446702664405796927798 -qadd:18238074461897/2396590395463,68187595826700/5705685211381,-78696625586088/9509272732285:267478448989293363689511857/13674190377130981538364403 -qadd:-13345085506196/75622603113,-97672417230952/129165419515,-753859024931/4781291931:-9109966011214978026968516/9767825255906989950195 -qadd:3709838273470/57134914859,-5914995558694/134539418847,35401578919795/686522759833:161166717691666830854944/7686898241002684947573 -qadd:50811177302193/40048826548,32735197100597/82993263421,36780634570867/8850752755:5527991653268441530231409/3323782811400102100708 -qadd:-6542615556879/27016465451,76463178253406/72959925957,45891539817416/380667753:1588416066961789560067903/1971119318924808611607 -qadd:-21080435888478/3413079223,=1,81032696758521/2284760788:-42160871776956/3413079223 -qadd:96607459901/40160793,85203204881021/833797549,-4433713970891/1573415279:3502379337443843592302/33485970769296357 -qadd:16594106768116/498044839,23534220395438/517318473,=2:20305534981917169251350/257647795597010847 -qadd:25304409260441/118009964,72369014966310/788591957,71991883509399/461244341:28495118470309795185877/93061708456259548 -qadd:24936005724654/48277589,=1,=1:49872011449308/48277589 -qadd:24088512125936/40097553,-37235147981069/77180983,-72573429878023/38036452:366136725253403050931/3094768556434599 -qadd:32272280755220/7617329,65546010555974/1144891,-33329793981457/2504062:536233770828451454466/8721011416139 -qadd:95637195200652/7212125,33652777588976/3406657,98881012460311/8766053:568511159059561074364/24569236116125 -qadd:92571834195973/96535,59689565610747/775016,98663660317905/721679:77506784867459672213/74816169560 -qadd:78835501537635/372197,46671694263162/529757,859020873535/3702:59134723377739011609/197173966129 -qadd:20589023961027/22664,-69820834854036/30449,-24367466631311/33338:-955504210542560781/690096136 -qadd:-91531024180004/69325,1402659330981/806,21471287770931/22199:23465352631174601/55875950 -qadd:48834248870857/7428,16091745523789/5821,=2:403793648427963289/43238388 -qadd:89161018973989/1000,48863562276307/5136,=2:63349319465839313/642000 -qadd:67440349641709/582,-25644394065531/125,72123784494178/345:-6494993640925417/72750 -qadd:98894870521648/469,29922116846031,14386819758147/956:14132367671310187/469 -qadd:-51033784779973/2,=1,-595583264213/3:-51033784779973 -qadd:16012808775283/25,6902989657994/65,=2:242681462368649/325 -qadd:68123975569655/6,14855844433571/3,3396209893164:32611888145599/2 -qadd:31826754876396,-5624708171537,22269353475089/2:26202046704859 -qadd:989539922242669/82345437022131993998,-129844086283131/1228275122105070002,264019311827057/25912304890942474571:-2369160190225845180087828586083100/25285712928288631715150750102408461999 -qadd:458886340685990/45233073912526242751,-178745004976918/2119200954833746507,13324270929603/4608288006661132729:-7112713650273889105018361873484488/95857973425491043563396362893480320757 -qadd:412133102761216/1699197444312646113,134603450929112/552586191322068273,374607145779807/1505793782999860840:152152300462325569979931157947208/312984348018972438363137729558024283 -qadd:996107656472793/1538223134855538644,744500995880956/9784839986634291135,-657762555721801/3044920577968213070:10891962683834633525215962650253719/15051267238300426155470196651539120940 -qadd:735500231252758/172429147160677843,157779442625545/116184147677115296,167157993204247/685504231666635064:112659242215832711691135511285803/20033533497555240149484858223586528 -qadd:-809798210635595/265681969632351751,315376974249563/452100583295838976,-147441203225015/637765515904619836:-282320267684963796331611659915907/120114973441973604125868871487646976 -qadd:197530115746410/16154772056586701,805221852820256/61863667133511779,=2:25228112816673602730686944978846/999393441126437183906946118251079 -qadd:411518791826609/66555460731929013,73839516309311/29351284060524212,-941248859041399/40678192937974455:16993027983335510295184953297151/1953488233721913143499638751762756 -qadd:-44838693896353/4828879954536720,-214608302698603/905841390888158,945153758378794/1752566248144451:-538467237911556730436461644967/2187099667224743806751112080880 -qadd:159386221465363/4011294024192533,=1,-762687138435905/9496408082934519:318772442930726/4011294024192533 -qadd:282181219877794/834796594900371,-521732855952853/336927589199157,-509894079886271/627419469371216:-37829574829598341107104487645/31251778243494142409565798583 -qadd:-168247676776493/775628684714855,673499386955615/114978736437813,502043901819392/813501396039933:503040538376286093357421431016/89180806113436869664344812115 -qadd:-201804504690605/26153756292047,85735155596543/849483132120,546053722691518/68002507655451:2070866842412214685073860921/22217174811671243006249640 -qadd:-578160618834941/32832087076522,-257251067168429/84222664665342,-767269979542346/64606844680255:-14285079340160980125721709690/691301465027305293568825131 -qadd:682356166873497/9733351318990,138039263801749/4525351638292,=1:2215743124028395589742030317/22023418668731497795382540 -qadd:58719414801037/9289988230905,841010929365368/3284665753905,-902973183034592/8703989774549:11860526350745264583518663/45206675846272813400643 -qadd:446558621707731/443226736633,57828945916797/134385109829,-908538462064135/423200304851:85642164404908478623312500/59563073681574962665757 -qadd:-85597540319717/430995215447,152252722498749/811556745487,26984142839919/361403086885:-3847066307821160533891376/349777074368635709937689 -qadd:518235731671330/34633881143,=1,-927979812597974/20035419799:1036471463342660/34633881143 -qadd:23532022732187/25812132498,=1,=1:23532022732187/12906066249 -qadd:384857284291123/2633874476,313185874888348/8412878237,14688795975121/1210141392:4062649753475859805995799/22158465258130178812 -qadd:350680888140817/7696173335,-273757008800698/308695203,41351671290449/282932970:-1998627883448442480586979/2375771789971012005 -qadd:177593161287595/783161477,675923932791229/349011889,38454414011850/16453799:591339710238892839502188/273332666479800053 -qadd:-214254215144366/468801353,642094736898653/672467862,622095989308793/572560927:156935807429647724912017/315253843554617286 -qadd:396292476888376/40820787,78144967762423/8506238,572072869094153/34215214:6560897210173761576389/347231329569306 -qadd:-990761108038976/66972235,199957304336881/31214504,391113668586297/44776622:-17534528993910935008869/2090505097296440 -qadd:129684204888411/435077,76593779471978/829233,794637299697182/2210281:140862614063561491069/360780205941 -qadd:-316924088772521/8106207,321543746152208/2861707,=1:1699556282556306801709/23197589315349 -qadd:-273436429936583/946788,=1,209148812266786/332615:-273436429936583/473394 -qadd:-11329905072416/21011,546335249793749/483215,211883734808434/150249:6004269853848962799/10152830365 -qadd:516486908449729/1259,=1,278592054186065/36029:1032973816899458/1259 -qadd:675867112050751/79570,32097018416251/18680,522495180002645/78606:303583148169782415/29727352 -qadd:329176312670383/3138,479733224022673/9258,713130808296677/5238:379409763307129474/2420967 -qadd:-590917948306039/2612,816884550900490/4193,586769063997713/7174:-344016510295141647/10952116 -qadd:30172372558544/23,306945914193323/126,=1:10861474968822973/2898 -qadd:508708694453393/132,994695576147517/309,369736266501912/373:96163600879190227/13596 -qadd:140754426286115/21,=1,936716007464871/86:281508852572230/21 -qadd:851135198263564/93,-329349905996065/59,=1:19587435439916231/5487 -qadd:869963899450784/9,129438400763333/3,509437343941782:1258279101740783/9 -qadd:154547978608621/5,-497290343697757,216897795092209/9:-2331903739880164/5 -qadd:9731985466163977/5512338322751860171,556192589204029/57909174483790815689,-2632702504578039/18742877028358340228:566637166158105995162688554656064112/319214961745924282983965333270161022819 -qadd:649650388871168/3992465323969551173,=1,3565435999230529/84697466077371826772:1299300777742336/3992465323969551173 -qadd:605861655156859/2232205883730936795,690635835332709/557617629319401191,126519874372049/3918127150315881558:1879480514989199709022928131546724/1244717353038863867397627790868722845 -qadd:-942787630105114/2000750159815160879,6984110317895009/2298603201956044128,-1258842818920025/4276881172498189494:11806365169370987723241751703682319/4598930723665195806685719802743268512 -qadd:7833433836634319/173628534804912798,-279606913169869/51244112549651791,=2:352869626519730853604034544331867/8897440179374084695171531019521218 -qadd:7799997395732343/425865243834023704,9146433465939454/231677503759473387,1415892823490823/620146895568068431:5702232044157642641957254148473357/98663396629386077325737960315165448 -qadd:1103157747790413/55167635654497700,-8423319298239707/88661359798471577,=2:-366887144055470035037200946582599/4891237593994409584782505661872900 -qadd:-500322660362609/4271749116788519,263022279423891/3828812275602968,=2:-792076353933982410819593516083/16355725456656018147722464724392 -qadd:256405572619155/2602216073605499,2786963243737596/3122526924111005,7018660290695751/8853212585895845:8052913853397103348918187941179/8125489752187595377205654416495 -qadd:-4368184742676481/4675799278313048,9534128992433354/6253368044316277,=2:17263806580640358427509035221755/29239493788639924359785127882296 -qadd:2104015488715397/853633108483362,2250989455424197/214830172967862,1713791260754447/4504214438916:197793761447068078680364356794/15282179028881197103432309337 -qadd:2995889241927464/698314621089197,1530024756319507/462119541131685,6069020753402648/565006088361631:2452897619727218797598520162719/322704832263286198576707906945 -qadd:5394634397912672/14716326174237,-5034418169062420/75667401230663,-5368809838944386/37114054397355:334109825606166663739353787996/1113546157267298892365029131 -qadd:1863023478221507/7872199669441,183894543875548/37986075021761,94003419602892/2702656613089:72216604178533377861245942495/299033967229667971081705601 -qadd:-8112425603423209/3805513596434,-3425559927153486/4012067294371,9145612321513257/132453047192:-45583612319694234728476725463/15267976638537011973873014 -qadd:213689004449671/1644968610003,=1,1668412523740720/2790599079591:427378008899342/1644968610003 -qadd:6951530900384110/628329527679,=1,-5187804123446287/513799284482:13903061800768220/628329527679 -qadd:134541450167501/70194339817,=1,=1:269082900335002/70194339817 -qadd:1098519078141892/19462539993,1327840931140871/19058669129,=1:46779468868871976696405971/370930110136516976097 -qadd:393599031927369/19486752872,1205956039337142/5742832021,5417998674508339/69422174015:25760540437045892884254573/111909148378635314312 -qadd:-2774295194854405/200465239,-6897371711869624/4786302327,71942449286325/102497912:-14661298815608340389700571/959487239908311153 -qadd:-2018443788406565/3597931718,-2000020310248678/3595186621,784424627043279/3431202205:-14452618614207756440335669/12935235975825144878 -qadd:-1405824660836226/850566097,-4116287804839619/468886657,4256120357736763/794325993:-4160347277838789277433525/398819093779867729 -qadd:-2568463849296119/68653552,170163282864808/124349217,4853614637538325/536394242:-307704154764128593790807/8537015435468784 -qadd:5570716669286833/56389954,5139391070061720/86846191,321475980040349/37564864:773605549896559300463983/4897252715565214 -qadd:3347504025095300/41242589,8372336127620525/73791909,=1:592315530278270954466925/3043369374412401 -qadd:4075983457906123/7454814,1012312766726638/2012887,=1:15751097500406757342433/15005698188018 -qadd:615527827347805/803633,=1,-6945777364445267/2690675:1231055654695610/803633 -qadd:4703769450007771/437089,-8646742616442323/773872,7633024022889843/470014:-139280611661744758435/338250938608 -qadd:-1157040382968040/87421,=1,778971535469672/273235:-2314080765936080/87421 -qadd:7393810122090184/81127,-64368795434817/4927,501992012340776/76641:31207255204297937809/399712729 -qadd:1814818937088177/50093,4023822663774357/24016,=2:245150040289558524033/1203033488 -qadd:9908501657883705/3803,-5660305521631728/9565,2557272552018733/7891:73248676458892176741/36375695 -qadd:1377747830693440/3541,1463897897659346/1125,3757698108232021/785:6733628765141864186/3983625 -qadd:3772470251348881/322,-7016532949646302/455,388436705580099/410:-77549949346052627/20930 -qadd:334577361872867/32,=1,-5943062864162214/29:334577361872867/16 -qadd:2891305771316359/53,3527889195345726/85,-3763343617650326/27:432739117915213993/4505 -qadd:157402323585140/13,13773830296553/77,3582569222451484/75:12299038709910969/1001 -qadd:-3257588133523091/3,6604850595588048/5,=2:3526611119148689/15 -qadd:109197760602583,=1,4169449356780290/3:218395521205166 -qadd:-3861717767275060/7825274794195216053,16565852262776959/88858046256514809458,1031551014323301/4042869958710944726:-11237492096729581651889648474747087/36596769980659890200362549910023043646 -qadd:23543644363949797/98639149864308555901,55730679379575088/70634154829730489785,48139816814712375/1330063664360761159:7160212256620979254852952806236317933/6967292983788559769917597132102781971285 -qadd:41977719284209529/3751208484710673761,33643459441010377/4194025619262446095,=1:302259260626319542881502707310457152/15732664488071225574728266592393413295 -qadd:-1144293144120949/1098190461076821110,-2402308164750526/582336022019013435,-25203695452988903/938005039894823361:-132182201146680605942090063054147/25580634580908088582093143527264514 -qadd:8034042612751913/97483447149280005,=1,2973340210414523/29561736054695294:16068085225503826/97483447149280005 -qadd:60674693832444605/936779720392078057,21951623942977712/65677242692581337,9097858504748373/818881964501261360:24548782731586239427877568624602469/61525109045678996656110378925422209 -qadd:1302350266814895/5681021273569801,-6236914506844097/7270414939487546,94223237947234379/79008878766068900:-25963417158520815055488814517027/41303381938908446247501001198346 -qadd:-11497844255386016/8204893553520709,7432210588726085/14197957440789783,-6910737086418109/19876126699691764:-102265406650952939625835597880263/116492729479097473986005206116147 -qadd:83714996362880378/8618647846387783,=1,7515078968456230/3062009508291991:167429992725760756/8618647846387783 -qadd:62679487423356388/9001151280591673,56594267794644456/5882920271561917,1634168066276183/300039595214940:878151993207885545835175648690684/52953055335988261889639614117141 -qadd:83131003631837727/747131006183503,=1,17129603086958644/379709519880211:166262007263675454/747131006183503 -qadd:12501751630346081/788796894918041,-21129992690880754/254284308858567,-57956809836544559/534410517601146:-13488273351363624099898642556987/200578673254017756079725707247 -qadd:14059107156579494/6975563866089,37801476305972056/48622905291735,=2:315760415988492217755116230358/113057393739098097672824805 -qadd:23369025294115791/55396441570853,15495067710884335/11665951387764,-3995320971632302/75709901608329:1130993526142997139892946869079/646252194420679895483242692 -qadd:23916091038454111/4545952132054,4689829346138151/3614025441053,-85746958882796523/8521123688083:107753101178558963579755411037/16429186659052283048812862 -qadd:36133728528919771/1785997287207,85398862837628707/8358840780430,-11562670053745837/5200206297232:64936888705012721610457704697/2132695279720460390708430 -qadd:2214561180442189/33997391434,36979053972484369/162888179275,91720233502172759/335502577054:1617917211336886663944928121/5537773190783741330350 -qadd:77386819146397237/20397632304,-5108066159735617/907423591944,32886890778350867/330998714751:973867124217134726941645655/257073510728453452208 -qadd:61459176891343089/21824932076,2685806673289617/2388630617,=2:205420819832094399137810805/52131700970678970892 -qadd:17677723892339211/42474225106,61979558493207868/9941645861,=2:2808279389977180084128489679/422263704224247186266 -qadd:-69708713419564832/6145206843,80609591382825001/4848452972,-78928998060128503/231637472:157383193823784636159601139/29794746381498087396 -qadd:88237221032149171/9534767920,-44968975337449001/556184382,12982666497195442/788160233:-189846289596808310283200299/2651544501549312720 -qadd:-38677387896784223/788948329,9340381978275373/50293174,=2:5423870154623606862407915/39678715587406246 -qadd:26537170671851227/590770266,18034613855208113/484568177,28604184788975171/455924538:23513382039645396684971237/286268470821425082 -qadd:9355751715852854/52744199,-484818910468440/5805289,-50172393950328279/68610859:28741457430061116365246/306195318268511 -qadd:36415297589875947/29546624,-56431669004414295/28023964,31517851668463121/32802117:-161716079264478302849043/207003381824384 -qadd:22971653327178907/4250474,=1,=2:22971653327178907/2125237 -qadd:12746116741017752/5218893,725501139000903/48970,-48129279516836173/1863661:4410490152631478975819/255569190210 -qadd:-88067684618536709/385212,73238199971779517/895372,39724956709082291/929816:-3165069089046207431759/21556752429 -qadd:49757444137808553/108115,26265082097157139/107499,=1:1169789262614917960276/1660322055 -qadd:10749049993334979/14455,11334875189797027/234,77927344912508075/2392:166360898566956410371/3382470 -qadd:1195996993464494/4213,45875551157589131/5270,69424135139802925/44053:199576601182480892283/22202510 -qadd:3520647688460679/2036,2261968838807066/381,34281322264491172/471:5946735325114705075/775716 -qadd:83644190506134287/6033,55464798606172681/8524,67985855300849238/2989:1047602209865328446861/51425292 -qadd:-8698786374318557/422,=1,=2:-8698786374318557/211 -qadd:1118529795834147/2,64597983578878272/755,=1:973685963012537529/1510 -qadd:33377257316975885/26,-40430802589313980/13,97778637401253684/49:-47484347861652075/26 -qadd:82705834958465143/99,24938695531635533/58,-74579422882928086/77:7265869285222896061/5742 -qadd:-32270725150155926/3,=1,-3544924711445815/6:-64541450300311852/3 -qadd:60911268114686151/5,80821489004159773/3,4534056378518212/3:586841249364857318/15 -qadd:-969085346219845449/53998644227029731584,1246624309530693/107133612642748177,-772081460522893303/64669378244722644671:-36505591524565947914216726766988761/5785069833852173313379335508415322368 -qadd:276516649995371231/15574713369274151317,906182816129897588/83697559064365646467,750261136246505381/40984550246015537241:37257306266652922286275605079793914273/1303565492135388561581093647071484447039 -qadd:-140672089095897969/179764890360901598,555145526681662554/1124929648758424561,5984750631146458/28478509146741215:-58450529038488266189701503004255317/202222854972785735655957430027348478 -qadd:-91743425611973129/1107094290508801764,399222195217559278/8079799590284695019,-114641110490499569/4406882677696803466:-299291879701184741517973742167178059/8945099994859541614229671597869213516 -qadd:787379889340800499/956625527086654593,-285703704338782123/459459292066701282,=1:29485849930128206284237638735099593/146510162482723096999644580814762742 -qadd:70749404862883911/495750154649066152,102340090236266554/158445453266377071,27037741921079909/605403590162096:61945037083254592502710474876284889/78549357960247816623822130455000792 -qadd:424824527328220007/23301022216991169,=1,67711743764689990/11333924060290899:849649054656440014/23301022216991169 -qadd:-6663229010931365/88920552753855031,134776639101635638/5309079009270841,366231415498310197/74626301054129981:11949037637948372264801755088366813/472086240118252220339551129451071 -qadd:-32510210684122177/1231828288285445,76160397879785044/676677566334687,-672775726216560223/5675307994591383:71817602308634310869101932830981/833550568259218150148260730715 -qadd:-268284492174317874/5274188879184443,649062356676662391/7205197273636408,231369253089740151/660306726485266:1490234771907975806226632438826621/38001571332943211163847952000744 -qadd:582099480882485529/700067254239488,989829037297761831/930885508478467,561464185181264678/686338297243911:1234814867553904104143762394986571/651682461931850019474109104896 -qadd:184995254328058087/463884296042206,313384341252881473/372141661203466,996350678876136763/997053196652451:53554628948286149849685574294745/43157668133836737280672371499 -qadd:8377174919585897/71232491917440,535206177263043113/25679501875292,746828700553904237/1616624309526:9584797843777708399725583136911/457303727443905678209973120 -qadd:-996273291922997387/44830395380570,-634598527946819886/29124087104801,366443615185294376/48189152110425:-57464853049935846730538932170007/1305644340006389055869116570 -qadd:10766817872037711/8299561973528,60868128026713114/266071146523,-227636182703270761/704789537906:10368235517264478808183285205/45066815712965051739656 -qadd:-61525671534270701/3970810675288,-811892456616177891/5068701282778,-89068223096904603/546438576974:-1767863242073427178167323472493/10063426581750431012295032 -qadd:550334687546784844/502931729895,-860005583438026402/162375660659,358668116551573116/644883640627:-343163137323871850866714435594/81663871908074365700805 -qadd:260849523709491673/297757912904,692166926358108721/802149515516,-997204026651783755/55271345816:103834624609928804772316783513/59711591394249731154616 -qadd:505448870437825193/71845789337,=1,=2:1010897740875650386/71845789337 -qadd:159638929481820528/13739032115,=1,507310009865603761/12553274018:319277858963641056/13739032115 -qadd:-133426952279941451/1589703572,217840769690702699/4142491527,735044017796589411/3007360763:-206417769588551377033244849/6585333577451634444 -qadd:-101118601209663559/3745310451,885199546740371601/9397717537,-459446735274124418/3192681599:2365063061722212098564767868/35197369706872079187 -qadd:-12152036723542051/235562910,891926788712621059/872286523,697897009879673835/130239658:199504811995153362474243017/205478351711661930 -qadd:400891792612792759/54587710,697440729090382751/929044415,-386357311385415463/638053959:82103594641605549540396239/10142881420627930 -qadd:167013298876326173/1918052,47488502066189029/1167594,759419503750021473/53966266:143044571026631590544635/1119753003444 -qadd:676855379766713425/63269998,=1,-714573170617706497/94972518:676855379766713425/31634999 -qadd:409288543596204392/5585379,130886150841077932/843311,-107608169043445049/3162805:1076206289287247740778140/4710211549869 -qadd:691213642440502645/22737,=1,=1:1382427284881005290/22737 -qadd:960631875359803053/230030,228919423015609883/333487,37946707333060033/44234:373016577094395382122301/76712014610 -qadd:251068611473963959/515543,94841287315376536/22327,-479143444821261102/650503:54500370674810358811641/11510528561 -qadd:-108350199223779473/51984,111736989262785999/14705,=2:4215245970250990221551/764424720 -qadd:88108619904503621/81260,154844354458466755/2207,=1:12777107967424248002847/179340820 -qadd:-486724060444092739/5751,-246250309508757077/2993,449147573438373443/1564:-2872950642894031517654/17212743 -qadd:-850389260078463631/6276,-954710858838119571/8792,340877365239969027/584:-3367096931169472667837/13794648 -qadd:219904330718240359/222,757977245624505558/967,175510199184903827/581:380918436333178661029/214674 -qadd:318243239218041752/59,767069919224699682/347,=1:155687529242917769182/20473 -qadd:697074341020289390/53,106833670515931911/11,44958754351960065/23:13330002288567574573/583 -qadd:516501254786898965/6,-164729804637666233/6,=1:58628575024872122 -qadd:82963845478413593/7,55644033089135156,233198647629741003:472472077102359685/7 -qadd:164451756488343692,271265725719237343/8,=2:1586879777625986879/8 -qadd:5043821125454793265/5618281832502940151,=1,-543884583593009413/8012420875585043886:10087642250909586530/5618281832502940151 -qadd:1764906175362120158/31402243297654667473,2229661152827134119/6508891977220041701,1894248816526157489/7307308465166355047:81503945637767463543703614619050520045/204393809466816291062044346462348291573 -qadd:-1362907275103916799/4719984305032890358,5677647195374925883/7969616636801670538,-8231092261190079885/5235441156455608811:3984139289399363012151226105338442063/9404116360708223470362017252248218151 -qadd:290807472633374281/1258837033388879519,1699792368148991135/4469792775816725417,=2:3439610722427910580290181520680864242/5626740677772171640401250773318034423 -qadd:-9803615938594182209/179436612901884445,632531485773805909/24631423728192118,1107916995642111584/51994977769890891:-127977710890922943063734246473443157/4419779244737900457684595195804510 -qadd:212099052410103851/14112064685928255,-1546460633714174323/543797344189345181,1466382576090755442/798177433526983523:93515148908475176743400909755195666/7674103297236030685795513595989155 -qadd:2231031722816738561/15236183051646264,2143589106723393457/20940609306247892,=2:19844819918725746241023330019364515/79763739150750040606892869918872 -qadd:-9575590803372574182/19535794897504279,=1,8043316090192509079/21730235406706349:-19151181606745148364/19535794897504279 -qadd:5016235407304247978/3059319382797913,=1,1013119725862020638/1523223220476823:10032470814608495956/3059319382797913 -qadd:2894078389438839283/1569075282041943,-2665448726814208207/4452815285777552,1242049344845007051/681162286716620:8704506777937400951911781308349015/6986802400412087425201031863536 -qadd:-2761359171647944304/524718540633809,640460627361693124/51241877637449,24526182054440865/932662203109421:194564336936009885784577260588820/26887563253258451827973913241 -qadd:4377034106342870447/284491641803297,367444739727332559/187288898129576,4771977529029312743/237034833694131:924304852129543576890267568687495/53282126120413516875010012072 -qadd:-1084950831949751089/12896572149034,1068560037854748158/52652358693733,3302405312908713775/34972953328882:-43344458745114066006755621245865/679034942710545208837803922 -qadd:908971092109438313/2042877065884,=1,=1:908971092109438313/1021438532942 -qadd:7969199262095318650/6376127197957,=1,903887938076097336/594071493169:15938398524190637300/6376127197957 -qadd:4839349064327340004/3805686625309,4317900645018438773/5983979445459,-689687038324621568/7626332987577:45391142064495823172086675547693/22773150541707282934521831 -qadd:-1660640044482828405/123686665162,1468015760631904370/154714309067,=1:-75350803253335844678902090195/19136096941340209623854 -qadd:3359844750012921/70716653,290023334833820440/24901328071,446648123840546873/44205337621:104174075919044820029792711/1760938576436066363 -qadd:-8524152918701542873/27483319743,572629374273579433/1843500145,345801513474448186/34748134655:23479045766334416148429134/50665503931301862735 -qadd:461532154960869496/88629445599,-3067104818016109135/42934967742,-5658191264987110039/23622515075:-84006643809882954201032549611/1268434129261469622486 -qadd:2107778483720627369/79151569,4539993449270881832/8042518085,=1:353289677127684406239691077/12991386227318885 -qadd:-5200199645684863958/1508061869,1037044821661150583/89359314,574740187726215359/551649888:1099241478989643929419214815/134759374083397866 -qadd:6429669718772297/246412472,7129345785374382275/462920354,2455561683986174279/1566173:879868071849600067014183469/57034674384127544 -qadd:1738227802075055570/327533141,=1,2601403037612548877/229872139:3476455604150111140/327533141 -qadd:3436599097095658763/14598030,=1,958841139244535864/69388675:3436599097095658763/7299015 -qadd:6575572376501646299/89845794,1883123242302019558/2079573,=1:60955028559399331030329793/62280295788654 -qadd:8246990382353771761/1153985,7360354913817962691/3109420,528293916457716807/6436589:6827419199984137333012451/717644807740 -qadd:5939937149370464031/3123809,3641790392665278283/8453885,588122952232762701/1541615:61591803172727055602650382/26408322047965 -qadd:270376064542116947/102161,=1,=2:540752129084233894/102161 -qadd:131163854733041727/323971,3502368174871763808/31573,108739692256458838/855:1138806956366866519088139/10228736383 -qadd:2295686487125757632/9399,5192247177653340310/74391,7756262792928856511/14718:73193448228845327191934/233067003 -qadd:-1157668445283763977/98255,-6862870187854810458/92423,=1:-781306501026135719597061/9081021865 -qadd:331518036234256523/2056,815887256529953349/482,196168905129502546/4049:918627946445247864815/495496 -qadd:-2035788783736026328/8319,8303222045592699428/9011,-1864379673211519106/1401:50730011467040333299924/74962509 -qadd:2843403596885438497/227,3405071238014843037/907,410871865808099072/31:3351918233404462086178/205889 -qadd:6888377466446373262/559,-4233882656695844123/346,=1:16638198297468283895/193414 -qadd:-8544001908785450503/61,538024038063863901/19,-359823220116074567/8:-129516569945027861596/1159 -qadd:-2873163532076118107/33,599376533960103224/29,603524459540653533/83:-63542316809524018711/957 -qadd:1063922232492764301/2,6854581919241901325/6,6969845457837372101/4:5023174308360097114/3 -qadd:2352628464632327696,=1,-2926879886747018505/4:4705256929264655392 -qadd:38750299973229623063/36181224711595653198,95066204533556190887/4815411929001685731,8874164143102558897/10732317260440182753:402912262827843733479506682549361735631/19358611231345364982923389088229013082 -qadd:48742220039338674056/67138210285692216649,31818042798992490898/21353165712067248083,5900286084455262748/49045932502167224591:3177007149991956505876862526845604395450/1433613329842003680672466022985665933867 -qadd:87217932340221331903/2665309420727136089,1273107818123651579/33738995536126310,55551725128033095975/2650789751926588423:6335871691143231965413514248993402461/89924862648308245613767543263401590 -qadd:-54380689308824351360/1703471436980462073,=1,-72316980450522981244/8351933107679217397:-108761378617648702720/1703471436980462073 -qadd:37029624832139894565/54555708192540067,111936754529639081/4842509306811346,47780458168088681783/99817190816504869:185423091793508942579252306927292917/264186524662059269844548115200182 -qadd:-22582885555171871569/276061047279571597,37882169208497878632/62669917022723249,38915003092334150861/133381815208219710:9042523741043587572300262155802007623/17300722926216831696081927011958653 -qadd:33158690128759394124/27845156068309087,20040091306620091462/93471893000203813,-2800433644018142872/303526659689803:3657425005798313102460083146020310006/2602739448590962875785441279948731 -qadd:3197839850448851481/15625985746620581,=1,1644265406502320897/6242254024865644:6395679700897702962/15625985746620581 -qadd:1923674921668264769/66091808607807,47645418789767983519/2547180528667403,-94362350068612539221/364341393607160:8048919203651352698528804054357740/168347767990218650522372215221 -qadd:63079152525440745698/2231593339592783,3556320317878822237/3926878376870658,-99040920722967906187/1600307564553594:255640420818316291470533856441044855/8763195631215478802223581261214 -qadd:3155815575082653608/30192877351261,11795128154822010181/20651109856531,31816014676979512957/70387620365646:421299951848929855087786504702089/623516427065657629001935591 -qadd:23991887334900651603/96699483325270,3750668873805896041/943821328748345,=2:33586485731135365147071981775333/133236547213627390084100990 -qadd:2309692393299313895/92991584939154,13505703402565112683/18557182710305,94620445875012570863/90668308130179:1298778148869711868710408754878157/1725661832236727444233781970 -qadd:57594369573165928157/93091121490986,-8216395801314141034/4528867987769,-26450061693998675351/44029529374639:-504036203122513874440040155007791/421597400066041276891750234 -qadd:24542791235970972879/2344787306732,-64933302597803670427/4342923289956,=1:-5708415507036463291655594663905/1272903925549950743347974 -qadd:-172272128642878525/1253023290162,-56946438418624682181/1249572807253,19174037020580911223/8107587302833:-71570480197712551233049111945147/1565743830241120717144986 -qadd:3028920190202346838/805608849389,40089795752860144393/372471218723,15183822811879905592/111683851673:33424879823361049021005735273751/300066109945954583910247 -qadd:76500387765072442325/775493963262,122900265147567688/16725267965,50834815414479646533/248262732319:1374797898502481981169162896881/12970344340796815501830 -qadd:59590674910838495728/13005850369,86406272304132657397/74890842311,37835029633787556154/89471413727:5586582886484287970785818176901/974019089105240162759 -qadd:-1540621953597844070/6475929139,-8097002238368386377/33525625058,4994696033629226613/9124261493:-104085926706442851563193645463/217109572216290765062 -qadd:1020455924950028825/71307089,-15027123384295411453/4869731824,32588900069283614833/4623109762:3897806268140576872049136483/347246400580100336 -qadd:98927709935781735893/4858671845,14545842510003768295/485475574,36811564317330662262/7963827409:118700462230738581230190731857/2358766502829014030 -qadd:7968100306775934624/24002777,40497155380044030991/145085209,58654545110130593822/33483457:2128097688063097717151438423/3482447917625393 -qadd:-23611980270981239714/420152229,95487639446075722616/816419473,-5579567954544211437/617972198:20842064065896139239707560342/343020461379955317 -qadd:-41034887738055776999/13333375,84899158825411622388/47895653,30327216586322045860/36885673:-833400422192101699131885847/638610702318875 -qadd:24656093429908250495/27564561,2208448163081784406/5010537,=2:61471724170872663319500527/46037750926419 -qadd:2133095351837200006/1310507,=1,-21206650272439533589/973111:4266190703674400012/1310507 -qadd:19180784354554459582/1180789,47269383367680368601/863423,81472957723316044010/8522997:72376298287102409915675375/1019520380747 -qadd:57138477662354817611/225222,46133836132900735393/499504,97630303852343664772/247381:19465626493890525121323595/56249644944 -qadd:29853842167305129575/324248,24424888107355543894/33291,-23582416174010240026/335387:8913585378625575465223037/10794540168 -qadd:-420456923149560733/537,72302352874036923083/70362,23736761268395718034/5245:3080724488902811800075/12594798 -qadd:539720131536363641/89712,-47388649478839966234/1133,4570686076693373255/1613:-4250719019136660350779355/101643696 -qadd:-35074948988121263785/1743,46439113742337125259/3968,66374900563777261496/1307:-58234022331971565372443/6916224 -qadd:-28803141465771759543/4526,54869054724564777023/3954,1798941140485680569/657:33612430081929660893269/4473951 -qadd:725551877269445969/431,=1,32744674741853348893/693:1451103754538891938/431 -qadd:91879409948684343784/517,-92515200339135325921/86,41625165280534848151/424:-39928729319746109935733/44462 -qadd:-29166863008492740086/27,-62979221821453932179/87,14020736369187295840/17:-1412652023639374852105/783 -qadd:68001809592817590555/61,-7705962877958413589/4,38853502652707551384/11:-198056497184192866709/244 -qadd:-79744407268013845618/3,-17168463782676239957/9,40182413433838316451/2:-256401685586717776811/9 -qadd:-61204110018146728334/3,-31052192278051565633/2,=1:-215564796870448153567/6 diff --git a/polly/lib/External/isl/imath/tests/qaddz.t b/polly/lib/External/isl/imath/tests/qaddz.t deleted file mode 100644 index 584ffcc5ebf..00000000000 --- a/polly/lib/External/isl/imath/tests/qaddz.t +++ /dev/null @@ -1,800 +0,0 @@ -qaddz:1/54620799347511326707,-4,5/50425624798430340799:-218483197390045306827/54620799347511326707 -qaddz:1/212138780821487407,-4,-1/2172160838694653181:-848555123285949627/212138780821487407 -qaddz:-8/2596450420794466343,3,-5/33209689038794936:7789351262383399021/2596450420794466343 -qaddz:0,0,1/7506665947113966172:0 -qaddz:3/301921530103952791,6,=1:1811529180623716749/301921530103952791 -qaddz:1/47796551294919635,0,9/408623107847915846:1/47796551294919635 -qaddz:0,-7,3/44304529385671853:-7 -qaddz:-6/59168527940606359,-7,0:-414179695584244519/59168527940606359 -qaddz:0,3,-1/1803043485158662:3 -qaddz:4/805996063056383,9,4/4602479413908539:7253964567507451/805996063056383 -qaddz:3/908244468147226,-7,3/60173056873814:-6357711277030579/908244468147226 -qaddz:0,4,-2/385639438244941:4 -qaddz:7/59007802744210,-6,0:-354046816465253/59007802744210 -qaddz:7/80088880526056,8,=1:640711044208455/80088880526056 -qaddz:4/1915432332283,6,1/975133146111:11492593993702/1915432332283 -qaddz:-2/4374674512379,1,1/1450918107984:4374674512377/4374674512379 -qaddz:-1/176293450395,-4,=1:-705173801581/176293450395 -qaddz:-2/150047873621,9,7/862965342703:1350430862587/150047873621 -qaddz:7/90154985532,7,5/5122907862:631084898731/90154985532 -qaddz:3/35150061317,2,1/39676293318:70300122637/35150061317 -qaddz:2/865482845,-7,1/6059793299:-6058379913/865482845 -qaddz:1/7111641188,4,8/9256455537:28446564753/7111641188 -qaddz:1/231395954,2,-3/198206266:462791909/231395954 -qaddz:-1/5342717,6,=1:32056301/5342717 -qaddz:-1/1255946,8,7/39589307:10047567/1255946 -qaddz:9/48244018,3,=1:144732063/48244018 -qaddz:5/7367079,8,1/3896866:58936637/7367079 -qaddz:3/326524,0,3/4328111:3/326524 -qaddz:-7/836910,-2,9/919579:-1673827/836910 -qaddz:5/887451,6,8/592505:5324711/887451 -qaddz:-8/94183,4,8/66975:376724/94183 -qaddz:2/33127,1,-1/14729:33129/33127 -qaddz:-1/1132,-5,8/8763:-5661/1132 -qaddz:1/4973,8,=1:39785/4973 -qaddz:-5/71,-4,4/875:-289/71 -qaddz:1/125,0,=1:1/125 -qaddz:0,9,=1:9 -qaddz:-3/29,4,4/67:113/29 -qaddz:5/3,9,5/8:32/3 -qaddz:1,-3,2:-2 -qaddz:31/75290504490996366117,-89,80/87349767408470122133:-6700854899698676584382/75290504490996366117 -qaddz:-1/2025002780262471319,54,13/33364955876728529603:109350150134173451225/2025002780262471319 -qaddz:5/226091118641865964,19,98/9684762482985042665:4295731254195453321/226091118641865964 -qaddz:-1/3269119415472267421,45,-31/5732304804177650236:147110373696252033944/3269119415472267421 -qaddz:-52/674837392469005073,-1,49/926152724308138640:-674837392469005125/674837392469005073 -qaddz:-33/233752284775146865,10,1/34021154309272456:2337522847751468617/233752284775146865 -qaddz:33/37915766989934257,32,9/20112346122968212:1213304543677896257/37915766989934257 -qaddz:31/42388535088021265,-6,=1:-254331210528127559/42388535088021265 -qaddz:21/134052208089341,-81,33/306549029392024:-10858228855236600/134052208089341 -qaddz:1/2145839249313809,73,33/3181662864206624:156646265199908058/2145839249313809 -qaddz:3/712097424282067,61,1/54860371983348:43437942881206090/712097424282067 -qaddz:-27/242055520851227,81,85/884187769743491:19606497188949360/242055520851227 -qaddz:87/75610348177252,5,-63/45006979682459:378051740886347/75610348177252 -qaddz:91/22460567019277,-63,-4/5688629009171:-1415015722214360/22460567019277 -qaddz:34/5611315344227,50,-26/8764714566551:280565767211384/5611315344227 -qaddz:2/1448323251689,48,=1:69519516081074/1448323251689 -qaddz:-13/507312090741,87,-31/36494655847:44136151894454/507312090741 -qaddz:35/695649048043,32,=1:22260769537411/695649048043 -qaddz:-22/53469298165,50,-41/44921870282:2673464908228/53469298165 -qaddz:0,-42,19/22231277127:-42 -qaddz:44/1990669661,15,88/2011535859:29860044959/1990669661 -qaddz:52/911062095,39,=1:35531421757/911062095 -qaddz:7/125107130,-87,86/274603713:-10884320303/125107130 -qaddz:3/56375633,-47,=1:-2649654748/56375633 -qaddz:-1/1856173,10,71/56499774:18561729/1856173 -qaddz:7/6626238,64,32/20302401:424079239/6626238 -qaddz:15/1633807,4,52/1107445:6535243/1633807 -qaddz:99/7321367,57,26/2807871:417318018/7321367 -qaddz:-10/101833,50,32/474687:5091640/101833 -qaddz:47/89673,-41,31/421155:-3676546/89673 -qaddz:29/67933,-9,-24/68509:-611368/67933 -qaddz:10/7473,12,=1:89686/7473 -qaddz:-65/3001,21,79/2243:62956/3001 -qaddz:8/4983,-5,=1:-24907/4983 -qaddz:3/230,-4,16/53:-917/230 -qaddz:16/377,66,-61/214:24898/377 -qaddz:-41/23,96,5/41:2167/23 -qaddz:-5/9,35,95/34:310/9 -qaddz:72,11,45:83 -qaddz:13/6,16,=1:109/6 -qaddz:-277/80983188935181565796,610,=1:49399745250460755135283/80983188935181565796 -qaddz:79/15192291024925486394,143,=1:2172497616564344554421/15192291024925486394 -qaddz:-231/6313238620833887902,481,325/134903344527041052:3036667776621100080631/6313238620833887902 -qaddz:935/1485416466862593748,222,-565/6248719316822480264:329762455643495812991/1485416466862593748 -qaddz:-967/626150835751553604,-409,77/6043113279368884:-256095691822385425003/626150835751553604 -qaddz:-191/672212197195743189,906,301/296825083216628537:609024250659343329043/672212197195743189 -qaddz:323/65375330562542722,876,935/31091316170043549:57268789572787424795/65375330562542722 -qaddz:-143/40251685718424887,46,373/18639328341468821:1851577543047544659/40251685718424887 -qaddz:130/6295699493323523,-390,-174/17530058264063:-2455322802396173840/6295699493323523 -qaddz:579/8145570591252371,-21,40/2232149554773023:-171056982416299212/8145570591252371 -qaddz:265/47192654250488,316,536/603327182103531:14912878743154473/47192654250488 -qaddz:71/34035968910103,-744,327/497134848511328:-25322760869116561/34035968910103 -qaddz:254/93818137594343,-487,83/17550216682523:-45689433008444787/93818137594343 -qaddz:-824/19205768158351,727,241/53745460287591:13962593451120353/19205768158351 -qaddz:-758/4519346718465,-718,=1:-3244890943858628/4519346718465 -qaddz:75/64951063118,573,-139/8704353659601:37216959166689/64951063118 -qaddz:-187/758236499162,224,294/841106266507:169844975812101/758236499162 -qaddz:-34/37119383027,-857,=1:-31811311254173/37119383027 -qaddz:-441/57312007072,914,=1:52383174463367/57312007072 -qaddz:25/18513015668,-567,50/47247431347:-10496879883731/18513015668 -qaddz:343/904828730,-386,84/2415081317:-349263889437/904828730 -qaddz:-15/705578962,85,67/15485401:59974211755/705578962 -qaddz:-671/597940315,-297,-38/36423405:-177588274226/597940315 -qaddz:141/16827008,1,=1:16827149/16827008 -qaddz:19/1823825,304,152/12228673:554442819/1823825 -qaddz:623/94768157,753,-15/53060492:71360422844/94768157 -qaddz:5/30576,-780,515/3838063:-23849275/30576 -qaddz:85/456198,-545,278/3171433:-248627825/456198 -qaddz:-61/154737,175,230/373207:27078914/154737 -qaddz:784/22467,-975,221/842081:-21904541/22467 -qaddz:264/26219,577,=1:15128627/26219 -qaddz:648/86443,318,-751/62582:27489522/86443 -qaddz:-736/5001,599,73/1531:2994863/5001 -qaddz:58/1057,11,163/2848:11685/1057 -qaddz:265/416,564,33/505:234889/416 -qaddz:603/8,39,155/119:915/8 -qaddz:51/43,341,-3/53:14714/43 -qaddz:89/68,-261,42/5:-17659/68 -qaddz:316/3,138,=1:730/3 -qaddz:-157/4,778,-242:2955/4 -qaddz:-1220/24425361794374611191,-2739,9923/58596476391899748982:-66901065954792060053369/24425361794374611191 -qaddz:4756/68889234195734663973,9499,=1:654378835625283573084283/68889234195734663973 -qaddz:-6740/6193173096605308887,-3748,-1774/1349471376636973063:-23212012766076697715216/6193173096605308887 -qaddz:4951/5273171148713492245,2850,73/76840073320949141:15028537773833452903201/5273171148713492245 -qaddz:307/50758090271672590,-7992,4023/144759202361690600:-405658657451207338973/50758090271672590 -qaddz:4507/193110223350280382,2550,-4697/807940924231898113:492431069543214978607/193110223350280382 -qaddz:7135/87030719499305628,-2633,=1:-229151884441671711389/87030719499305628 -qaddz:-4425/57492072202943332,-9695,8774/1065824219401905:-557385640007535608165/57492072202943332 -qaddz:-2171/59546743026218,-2275,3354/2713497612422239:-135468840384648121/59546743026218 -qaddz:-420/497459043701647,-2485,6408/6394215912846235:-1236185723598593215/497459043701647 -qaddz:1796/82252594594341,9198,4191/934791612378541:756559365078750314/82252594594341 -qaddz:6624/484898002393549,-2338,4534/518674030101081:-1133691529596110938/484898002393549 -qaddz:2261/81693124807278,2477,6397/30033270473277:202353870147629867/81693124807278 -qaddz:1971/3597019637272,1116,3989/62351952484275:4014273915197523/3597019637272 -qaddz:-821/2973214305299,7102,2099/3415351232644:21115767996232677/2973214305299 -qaddz:3455/5604793125537,-4157,1475/8622435080543:-23299125022853854/5604793125537 -qaddz:-663/231000718186,2230,1885/90136214836:515131601554117/231000718186 -qaddz:9841/907754978407,475,-3707/314368976315:431183614753166/907754978407 -qaddz:388/1661926713,-9986,-4927/71849157859:-16596000155630/1661926713 -qaddz:893/2494453262,4917,6805/49826778773:12265226690147/2494453262 -qaddz:-2393/1820211958,9429,=1:17162778549589/1820211958 -qaddz:3478/4373863243,7552,9147/4954348655:33031415214614/4373863243 -qaddz:-5135/74721107,-742,4898/141314343:-55443066529/74721107 -qaddz:-1789/88275441,-7193,5814/533915795:-634965248902/88275441 -qaddz:3322/13291911,9390,-3263/50883910:124811047612/13291911 -qaddz:4577/34396558,-489,=1:-16819912285/34396558 -qaddz:8903/3869879,-4634,-3811/2146853:-17933010383/3869879 -qaddz:4014/1153681,4901,802/351473:5654194595/1153681 -qaddz:471/442073,-2998,9329/562186:-1325334383/442073 -qaddz:-893/461068,4168,2066/986911:1921730531/461068 -qaddz:336/38503,8872,653/13211:341598952/38503 -qaddz:8000/86117,1965,=1:169227905/86117 -qaddz:-8578/2779,-9006,9377/9189:-25036252/2779 -qaddz:-211/1008,-1599,=1:-1612003/1008 -qaddz:-1675/366,-4872,=1:-1784827/366 -qaddz:209/137,651,2717/320:89396/137 -qaddz:-5333/38,8162,370/67:304823/38 -qaddz:1729/8,6131,-5099/27:50777/8 -qaddz:3528/5,1915,9521/3:13103/5 -qaddz:-1303/4,104,-2439:-887/4 -qaddz:9256/43175436158473507749,-33340,=1:-1439469041523506748342404/43175436158473507749 -qaddz:43562/48013284592061748195,-32389,3543/476829824739261233:-1555102274652287962244293/48013284592061748195 -qaddz:31781/970330955234841076,25523,=1:24765756970458848814529/970330955234841076 -qaddz:72455/9090210348118255617,89034,48363/241345568170272728:809337788134360770676433/9090210348118255617 -qaddz:81871/335292796101778469,36100,=1:12104069939274202812771/335292796101778469 -qaddz:4031/299114846145519512,11847,48460/472966149918742127:3543613582285969662695/299114846145519512 -qaddz:70081/4000940087930231,28866,-48187/41751383598706590:115491136578194118127/4000940087930231 -qaddz:53565/36491429482144547,3583,22780/40933313880950073:130748791834523965466/36491429482144547 -qaddz:71053/3239886404702374,6327,5499/820365894600107:20498761282551991351/3239886404702374 -qaddz:1901/1115077430717827,78838,32029/643930274853778:87910474482932046927/1115077430717827 -qaddz:13107/6867073713490,67883,12163/313820861435242:466157564892854777/6867073713490 -qaddz:7612/71978407947133,-35439,47880/289218281250503:-2550842799238438775/71978407947133 -qaddz:487/93536104647,54212,=1:5070779305123651/93536104647 -qaddz:24139/22092733596669,7166,12083/20662610330153:158316528953754193/22092733596669 -qaddz:3756/377555799673,-90845,-6186/7949435140837:-34299056621289929/377555799673 -qaddz:51740/5334618145423,33038,30992/9506692645181:176245114288536814/5334618145423 -qaddz:-19431/313093258328,-29145,73759/467815221180:-9125103013988991/313093258328 -qaddz:45134/532171216165,-65154,-98921/239496530364:-34673083417969276/532171216165 -qaddz:-10586/5380332719,43778,-83869/38492047300:235540205761796/5380332719 -qaddz:-64073/25839289167,56469,-20852/44667409353:1459118819907250/25839289167 -qaddz:83896/6875621201,-60135,68147/7560028407:-413465480838239/6875621201 -qaddz:14947/3229243360,20054,72954/2728010911:64759246356387/3229243360 -qaddz:12569/138044852,29541,4251/162658732:4077982985501/138044852 -qaddz:28489/894461083,-54474,99821/372230979:-48724873006853/894461083 -qaddz:461/1016937,67128,-5113/48518554:68264947397/1016937 -qaddz:16058/28261309,-81920,5223/49399519:-2315166417222/28261309 -qaddz:-19094/531145,82677,89232/5738845:43913456071/531145 -qaddz:47358/4287503,-45771,=1:-196243252455/4287503 -qaddz:-44068/383233,28914,=1:11080754894/383233 -qaddz:-84061/931926,49385,=1:46023081449/931926 -qaddz:32731/30919,93827,16987/24520:2901069744/30919 -qaddz:-21037/20727,69534,11467/44693:1441210181/20727 -qaddz:-47647/8209,-53576,=1:-439853031/8209 -qaddz:50277/5119,34616,=1:177249581/5119 -qaddz:-45615/49,-81078,=1:-4018437/49 -qaddz:938/11,60282,36405/461:664040/11 -qaddz:35243/28,51616,=1:1480491/28 -qaddz:-44031/10,33851,-23233/67:294479/10 -qaddz:-40623/2,22693,=1:4763/2 -qaddz:50400,33578,4505/7:83978 -qaddz:44296/145305576996331809,-672446,887487/74206063873608800927:-97710154028875339590518/145305576996331809 -qaddz:641331/10728482754302259559,568057,480993/26722669314559144651:6094389727960678658948194/10728482754302259559 -qaddz:-10499/172183973129275356,938689,261219/9688984711512627413:161627201552746354637785/172183973129275356 -qaddz:-220611/2078134078025492204,-247650,=1:-514649904423013144541211/2078134078025492204 -qaddz:-93245/773599326123432094,810506,507053/740092254069402604:627006895418998452686319/773599326123432094 -qaddz:41051/5604661525608694,512095,417153/767762014998995362:2870119143956584194981/5604661525608694 -qaddz:256857/23764638432843923,-937980,-101171/1839317653823037:-22290755557238942638683/23764638432843923 -qaddz:-332573/48056484575068455,801985,51624/28399631222945227:38540579781936274550602/48056484575068455 -qaddz:555886/6363636074566197,531487,-826671/4672965611688254:3382189846362964900825/6363636074566197 -qaddz:-563124/5236412248020907,-719499,-431679/3372450157381352:-3767593376038795128717/5236412248020907 -qaddz:701612/201096646211621,852450,410105/341513117509976:171424836063097023062/201096646211621 -qaddz:44341/596871824184687,-222953,40264/891060847151681:-133074363817448476370/596871824184687 -qaddz:10699/24587438378106,344946,=1:8481338518774162975/24587438378106 -qaddz:227237/49603690945178,672137,=1:33340476020819332623/49603690945178 -qaddz:597973/5184695092393,114662,356604/1911748822639:594487508684564139/5184695092393 -qaddz:641047/1530353811852,785653,=1:1202327063343600403/1530353811852 -qaddz:597136/70017180317,618996,296751/321064961965:43340354548098868/70017180317 -qaddz:695839/510312151846,171207,205001/260822503888:87369012581793961/510312151846 -qaddz:809905/71504572844,73808,693901/76175273098:5277609513279857/71504572844 -qaddz:255273/62347365151,-84966,-374235/27650351674:-5297406227164593/62347365151 -qaddz:713594/3263659443,510765,=1:1666963016117489/3263659443 -qaddz:295910/3582838971,-154033,-25081/64948294:-551875434924133/3582838971 -qaddz:-630478/469725959,648937,2485/978731798:304822554025105/469725959 -qaddz:857939/546600623,-325885,374369/469544259:-178128943168416/546600623 -qaddz:4621/225308,181124,-720337/99151657:40808690813/225308 -qaddz:763904/62700883,137970,229231/94941727:8650841591414/62700883 -qaddz:65347/480512,137371,214509/5722910:66008479299/480512 -qaddz:-111067/738339,649352,84919/764118:479441795261/738339 -qaddz:171027/450233,-6580,9836/486877:-2962362113/450233 -qaddz:913138/821889,489239,134731/100945:402101065609/821889 -qaddz:701114/19829,-614638,-23827/46967:-12186955788/19829 -qaddz:326257/29870,642576,=1:19194071377/29870 -qaddz:106159/1985,574591,-569660/4723:1140669294/1985 -qaddz:148129/3938,47925,860775/3839:188876779/3938 -qaddz:887330/711,205135,-45802/45:146738315/711 -qaddz:42863/18,-93194,208961/276:-1634629/18 -qaddz:4012/29,-93697,20725:-2713201/29 -qaddz:22117,453874,196189/90:475991 -qaddz:-612637/8,-695084,609247/5:-6173309/8 -qaddz:57845,-697681,-866863/7:-639836 -qaddz:4360261/62036756574194097073,8366924,9603243/52038505911108171230:519056827462782371462773713/62036756574194097073 -qaddz:122203/37104707293639154664,6618642,2840782/70804511700211559411:245582774091386441903768491/37104707293639154664 -qaddz:2975379/3405105441588501638,1224553,-452223/338247701671728355:4169732083813524449293193/3405105441588501638 -qaddz:1236750/6927456590095070879,4061575,8656635/218877078505884724:28136384499915387506611175/6927456590095070879 -qaddz:5514100/889151389478456273,579914,4385513/526230054850522272:515631338878009496614622/889151389478456273 -qaddz:4769436/180047856472105135,9133872,5104049/860727869521825524:1644534074890579878402156/180047856472105135 -qaddz:1129619/13834516044696008,3200844,-6235960/99099205495661801:44282127674568950160371/13834516044696008 -qaddz:-4436473/31680301433353002,-5808829,2360562/31638389601284341:-184025453694802489691131/31680301433353002 -qaddz:3832873/3686022654332134,3511591,2148425/643043583198782:12943803978748836598067/3686022654332134 -qaddz:-7569910/152442797410363,8827549,=1:1345696263837044920377/152442797410363 -qaddz:4372465/567281920816919,7607995,=1:4315878017165520039870/567281920816919 -qaddz:5998833/480252391591963,727708,1934709/45746184416396:349483507380610209637/480252391591963 -qaddz:3161338/53726702330731,2061828,-609862/19212003746435:110775219213169597606/53726702330731 -qaddz:131113/3229582131545,-2913645,-2325146/23074994508107:-9409855829665300412/3229582131545 -qaddz:4389212/772304888811,-9008024,4662292/1333533763161:-6956940973722430252/772304888811 -qaddz:815149/899391465210,1866152,-3495177/4058839242973:1678401181585387069/899391465210 -qaddz:6099185/812281384924,516393,3627307/291261495421:419456421211158317/812281384924 -qaddz:2706122/517440388607,-5819,7950079/252677744377:-3010985618598011/517440388607 -qaddz:3534256/50461476673,7199887,=1:363316929902270207/50461476673 -qaddz:-341422/3319030425,9477224,=1:31455194800198778/3319030425 -qaddz:1777807/3107794205,-7728298,-3370724/3708129283:-24017959737135283/3107794205 -qaddz:-5327233/9277787037,3319889,6246449/2731964013:30801223123151660/9277787037 -qaddz:-9819076/309587449,-64284,=1:-19901529390592/309587449 -qaddz:5932665/955345021,2160126,2378998/340986557:2063665624765311/955345021 -qaddz:27849/96378415,6447655,-1830047/14377112:621414769394674/96378415 -qaddz:452633/3628007,-6184207,2601894/13372759:-22436345832816/3628007 -qaddz:1646531/1203794,-1799977,-2372416/1725139:-2166799866207/1203794 -qaddz:2641959/511223,1901148,1953355/2249527:971913225963/511223 -qaddz:-10086/1165,1012800,-8266052/33291:1179901914/1165 -qaddz:2434418/167529,2764968,=1:463214758490/167529 -qaddz:6481704/22457,4174437,7094833/47337:93751813413/22457 -qaddz:-3250889/26779,7463010,4107129/47161:199848693901/26779 -qaddz:599335/1376,7764075,-2794121/1154:10683966535/1376 -qaddz:-1446188/1023,-1120763,=1:-1147986737/1023 -qaddz:-6355319/520,8873579,-4229533/845:4607905761/520 -qaddz:-8333079/502,4777754,-2211765/838:2390099429/502 -qaddz:-664681/39,1853000,7994519/83:71602319/39 -qaddz:-6686979/41,-8893574,-1077101/12:-371323513/41 -qaddz:-188498,9478449,=1:9289951 -qaddz:-1148991/2,3210266,=1:5271541/2 -qaddz:13593663/25788635148712130170,9749642,73140616/63308113773746847799:251429960368560030228492803/25788635148712130170 -qaddz:55138471/984284327092850808,71726057,45865951/15569580966066839785:70598833749268461402242527/984284327092850808 -qaddz:-93458416/3876652721819618213,38189554,-59813819/4844052168542685795:148047638459177287911288586/3876652721819618213 -qaddz:-13202403/1193328009457250122,10267890,1513303/582767321730759548:12252960735026003941980177/1193328009457250122 -qaddz:56178208/35416123641813139,77841322,6805923/142304130637208152:2756837884394189272907966/35416123641813139 -qaddz:91725073/281875811815728492,-75791628,=1:-21363826671335698322939903/281875811815728492 -qaddz:-87952363/35128220892663058,-95959069,-6580898/40762262950663657:-3370871372486296064325365/35128220892663058 -qaddz:1593208/1779268204772945,57788357,=1:102820986216168051194573/1779268204772945 -qaddz:-40115057/1844576541622880,45148647,48149671/4721486463692100:83280135142212176128303/1844576541622880 -qaddz:71660059/7908261305514706,46408705,87309016/9251884131271557:367012165990546935575789/7908261305514706 -qaddz:12899069/900901725436207,-53144602,-36141736/346358215988697:-47878063639420484505545/900901725436207 -qaddz:12859471/415241177014271,71268555,-60349912/357890988024495:29593638662306321407876/415241177014271 -qaddz:6490779/7687148332738,-56678219,2747770/29442703192421:-435693876688402742843/7687148332738 -qaddz:-60847891/99630307357354,88116713,-98374273/39412545202138:8779095199509690009511/99630307357354 -qaddz:-25941332/4772253631053,-67231252,85813662/2010665859491:-320844586477265209688/4772253631053 -qaddz:4828372/85755227179,10688383,10501313/2337582857089:916584712345989929/85755227179 -qaddz:57153058/801923397935,80676502,=1:64696374617406976428/801923397935 -qaddz:33518641/130632158802,75978846,54844171/383744120637:9925280676298221133/130632158802 -qaddz:8437861/17969987688,54020652,-71865526/87734026923:970750451346170437/17969987688 -qaddz:4070024/3913628749,33427821,512282/796504041:130824081286095953/3913628749 -qaddz:81166629/3135890000,93859365,56814645/4127270728:294332644191016629/3135890000 -qaddz:75095946/6594060085,92035409,-11381306/3866199715:606887016968645711/6594060085 -qaddz:-6201133/708702298,47074908,22887883/94448148:33362095471537451/708702298 -qaddz:6027874/49969387,18501816,-9130290/81894907:924524409934666/49969387 -qaddz:13827470/4398317,50518578,62727273/34158559:222196734260696/4398317 -qaddz:-89138866/91998795,18780715,-35130848/77386067:1727803060099559/91998795 -qaddz:1174985/377026,86316466,16615749/3874669:32543553085101/377026 -qaddz:-9292539/4656085,1624786,65325863/1600219:7565132430271/4656085 -qaddz:-2336639/845282,-4069510,8089655/167446:-3439885888459/845282 -qaddz:-31078338/91681,89417696,2569245/159973:8197872708638/91681 -qaddz:73383631/12053,83445739,19141505/6087:1005844875798/12053 -qaddz:22853974/63407,-85636132,-6290341/12816:-5429907367750/63407 -qaddz:21369191/1915,48981131,5257100/483:93820235056/1915 -qaddz:-45229274/277,6529852,80452675/6632:1763539730/277 -qaddz:-17600350/527,60401374,37082689/442:31813923748/527 -qaddz:85256283/467,-24966013,67067455/319:-11573871788/467 -qaddz:80505325/66,13054914,=1:942129649/66 -qaddz:-4197971/62,-58438955,9669086/33:-3627413181/62 -qaddz:45758807/4,-88423268,27591403:-307934265/4 -qaddz:48139065/2,43301388,-36531779/2:134741841/2 -qaddz:-746260196/20472817142129557823,982354175,32526895/10440994669702430816:20111557393582539517581700829/20472817142129557823 -qaddz:-29549747/14838788589925929214,634211818,-74451525/12916990835817929011:9410935088534580052120701305/14838788589925929214 -qaddz:-448318501/7278955030505777603,769108616,=1:5598307029438536391798808947/7278955030505777603 -qaddz:59483976/2793541975287617267,-163303460,314082880/1773468794441614937:-456195070219702394797359844/2793541975287617267 -qaddz:-39988340/60152702435264949,648519691,73804544/228852852664255579:39010211996132972188622419/60152702435264949 -qaddz:-729061405/768059604671461839,714606502,-471314823/354142770917954234:548860387421776203265215773/768059604671461839 -qaddz:-248555917/7165349396837386,582365762,-82300902/5346138197190155:4172854161485444439422215/7165349396837386 -qaddz:543269507/64494661180201173,690548092,897863403/18149141182810736:44536665222174388734581423/64494661180201173 -qaddz:318338239/8630148497550833,845781111,-235304841/3148342727645078:7299216584353524632053702/8630148497550833 -qaddz:859971543/1629667855750118,-528676738,-821484768/9266342092322843:-861567486001426067383541/1629667855750118 -qaddz:-374749715/8438356773884,291407771,-932095108/907679125024843:2459002738379912702849/8438356773884 -qaddz:-105904217/719249349028152,954350873,-483804897/722878772519704:686416244149698456872479/719249349028152 -qaddz:215809489/24453042701551,949038292,509810695/60521395527768:23206873879683242600381/24453042701551 -qaddz:150432367/67777562170303,451848420,463171069/798174121745:30625184378103331903627/67777562170303 -qaddz:-8493914/1778903924623,-83428918,=1:-148412029657258941828/1778903924623 -qaddz:147732646/368561418133,316756885,462378256/2791638842869:116744366739139328351/368561418133 -qaddz:-66012899/43799234004,-321281986,982505097/911502425047:-14071904886149864843/43799234004 -qaddz:169940076/279466336907,-71525240,15350688/150338991023:-19988896819024092604/279466336907 -qaddz:233355217/32843819415,72601264,-758317611/7873649159:2384502804350095777/32843819415 -qaddz:285149260/19453167983,144991594,-201126001/42622707256:2820545834490084162/19453167983 -qaddz:940581418/5616720353,-615369286,215195096/2354964241:-3456357192346696540/5616720353 -qaddz:-396923483/8795362315,114388371,116424557/500425708:1006087167170715382/8795362315 -qaddz:43457937/310448072,540792846,48194518/73220787:167888096435550849/310448072 -qaddz:428882054/550113049,-311285439,56137087/291468974:-171242181528711457/550113049 -qaddz:-286703423/15020682,237972794,95770627/88535037:3574513376622085/15020682 -qaddz:-672536805/72578564,-454083180,-450947664/92210965:-32956705813490325/72578564 -qaddz:-842687259/2802968,164043467,877832687/5847351:459807745922797/2802968 -qaddz:9656746/198233,-84422497,=1:-16735315191055/198233 -qaddz:236817273/916726,899428028,-92124131/51259:824529295213601/916726 -qaddz:-32742959/6896,967049226,-375835070/139297:6668738719537/6896 -qaddz:46021278/1013,797203137,559435694/97037:807612799059/1013 -qaddz:495550757/63198,245997332,948028412/39911:15547034938493/63198 -qaddz:-760591485/8548,-293617711,573012945/8054:-2510604785113/8548 -qaddz:268239779/2820,-917135865,-106555829/892:-2586054899521/2820 -qaddz:301095018/37,-382369768,-77751485/296:-13846586398/37 -qaddz:3850763/277,-710988721,-86297861/101:-196940024954/277 -qaddz:195470025/41,-660449973,225753766/29:-26882978868/41 -qaddz:375745961/37,910651525,-88347614/45:34069852386/37 -qaddz:-91575821/2,869025199,629588221/2:1646474577/2 -qaddz:436219553/3,113713165,=1:777359048/3 -qaddz:-844868513/21771218036213010780,986546099,258641158/22466107297036584855:21478310224104386517209078707/21771218036213010780 -qaddz:833503855/8069616060533418368,463027937,-193589362/1951752452419151303:3736457676890855827326450671/8069616060533418368 -qaddz:724738643/11366387107722525,376750281,4819705753/4712039757409798110:4282289536789239288518168/11366387107722525 -qaddz:508814249/2088448235503890884,845043285,6799873277/8328817117516288610:1764829157482661583405728189/2088448235503890884 -qaddz:7996084039/717257384492120308,2419507504,2667813745/128249445552768127:1735409624078098322072875271/717257384492120308 -qaddz:7585030779/180538136040165892,489184216,1064881163/655356926166745922:88316406536909903972991451/180538136040165892 -qaddz:3584540521/91456981705312186,-9911261646,=1:-906454075034784339973677635/91456981705312186 -qaddz:3050007448/41294095103098713,6024934948,=1:248794236732695102097529372/41294095103098713 -qaddz:5293029102/2042882846608867,1387341294,=1:2834175731904754348683000/2042882846608867 -qaddz:4856278727/7671234032065848,-4714174847,-826015688/342674325919645:-36163538519415207233046529/7671234032065848 -qaddz:-1287980783/264067516251600,-7283705114,1474901722/155847550710807:-1923389918563058318663183/264067516251600 -qaddz:-5319461421/224860303990304,7455512951,889923834/139644515373281:1676448908565503130965683/224860303990304 -qaddz:2092800065/39695887391801,-8479055683,1732884799/61967662266203:-336583639581176223855018/39695887391801 -qaddz:1206911087/46584702098976,-2120326658,1346835184/16267372805513:-98774785715446160391121/46584702098976 -qaddz:569792579/414501273499,-8640944572,6673457161/7160564523311:-3581682529327701704849/414501273499 -qaddz:9313961147/9034962045642,-4887430523,6725061071/3300706280530:-44157749276007915969619/9034962045642 -qaddz:-5240204781/952774687199,-8153058385,806610703/7522631755:-7768027652488799318396/952774687199 -qaddz:1072533129/47749905913,-2190169028,7000962285/325419804967:-104580365019494129435/47749905913 -qaddz:539059499/15953197306,2833840907,3868176763/46023931661:45208823123724056041/15953197306 -qaddz:674514633/2185964591,-3939960534,6112848571/51458323114:-8612614216586936961/2185964591 -qaddz:3187633456/3615599831,3078822354,3648967863/4642156796:11131789585989055630/3615599831 -qaddz:3613164783/790101889,5924355725,1093627703/4194434934:4680844653043629308/790101889 -qaddz:7839467059/761810399,3436300760,2070395267/976614917:2617809660899070299/761810399 -qaddz:225690899/491794201,4884762823,622206155/258312784:2402298029837480322/491794201 -qaddz:-7725783503/84500941,-1043559105,9836874767/38034734:-88181734087401308/84500941 -qaddz:1162986782/14963043,1957888112,-8677864987/68949839:29295965172031598/14963043 -qaddz:-2073053051/3932529,3953921935,9300508123/4505890:15548910600070564/3932529 -qaddz:-2553049553/6593625,6886901572,2612889293/3618567:45409643824628947/6593625 -qaddz:157807783/17000,4402443990,876550711/970248:74841705637783/17000 -qaddz:810075291/750871,-6494923353,1278293443/275880:-4876848782915172/750871 -qaddz:2989273314/56921,-2790577575,3360184275/44087:-158839476873261/56921 -qaddz:3268425371/11550,7335374991,2237230499/48036:84726849571421/11550 -qaddz:-3154163419/9858,824560371,4511685191/5191:8125361973899/9858 -qaddz:7027175150/7267,-5589392198,14743439/42:-40611085927716/7267 -qaddz:4661020509/730,-1409612732,-472504172/703:-1024356273851/730 -qaddz:550638145/104,3388785600,7616106439/471:352984340545/104 -qaddz:-2172843710/11,76395123,736231113/29:-1332497357/11 -qaddz:-6453196546/63,4130453785,-5670101997/64:253765391909/63 -qaddz:1769225059,-8164754222,1531642609/9:-6395529163 -qaddz:7580730244/3,-8295939153,-1516372895:-17307087215/3 -qaddz:58423769119/50643850140797602406,90335026336,=1:4574913536225388721450090733535/50643850140797602406 -qaddz:-42124546066/6087273228356965143,-24064378632,75472938387/29014055899155453086:-146486447803619008497702570442/6087273228356965143 -qaddz:85077906583/7059686186393838266,-86403115965,=1:-609978884239495412773574610107/7059686186393838266 -qaddz:2409771251/78123085616637683,15985845324,=1:1248863562901179163797515543/78123085616637683 -qaddz:52223576739/412739442713673226,-46190346315,31453828195/12849072264316598:-19064577796804669642459685451/412739442713673226 -qaddz:-44585554037/157326507974173406,59214099831,7574929311/32876530728519241:9315947549245321588003740349/157326507974173406 -qaddz:-47861969231/60513239361297573,-63013076957,=1:-3813125408790805542688294592/60513239361297573 -qaddz:-31901636875/33882731297200408,-55696719345,31284269910/21963113061657589:-1887156975702218940497129635/33882731297200408 -qaddz:1727465561/671724526279818,-68558893487,=1:-46052690249823572892279805/671724526279818 -qaddz:17391142729/435638497115449,79866074338,=1:34792736595117065793390491/435638497115449 -qaddz:-14607124051/752098365273835,79819155439,34961447441/234817885230781:60031856323210021057514514/752098365273835 -qaddz:-33882594912/853897505052767,-69441770727,68892865654/360632311106545:-59296154770231603933546521/853897505052767 -qaddz:56393173391/95959531164605,80334900495,=1:7708899387655450534152866/95959531164605 -qaddz:76008103374/82690250931395,-41801579607,72201983593/77462511255258:-3456583107031437979958391/82690250931395 -qaddz:42873865571/227802171757,96248926412,=1:21925714465976151611455/227802171757 -qaddz:2188733045/317649531592,-27294537694,-13503437379/778368702506:-8670097113517099095803/317649531592 -qaddz:-40936176209/483902341255,59864812412,-30132933091/131952074240:28968722884917247480851/483902341255 -qaddz:29030847755/204795623153,98812754244,=1:20236419580893256259087/204795623153 -qaddz:7022832233/85729381270,286720337,65140586861/51219438458:24580357095558720223/85729381270 -qaddz:83478631598/83831440713,2447203008,78651932717/87841022347:205152553961305896302/83831440713 -qaddz:70410742832/4854173541,25635871440,41240688913/9691426040:124440968914936311872/4854173541 -qaddz:13133061735/215660389,-54580960568,73195756378/2318826503:-11770951174955479217/215660389 -qaddz:97316922721/33728456,49150998791,-43302763720/346667451:1657787397395219417/33728456 -qaddz:42314512205/91048434,3019543575,=1:274924756213023755/91048434 -qaddz:9911778891/3761798,99193069336,84599064764/16160639:373144299753805019/3761798 -qaddz:22143440303/71908,57401237223,-44550917147/46946156:4127630309671787/71908 -qaddz:13575690632/9774495,-56625307968,27090428376/1406293:-553483776030985528/9774495 -qaddz:65452607896/5739831,88854202629,=1:510008172182823595/5739831 -qaddz:-48594032321/296227,26116980382,90351957100/631949:7736506153586393/296227 -qaddz:38854983873/478381,91268688211,-37086942845/919397:43661245190050264/478381 -qaddz:-3289168101/2633,39943120731,86275372528/65091:105166947716622/2633 -qaddz:71226110755/74802,75928864342,-681828710/6523:5679702136621039/74802 -qaddz:-11750464340/9973,3631010522,-10917246741/3869:36200317471566/9973 -qaddz:15180336658/9543,75388205179,42003176179/4581:719444822359855/9543 -qaddz:37691546351/502,-21661824585,-16098775076/329:-10836544395319/502 -qaddz:-35885239812/857,34474662009,=1:29508900101901/857 -qaddz:22416794298/37,77595160739,19551745221/79:2893437741641/37 -qaddz:6506889348/5,89218535043,42795404175/52:452599564563/5 -qaddz:-17539280423/2,-76893365070,11913582381/2:-171326010563/2 -qaddz:-18732975933/8,-68638332129,=1:-567839632965/8 -qaddz:752606019983/39088539215799132539,78330421475,375459572044/17732255158454998643:3061821751615612031471862895008/39088539215799132539 -qaddz:-87137756962/6035494303898759827,-609859506482,522818453593/79286344644150136171:-3680803577550619796673205455576/6035494303898759827 -qaddz:-421506353201/1519073638798046220,841569835268,206505393657/3285765743903619005:1278406551963233090464143733759/1519073638798046220 -qaddz:313227767819/3667276491812736850,-527972639267,112687878130/8071994431605454933:-1936221648304195391507820121131/3667276491812736850 -qaddz:45625693955/874183546628376789,86870332839,316926200883/622490420207251454:75940615657984567948357767926/874183546628376789 -qaddz:307191711010/592741905927742817,469188479690,640816126728/494995852882629881:278107673690790651608739597740/592741905927742817 -qaddz:-15083287151/7156847089669175,536288677413,-968335381430/55030206560476363:3838136060165760061381557124/7156847089669175 -qaddz:494377643469/98558071038934628,454517393920,719586404719/50508704469542694:44796357598398794466182305229/98558071038934628 -qaddz:45709637656/3099309256090823,-330553962257,-99912647867/433025093788036:-1024488954860616607596429855/3099309256090823 -qaddz:-666357878153/2095670070843359,757413983851,=1:1587289817194775273218717356/2095670070843359 -qaddz:126425902111/416943810772372,-678980645165,678919705009/106535794783049:-283096777635778691091479269/416943810772372 -qaddz:585263176259/851781334135526,22092528056,485539073651/458880186297433:18818003021966803924493715/851781334135526 -qaddz:-873682780814/76616993618553,693272108938,956115786575/5882428371192:53116424746422652551145900/76616993618553 -qaddz:304885366516/59327405229613,446589528583,-184321844164/42141769957411:26494997933545783426894895/59327405229613 -qaddz:227263949507/3005012215064,-970992420883,944562884485/8363349411634:-2917844085487752336832005/3005012215064 -qaddz:256051015589/5849799282523,145771147218,425125619888/7082715872863:852731952408667058486603/5849799282523 -qaddz:922332758083/714594213406,203681203456,751751042693/26386109479:145549409370150101489219/714594213406 -qaddz:54459784009/28808646278,-878737718814,-508120353933/475490279255:-25315244112394691890283/28808646278 -qaddz:-75343229837/18301076728,-18822576757,-5004528638/1010757283:-344473421523869640933/18301076728 -qaddz:455494735961/31781276434,112071922031,-828539887333/78026709049:3561788735012400453415/31781276434 -qaddz:970291731117/7275020519,-637559590581,=1:-4638259102591722400422/7275020519 -qaddz:-982813942861/3854475224,783494985089,=1:3019962007170985992075/3854475224 -qaddz:892057818224/861585953,-595915633524,-949622564162/410937589:-513432538125316470148/861585953 -qaddz:292775249633/706174681,844137005926,193717693265/82462566:596108181172863409239/706174681 -qaddz:-4493924646/5798807,-582307144826,-746783726287/48847174:-3376686752060947228/5798807 -qaddz:-90281739197/55430389,586184656508,420537839926/78274081:32492443445788082415/55430389 -qaddz:-53911496672/874759,873541937929,=1:764138618169337439/874759 -qaddz:994025741513/6110189,974615575614,-72802324373/849950:5955086363371072559/6110189 -qaddz:624261056662/482529,-97311267314,=1:-46954884244700444/482529 -qaddz:-39993733292/46881,-841794041874,216763126337/306248:-39464186470828286/46881 -qaddz:792871375475/84839,12838795021,=1:1090023402162094/84839 -qaddz:54064516459/38317,126266853725,=1:4838221098697284/38317 -qaddz:157148550179/2580,316644803876,=1:817100742550259/2580 -qaddz:-892971311861/9503,293701366371,267061134465/5464:2790151113311752/9503 -qaddz:56861735925/22,425609853419,=1:9420278511143/22 -qaddz:975604652373/62,798330121028,9837445133/3:50472072156109/62 -qaddz:301936419421/8,401226430058,642908142507/92:3511747859885/8 -qaddz:960812431491/91,821665693935,184158030746/25:75732390579576/91 -qaddz:-288196323271/3,-6851210649,=1:-308749955218/3 -qaddz:27950016152/3,811526852805,=1:2462530574567/3 -qaddz:-1239949810170/37215316493340542309,5084146392476,-296516594614/47057875211140309013:189208117094469900857215847456914/37215316493340542309 -qaddz:-9982761144683/86065596803955058468,2050494075451,-6484572703254/4884291350957415781:176476996346664368103513547324385/86065596803955058468 -qaddz:6263655072498/2824969489983333169,5441993837821,2221750454035/2194218699041801277:15373466556521632295955651057247/2824969489983333169 -qaddz:-5989792323571/836318289746974211,-2931974130042,816998017476/3394736245988200951:-2452063590019098006588326670433/836318289746974211 -qaddz:-7698578874730/344070437345848791,6704395369109,=1:2306784246788816955726767522489/344070437345848791 -qaddz:4466480763133/830946743248529621,-996598272615,=1:-828120088956544529460779865782/830946743248529621 -qaddz:4485142594172/49082393942890253,9197604183793,-4770331797107/16903008398062353:451440431879703596984582863801/49082393942890253 -qaddz:-134312893516/16006607498131703,-5249882281532,1583762956049/37750476556875940:-84032805091878883507373502512/16006607498131703 -qaddz:2427070778131/1995258741120055,6244907615189,3514628161072/4284871651689771:12460206506693051427861293526/1995258741120055 -qaddz:5325619193316/9866683016060977,4027295598641,9237993735817/7374034428483561:39736049083768285110593525573/9866683016060977 -qaddz:4506791224955/98740859078376,-2433647151513,7230124153235/24547192761813:-240300410434031792022757933/98740859078376 -qaddz:6263613039105/662686345538291,3241626331560,6974592366933/417432893529050:2148181507262199091454803065/662686345538291 -qaddz:-1811100007460/13795113510661,11776226228,=1:162454377540672125809248/13795113510661 -qaddz:1928373998137/24092133222096,101879503692,2556288163059/81191221300450:2454494575550613661976569/24092133222096 -qaddz:247425249267/4299310767884,9656652793497,6941336412649/1087093561201:41516951336799008176899615/4299310767884 -qaddz:4375335748035/3738750520588,3905049802371,723270679177/5043873825535:14600006981541018102462183/3738750520588 -qaddz:7794911344062/83950994789,-8243600514425,-2603543493997/10276127701:-692058463821295982987263/83950994789 -qaddz:-3095785250121/322417942963,4195151544235,-8472000440819/880146461714:1352592131307205816218184/322417942963 -qaddz:-4517167531751/11212303539,1754468949877,5238909223466/69391666005:19671638411254333182952/11212303539 -qaddz:1112980425235/45979665716,8827854965263,2125854079037/42150601594:405901820293236512448543/45979665716 -qaddz:563381672458/1066429293,-8418949099715,=1:-8978213935648672279037/1066429293 -qaddz:2857062479357/2065941250,6427518036538,3720687400259/8823089384:13278874649659923871857/2065941250 -qaddz:6660515562878/864868567,3023828885557,-2827547445095/772367393:2615214561765405149697/864868567 -qaddz:3112189653770/430887893,-7852737661995,-86959631083/81894801:-3383649582346582072765/430887893 -qaddz:7683412484443/95948152,1332390320090,2759996778764/6533551:127840396638736458123/95948152 -qaddz:159684374850/3723623,-1974161463836,3321588400449/53889098:-7351032872769022978/3723623 -qaddz:6040625454008/1761191,7333833752524,=1:12916288041066950092/1761191 -qaddz:212485296160/215857,2626911385981,255098287490/595687:567037423528996877/215857 -qaddz:-954041238820/149351,8462499450675,-3418839060974/6081:1263881801416523105/149351 -qaddz:2631178437270/289589,4915496549364,-7382060007604/607303:1423476361412208666/289589 -qaddz:-4190078661321/81307,6205900529843,-4545813476917/72302:504578964301283480/81307 -qaddz:3075448966277/10503,8355956941265,3979238326369/89488:87765691203072572/10503 -qaddz:-4159327490855/1442,9824287076936,-4853919949437/3400:14162462637450857/1442 -qaddz:2105555375170/7889,5827815981584,7350815564091/1621:45977745834091346/7889 -qaddz:-970057756335/134,5386054563891,90106168024/673:720761253805059/134 -qaddz:705786323151/74,863825635194,-8448597370801/341:64628883327507/74 -qaddz:677223680197/15,1191619181913,2784760197168/47:18551511408892/15 -qaddz:1250102070269/12,7296468619064,-8785308120663/49:88807725499037/12 -qaddz:815291444846,-8875650934350,-9869792677199/4:-8060359489504 -qaddz:8187166853148/5,9378339124723,9909614166843/4:55078862476763/5 -qaddz:5422808604175/4005553410506916322,59300928198551,=1:237533035191931723527928367253597/4005553410506916322 -qaddz:10175385793742/12145808688724905047,-50946207146217,89160661571041/31082940158416923936:-618782885414101287608920784463457/12145808688724905047 -qaddz:-66447228282594/5132267228812337113,-55179117587940,46405635667194/2000839741729635683:-283193976911366915176041931499814/5132267228812337113 -qaddz:5047791146973/4721169311443187453,-99279491905591,13672396382858/7559676837928609713:-468715290440348563665526200602750/4721169311443187453 -qaddz:29394169412845/154033282520525053,-29623023279395,9504860273065/124604054480863853:-4562931513907140557523146770090/154033282520525053 -qaddz:4067070745921/152576293456659409,771698149382,82888271738589/108217943144539550:117742843300069025816248581159/152576293456659409 -qaddz:75868597092083/18545709845595165,82562069353348,62428349184891/98682364625908466:1531172182479096917186342454503/18545709845595165 -qaddz:38258707804725/80482758393493951,26694314420345,16108158643166/21949554170590857:2148432057972588200266536637820/80482758393493951 -qaddz:46555640927056/1709747501026629,-16128468753166,32141736958103/3736469425292601:-27575609146111592776953130358/1709747501026629 -qaddz:45370445351363/7110877719431711,86735990625964,-33565334246797/6384179688851649:616769023215005197115686895767/7110877719431711 -qaddz:9475910636228/981744732543279,96180861167731,=1:94425053822896329193346366177/981744732543279 -qaddz:91004040702465/936897618249146,45878038637853,=1:42983025129746861152661226003/936897618249146 -qaddz:7213181652898/7450266621563,23288667968005,30404125827566/4549937716875:173506785622698280708744713/7450266621563 -qaddz:-89229843161908/67491130269077,87276718571732,84273766896387/35434923631324:5890404382582247110442769456/67491130269077 -qaddz:6912185841959/2387122535810,95367158366052,16820307441286/172628433269:227653092911770818644164079/2387122535810 -qaddz:18631413455311/5393632894857,30541536678945,67884298820845/8941925270968:164729836891057997564141176/5393632894857 -qaddz:95264142661666/640329051433,33493375919635,26112952504575/900465490172:21446781632004027732248621/640329051433 -qaddz:26873236385920/167838163737,63857215148601,48278558616779/606456030301:10717677731926604660867857/167838163737 -qaddz:4401103056499/2897755980,-11052252274481,89598593400912/9441413885:-32026730116444816089881/2897755980 -qaddz:1318889016693/4307161820,-79377185552021,28715124462201/59240718095:-341890382987401586021527/4307161820 -qaddz:76790810847961/5450577611,68261418218311,51631448908695/2088035198:372064157912624257682982/5450577611 -qaddz:21126534617963/8738346544,57900812244090,-48117757406954/4100802105:505957362589063270542923/8738346544 -qaddz:54005121935732/492299853,-95310437087251,7343525049871/87207576:-46921314113414293538371/492299853 -qaddz:65465816406636/92490709,85963247914764,=1:7950801813045110334312/92490709 -qaddz:-1567974419029/2146031,73885253968091,=1:158560043890421877792/2146031 -qaddz:76063102421737/23698475,94901902098254,36870175818609/29433536:2249030430391022384387/23698475 -qaddz:21982490259259/3028082,35729075461978,-48666061360318/4739221:108190592265547525455/3028082 -qaddz:44090802588674/2725087,-59617101535954,4729707469385/5642703:-162461744282505689324/2725087 -qaddz:31794415201437/483367,88454206922687,23449145143186/104191:42755876432013648566/483367 -qaddz:21120858803723/196745,-97469888172037,=1:-19176692027548615842/196745 -qaddz:6353568582461/36133,71560599712641,-9946843698401/1669:2585705502985439714/36133 -qaddz:37008170564675/36399,98738162943972,=1:3594007401168201503/36399 -qaddz:-19046004662298/5177,97280021451374,27910156790976/751:503599625049100900/5177 -qaddz:67988194828572/3833,91182292091517,8505334994139/1301:349569713781613233/3833 -qaddz:-27835175210909/97,-86045963939656,69384812566415/607:-8374293677357541/97 -qaddz:-66933996037605/499,-26758226932551,44077986933749/138:-13419289235380554/499 -qaddz:-69719056900661/20,19918523107231,=1:328651405243959/20 -qaddz:9273298009097/11,72385368670495,71790012014913/62:805512353384542/11 -qaddz:21941955990125/9,52544189533470,-12392727415391/2:494839661791355/9 -qaddz:-6780461974136,98345436504870,=1:91564974530734 -qaddz:-84540612076693/19951779938951892435,-646908420217313,96551072703477/9551882373716321942:-12906974440830846345093795912803848/19951779938951892435 -qaddz:-83364626051404/25732505849792137517,-259790031036174,=1:-6685048493356028415791438435591362/25732505849792137517 -qaddz:-897066937584389/9348251282430626623,601658334644890,=1:5624453298429168053199845947322081/9348251282430626623 -qaddz:-205588700127652/1395648197045308621,722142436485815,631381416931617/2014178604201247978:1007856789491333998582718663583463/1395648197045308621 -qaddz:271688711340751/180941683917606723,-804877924901239,356634127117981/581970885207340397:-145635967079739188257214306089046/180941683917606723 -qaddz:-150593304294442/751040562206456283,-252704334790286,580538958605443/761261694295334982:-189791205672904947390115336361380/751040562206456283 -qaddz:-33791007514234/9931544134782813,644114592405109,-28689348856389/27441863478469573:6397052502328982483214019077383/9931544134782813 -qaddz:571363848651239/66311445792999286,-10840446958246,29259414259102/2538648211395449:-718845710843613051916101161117/66311445792999286 -qaddz:911329771312150/9119213968348277,389930802134286,44063137011973/945363924228012:3555862417512229944211542037372/9119213968348277 -qaddz:304065915990821/6933490862650654,-179336341462285,23446882001027/1428507361849985:-1243426884869950368991555593569/6933490862650654 -qaddz:13794668675671/40367472899842,-309167092058184,502787291762833/565691523820858:-12480294210181685647999731257/40367472899842 -qaddz:-67226439568370/155342790290953,-999058912984495,463385115124522/611519522742283:-155196599208057935177067342105/155342790290953 -qaddz:959309013745217/47174481901345,384897898127779,=1:18157358929095601304695707972/47174481901345 -qaddz:65775323516640/39878078972149,40619665002388,983890817704139/3521649399512:1619834208787531337994008452/39878078972149 -qaddz:256671220274850/66938758003,-730244708478110,930955533204827/6929373391761:-48881673823530816492539480/66938758003 -qaddz:-893936101636063/827048331634,597691527840677,-126588969738553/668190758507:494319780931514439309440155/827048331634 -qaddz:234866720760362/249576871361,816339748530719,745271148727983/265090084030:203739520406157211340598921/249576871361 -qaddz:21197614731825/513159868888,-383505627380083,188859267143231/81431113864:-196799697464152377607825879/513159868888 -qaddz:964492287424130/65578382813,954893437672646,-807333982742123/64002138636:62620367402282827454057328/65578382813 -qaddz:-177007104279849/1974354920,357812362625802,199235392833781/39880047906:706448598410069193365991/1974354920 -qaddz:91059156010499/3926511496,80812106334647,889997682906405/8258270479:317309664630025024612411/3926511496 -qaddz:451880285884181/1898972562,396985801563335,-25588857743575/1369245348:753865145124230156098451/1898972562 -qaddz:-31366502392369/134800936,883517312779341,385458521261359/159439811:119098960703493425870807/134800936 -qaddz:-10128482818698/70545329,960042254669295,158648344293111/128796202:67726496699418719154357/70545329 -qaddz:335395247847445/29367757,-244136374073097,-48337710344902/5085513:-7169737373244565085984/29367757 -qaddz:122530580993759/16204629,960637241145668,=1:15566770218879665890931/16204629 -qaddz:817780076457530/3494021,283630218235935,3662113752156/4047877:991010756531016302165/3494021 -qaddz:-217463590706488/7914657,312381371588143,-746462040054419/4436039:2472391191846106405463/7914657 -qaddz:100306351636824/211229,-198763366297580,-307504584166445/361449:-41984486793319888996/211229 -qaddz:144895746707409/536491,670873254269860,-454046918862603/780899:359917607952238168669/536491 -qaddz:334763841889403/29410,-358386406501860,411931926070123/15800:-10539809451377813197/29410 -qaddz:177232274198821/12516,750894264493456,79990853919389/37735:9398369846674294117/12516 -qaddz:179909139835812/1979,408538585432232,499794975465566/4363:808677769710222940/1979 -qaddz:374051483837827/3284,-984497815753029,=1:-3232716775449109409/3284 -qaddz:72651383395505/137,180883369883715,=1:24853673057464460/137 -qaddz:-795240710923177/87,-266514612085555,-145736783502361/320:-23982011962366462/87 -qaddz:293684182859578/93,-548418457694218,115702982878171/33:-50709232382702696/93 -qaddz:-775889557419502/17,435575409934841,891608394581532/29:6628892411472795/17 -qaddz:298220230000324/3,766606056221642,-153273190527374/3:2598038398665250/3 -qaddz:249679021051517,393498225268690,=1:643177246320207 -qaddz:3542672594684587/23493960223203744626,-8259187214851748,=1:-194041015901719887360631082447021661/23493960223203744626 -qaddz:6602377363368086/26756588963267146371,647903723659326,-14331599050621/14088246371426023870:17335693621722809158754291144574032/26756588963267146371 -qaddz:953643270036373/672267077222382067,2730834301717412,=1:1835849994394189222848787000486977/672267077222382067 -qaddz:4732337125860764/6964537546610955687,1462613230096260,1598512177911468/1847092196188952335:10186424757175331839719046730291384/6964537546610955687 -qaddz:392871539920454/124667933854771591,4222301184211601,4921205597352118/360784888091913307:526385564748215632593338807347645/124667933854771591 -qaddz:2490987481558645/273236967005544791,5809366131098920,-8409430808361398/118474537825945987:1587333581886205001306049593284365/273236967005544791 -qaddz:4255269445550164/45737089432737585,4857866077021042,1465698613834409/6912785090125613:222184655216973491505517154813734/45737089432737585 -qaddz:9210797969401333/8163980149744856,9750466506961289,6445568175713494/15481234020450335:79602615013584036398759188280717/8163980149744856 -qaddz:414318154924738/4286466178431057,-1529884082696356,=1:-6557796377397951866564056203554/4286466178431057 -qaddz:1482835316159491/9227279017181664,3761016398994804,217567654667999/4259451401870992:34703947701720897607169976233347/9227279017181664 -qaddz:-859552591107487/51274074663284,-418382458987624,-4461813189832442/202453728783091:-21452173439940648539914304703/51274074663284 -qaddz:651597097619645/119852979164632,9814527719768623,549507364552128/130838602558483:1176300386308132636435962561381/119852979164632 -qaddz:3062835747588459/29244354985217,-1153612952589391,-1697694605519151/20613920170229:-33736666701065396523928444388/29244354985217 -qaddz:-3555234895468573/82553845875899,9556279680346194,=1:788907639878281506316585509833/82553845875899 -qaddz:-3430655994829779/1022475878060,-3861606915733328,23919352405729/346214612268:-3948399921890433631600813459/1022475878060 -qaddz:8941063770802759/6431761572186,-9248680430430457,=1:-59485307385862346247287666243/6431761572186 -qaddz:-1458085892513495/865768190522,2913463648461976,2967255557005217/183961790972:2522384151079091183948077977/865768190522 -qaddz:309596223775083/196561317238,1984332827634766,-56866515384243/60782960375:390043074438804409147671391/196561317238 -qaddz:9692793587023183/17106658395,1171032202882506,9344415493288159/22347599779:20032447873948158050561053/17106658395 -qaddz:1297322765335855/78060494353,2404633388766311,=1:187706871066125196217477638/78060494353 -qaddz:8963645561434168/8924489269,421621279944751,-927728264088899/2108513434:3762754597412620773811187/8924489269 -qaddz:2904608103864485/1444422187,-8951359589722050,1306658433557061/999915185:-12929542392305138079258865/1444422187 -qaddz:-6451464021043383/499665577,-9753719382757790,-1838096568039957/168375724:-4873597829733219012638213/499665577 -qaddz:-7656575927425727/878618401,1131218876361418,9338726624701012/366586573:993909712673109853826891/878618401 -qaddz:4172728002376239/19479743,368831988655257,-6420008608192074/55268659:7184756521911324335190/19479743 -qaddz:6161530173305165/99639697,-1432201837180119,490175175009028/6720087:-142704150937940218278778/99639697 -qaddz:6918228969049918/4185569,-1641939400683084,-9043134997963566/4283597:-6872443737148726164878/4185569 -qaddz:1451717795705836/141415,-9179648440127908,=1:-1298138532442892403984/141415 -qaddz:8140278576768419/808479,112313592852123,1026877402176763/31094:90811321514068319336/808479 -qaddz:5643486834069101/530944,1715393818673080,4580531049699971/438581:910783699148393856621/530944 -qaddz:-1028760789941125/31581,6778845120322328,3983036171498424/29225:214081678984109499443/31581 -qaddz:185311071775543/30749,3825266581520702,-9282766742556431/28854:117623307426251841341/30749 -qaddz:6239950654595061/6550,297809616078377,958337836911634/1219:1956892935967964411/6550 -qaddz:1051395142542259/1190,5736372693566227,843234486155860/5981:6827334900486352389/1190 -qaddz:8170656479179803/377,1507295266275575,2218120930173065/774:576420971865071578/377 -qaddz:-2473414150338949/204,-9581413081720714,-4722755512692772/455:-1957081682821364605/204 -qaddz:-8681518748104826/77,-3407099061618709,=1:-271028146492745419/77 -qaddz:8708666762588363/78,82065604323195,16011547616829:15109783899797573/78 -qaddz:-9527121546851805/7,5686511086561176,-10800792278755:30278456059076427/7 -qaddz:-3156505883016239/9,8703260342529372,-186440241608063/4:75172837199748109/9 -qaddz:-29299633375857887/9525577839119524640,19394264263578925,11770323744387737/9435334262616904973:184741573875175155232312577746354113/9525577839119524640 -qaddz:45414752276742165/12207900549477852191,73340302679712901,-1762362316527451/5610201133037246999:895331121382539119649801382270558256/12207900549477852191 -qaddz:51287924597675777/9802415152761834211,23795752241231275,26808795167323503/4767990503572354769:233255842340811827381416634655824802/9802415152761834211 -qaddz:-11478523036790/4661848726590019,-92346960041294475,-99921528151340483/9725949381928447460:-430507558072968016697671897881815/4661848726590019 -qaddz:35557351930961/1508286209602511,-81125561093339512,267345760579243/34391099339971446:-122360565043349990608741738783671/1508286209602511 -qaddz:-4793426675094793/37007904105416450,60895517302185125,11894447435691093/106928191679495960:2253615464768995346344506445211457/37007904105416450 -qaddz:31586795072540784/44373236784764585,90702169150810719,18513292834106234/37597849772411799:4024748828620693789339255382127399/44373236784764585 -qaddz:-1049981287826468/21587060162890651,71326478095880873,17797674000912830/41386390390327551:1539728973862882607828674533591855/21587060162890651 -qaddz:7766969806666613/5323521507239637,-31539639298859404,=1:-167901948138058494538892792329735/5323521507239637 -qaddz:28336169012562031/1963339938986121,36117112871692963,6517543421786160/2515812174582889:70910170181864535729772042928554/1963339938986121 -qaddz:51605249327254279/329660326356162,44496912384848741,=1:14668866658630834332811390546321/329660326356162 -qaddz:95776204572834299/360483541928559,14896033753227230,-634271284568050/59231390665489:5369775008050814030088926295869/360483541928559 -qaddz:3199790617176713/2044034589474,61554085339919034,86943016409024831/69267518528772:125818679558232164197205824829/2044034589474 -qaddz:63207445866080934/73630340098063,62781346312315459,=1:4622611880790123804296516936851/73630340098063 -qaddz:-10562032121106923/7562195446113,2371574008330945,-12004106935992565/4243540006504:17934306165909664170696759862/7562195446113 -qaddz:74286029526835348/6426144147769,-56596118082865321,10556610079748403/5666686062526:-363694813004573972309622783501/6426144147769 -qaddz:7784837673853468/63315839471,36983417562905989,24368105233273509/482119525015:2341636129509702481462345287/63315839471 -qaddz:41230861520352699/248615826076,65301921451058132,21820151723088751/772186719402:16235091145946112952997802731/248615826076 -qaddz:7868735455391473/2376142635,24220945772157046,42112368834645777/38165511736:57552421917114088371647683/2376142635 -qaddz:16212068555703281/21768826663,22486544931183098,31430506824676803/88055986181:489505698872898192433045255/21768826663 -qaddz:18990156909977866/4288195941,41076064025528634,4353887544365053/451796487:176142211045518165608052460/4288195941 -qaddz:-52094180225299371/8295443431,97662863401423145,-9449635278901807/4480020195:810156758603891764016311124/8295443431 -qaddz:70121165050790582/884849671,9294106339201909,871866453377042/132524629:8223887006602988632012521/884849671 -qaddz:89800859106311942/275630735,48525545845357510,-21376168718994863/279135020:13375131957432945925381792/275630735 -qaddz:65595348623886377/41322369,78674639156794339,-7330652418059047/43068742:3251022535774253157155468/41322369 -qaddz:4765824965091103/13071190,9760309664863845,=1:127578866854096607216653/13071190 -qaddz:-6087229416296351/2127106,89049693910575358,21234009428205913/420191:189418132128118891157597/2127106 -qaddz:62215823394518468/8207157,27553281434116768,-10639236075124883/1311092:226134168810804865827044/8207157 -qaddz:-8994816719328305/35983,-81534831740246875,=1:-2933876845326022631430/35983 -qaddz:33370840040824831/471708,31379166699519941,-3805555942820402/57901:14801837336337193154059/471708 -qaddz:15270801632993512/43891,62114435487940553,91890892291173796/96141:2726279958802831805235/43891 -qaddz:52066031635427411/80207,79948554826885018,-32268139784894785/9291:6412485803031602066137/80207 -qaddz:30138851628256646/2271,8808985720955931,4132024812310306/403:20035345423919175947/2271 -qaddz:-48704579394955369/515,96280004013075991,96197516817859731/8348:49535497487339179996/515 -qaddz:-76138989019830581/163,-7824132792666947,84793723224519789/121:-1351472634224542942/163 -qaddz:14262406418152892/23,45957936069739248,60434066726939490/989:1071294936022155596/23 -qaddz:34014765103829171/5,12306267367411447,20552835074171214/59:95546101940886406/5 -qaddz:91849502756698141/20,-82945870135128988,79066927763083824/47:-1567067899945881619/20 -qaddz:21965479380351319/2,66229223349934130,-87992715521815677/8:154423926080219579/2 -qaddz:13175376582771327,80435538108007231,-11481476371288002/5:93610914690778558 -qaddz:233543544528899097/29308688028184850696,-313371565494318136,-546211686884835394/64310476577955517625:-9184509449976866806361166554956123559/29308688028184850696 -qaddz:615655938896447797/54625270368834900652,952119518403165605,-481883729818516183/20964479862538317110:52009786116217798007515677541374922257/54625270368834900652 -qaddz:-306096577466260199/1563899474881584021,-795305085572154223,-267651228746045877/3959443707942409072:-1243777205696945233963124085010730882/1563899474881584021 -qaddz:303249287074462526/988120532724227499,996970552281399322,-597979414385274083/1415816308850447338:985127073230663601717735166266818204/988120532724227499 -qaddz:952339724809160651/584399533289204739,-621203230425875224,-89809265051648755/476952842063426958:-363030877938627789190802770194325885/584399533289204739 -qaddz:-165153711870868787/63787766852635668,255678391566014218,=1:16309153630469804511357374991058837/63787766852635668 -qaddz:-170282783383418995/92637597632923627,745590434716695858,727513707271968617/97034490370058355:69069706690241882092088302517817971/92637597632923627 -qaddz:402676307184383008/54079780485931177,-833124989932029446,616876399608513026/73463803299685963:-45055216572867773936309791509054934/54079780485931177 -qaddz:638546632762921290/5700920505461219,866490174226616488,=1:4939791602029182823423545032900162/5700920505461219 -qaddz:490462229342420061/2997315021629032,-794115458808160581,-232736090223412025/6604604996597921:-2380214193593530011634172725167531/2997315021629032 -qaddz:989191334948063646/238829798613001,932376780689163706,-297260947715156566/95515827924885:222679358763432156823484377005352/238829798613001 -qaddz:733917544080141979/846584851419104,-407471079015324208,-856462825746108845/144065790220028:-344958842885769496528467364727653/846584851419104 -qaddz:-776150844455451188/60437639060267,140648215789491479,110557086596050071/2940144395374:8500446100355055871518908513705/60437639060267 -qaddz:40423809761966727/80515282319291,-896056243874632922,993643995036126943/67717664005426:-72146221449529496100479662331575/80515282319291 -qaddz:241416851638718491/3382660773031,667600506773221104,972636880608985845/976751193229:2258266046317632867918161964715/3382660773031 -qaddz:-311949759477562509/5272945258477,790859608208962462,=1:4170159421226114570459102727865/5272945258477 -qaddz:901115730770569756/737757545883,-294335029298267342,=1:-217147888881589502127194883230/737757545883 -qaddz:18952440190304626/427387361229,-871562962990980105,43270210830528697/42201089691:-372494994897624619964197044419/427387361229 -qaddz:368767126618980087/13867934102,408207198365664686,-388533375692412433/38881769599:5660990527265847091495502059/13867934102 -qaddz:185955534050890250/81788514027,9078725197697519,6436386921261961/22246601990:742535443365117414885489263/81788514027 -qaddz:82375478298045903/9517446343,433517004473691938,-26962495372093825/2304101598:4125974828938829453324728637/9517446343 -qaddz:44007143033079188/7383992497,504540760833169168,449177596957809274/5425450729:3725525192466799748276811684/7383992497 -qaddz:224818172747147/390111499,962172118291046785,59451455054756859/215170474:375354407362750397748227862/390111499 -qaddz:666309089683814939/682581559,-650419141072050333,2300719817124450/74245723:-443964110650091957941794208/682581559 -qaddz:542166078934696959/86595368,203399832612491739,620419080726846107/28244360:17613483898383202470361911/86595368 -qaddz:297894210502629889/46145547,12817895959056372,-291344707530390547/39774025:591489118313956392405373/46145547 -qaddz:715463509593675473/5054643,203255281666377882,=1:1027383602151494890281599/5054643 -qaddz:-658143668234554099/5196064,-351454032197965311,885876617433980026/6310607:-1826178302502356660290003/5196064 -qaddz:-864175272258886331/214462,-113193172511339576,664419730196309649/256429:-24276498338399167034443/214462 -qaddz:554632290831706045/878862,789543599984323318,=1:693900422001713191610161/878862 -qaddz:150056203172522033/10088,195421727932292330,-430213757895224789/5107:1971564447584137547073/10088 -qaddz:649664968382611201/15350,341314581999530333,172494507042296540/811:5239828498661173222751/15350 -qaddz:5864597320149566/905,489601633652276174,975732764347807769/9424:443095343052630087036/905 -qaddz:-178366641538470155/6144,334923469737215876,171402458096874349/1678:2057591431423915871989/6144 -qaddz:783919995622849413/623,278317030520011920,784978030394811864/577:174175430009590275573/623 -qaddz:-749742866135544447/698,79278627691587063,696350994873672899/683:54586739262592225527/698 -qaddz:344612331720575876/25,384322240275621066,-573701559443193526/77:9952668338611102526/25 -qaddz:99948350225973980/79,433526372044256631,233613544663506071/70:34348531741722247829/79 -qaddz:-813485941375813961/5,-73645253545358755,182695807997160858:-1181712209102607736/5 -qaddz:109732737408333914,661611874779880732,190730815184312667:771344612188214646 -qaddz:4439294254467838396/7399413423727575529,-375832621848838675,572455588779808659/2231006844433926946:-2780940947183026582974366027530945679/7399413423727575529 -qaddz:7401374720469772972/86040177417213246183,-4800899289575736825,4427571953719739521/79545327171368379:-413070226637269428522568343871874016003/86040177417213246183 -qaddz:-8281164336639608343/9930865450361852117,6652240436187019086,=1:66062504715229724855994090627548896719/9930865450361852117 -qaddz:2289593814998925046/2242678823806551791,1233211911037543012,8805138183115340751/6847414846976791820:2765698238149906948783491675567059538/2242678823806551791 -qaddz:58801253288456253/38080076339475325,4579333826855732576,-4512504820594295629/667425159645398768:174381381710607976743900573639143453/38080076339475325 -qaddz:1716963717527421640/225107768198324627,1976152916296866074,-8003061483125113466/474882649845647945:444847372606198139049564734922426038/225107768198324627 -qaddz:1034271517993599571/34228782689291755,7928647196076102620,=1:271387941894551313583006246493497671/34228782689291755 -qaddz:-43641059638095731/1029053223531219,4223820009592786988,4164140830282395355/41576160555557154:4346535596487121765588673396882641/1029053223531219 -qaddz:84297032713892287/207039580865947,440521401243831520,-6509343821181533355/9783431747165674:91205366276002625631486487141727/207039580865947 -qaddz:-100413440983654438/8617388967629029,-6540040006542842669,=1:-56358068600234775154346511687892839/8617388967629029 -qaddz:1601279569975518578/576041083643833,1520282279789457956,=1:875745051894437875280462407703926/576041083643833 -qaddz:1171909659900623927/396276655723830,1432202312057184673,-8716463823146798000/535782069662653:567548342541959482379720697481517/396276655723830 -qaddz:4919734080771991528/21359215600941,-486806183295567418,9601757988490006002/10830396257143:-10397798224876307889797677748810/21359215600941 -qaddz:-3738648400400330743/50301136962499,9954014077000284556,8872351197089153189/16636866534142:500698225413830641940352100534701/50301136962499 -qaddz:167898860851405426/29985611753,3092079056219981783,-9747501808202416505/7849158986817:92717882089562932366622101025/29985611753 -qaddz:7674883887123290368/1292702782951,7265216107539444345,5305342163772150486/5832447092447:9391765080964346281672802652463/1292702782951 -qaddz:9423076605657351418/240889071441,-6059127953500151569,-9218210247853014151/104806977658:-1459577706451435060703511889511/240889071441 -qaddz:6906236673658662814/140167346995,5953302177726308344,6858441000058123625/723669979514:834458572118358858467470489094/140167346995 -qaddz:559876427517689463/32071119551,-5256353831354881895,-4515947459706955400/25152550949:-168577152127179433134512739682/32071119551 -qaddz:4068672547617525067/1548794000,1708587743626678397,-207685545846576256/11174851881:2646250449871210288820743067/1548794000 -qaddz:-5137896362067916551/3635693101,2393661747677268624,-695423398519672103/878721119:8702619497019951948732646473/3635693101 -qaddz:234276694270475397/294461381,-3074163560486378221,-5996024834040014309/815688460:-905222447206419268373507804/294461381 -qaddz:-1281564341537166075/106650493,148338290500462844,2961154916731862131/237638921:15820350531087237503616017/106650493 -qaddz:-6081903223358942866/140515995,8576558583908287121,10228381531459438/108952997:1205143657011760730194057529/140515995 -qaddz:2904197618588220738/91768927,1341853265056004046,=1:123140437229833704797299380/91768927 -qaddz:8444844737047959/6508337,-3121162187991725782,577600780863107469/77886268:-20313575342662659863796575/6508337 -qaddz:-7581658318588584115/8539308,1829695701216611407,=1:15624327557306300932102241/8539308 -qaddz:5686384777950870687/5180266,5725674667424296916,=1:29660523493104170838730343/5180266 -qaddz:-9349000804660487281/169585,-9931090441642768328,9282213820882713035/676238:-1684173321546793527391161/169585 -qaddz:-4987687379036548499/415933,-4529830725292970964,-2701909210096535388/203425:-1884111070750660328517911/415933 -qaddz:1296987410190297797/20878,3549166774468354520,3245395317975795443/28657:74100800904760495966357/20878 -qaddz:1416158818097070767/3904,7994210571119010019,7360059100347464896/48079:31210814228466712184943/3904 -qaddz:9709919947974007131/874,-6830730629919228709,2205443246566180090/303:-5960348650601431884535/874 -qaddz:1925917894957464961/685,-6027249478829109060,-5343051367134373712/1021:-4126739975102982241139/685 -qaddz:3125021296756461042/505,-3536767182227478666,1332510672665779772/45:-1782942405728120265288/505 -qaddz:-5071777645997131741/514,8260041058129029864,-531041568629881135/103:4240589326232324218355/514 -qaddz:-2218822602969636376/29,3585630033488142992,3393420876741550072/15:101764448368186510392/29 -qaddz:880044572043278916/11,-6109313865580717394,124212297019093925/14:-66322407949344612418/11 -qaddz:6248985291450346275/2,9493162199953532306,-4130466083733148400/7:25235309691357410887/2 -qaddz:1986241673445749321/4,5178416138859731379,2046732894250340779/8:22699906228884674837/4 -qaddz:9979832122548221402/12717137847146036559,79527741365413786355,73831860449336535169/1514391878508936732:1011365249616145076974769500777993573847/12717137847146036559 -qaddz:7935653883386524088/43702671649323180779,31726785951925090635,-73129402153480840711/23070283018861257208:1386545308945341622873014968339451428753/43702671649323180779 -qaddz:-93473235956409121974/3521849589372767293,14176089406854262878,86358338521892655661/8513932339338708236:49926054656441321879828060404133327280/3521849589372767293 -qaddz:-75776234900005146680/1934924867434433667,58779385165176736174,=1:113733694048607113038507934157157223378/1934924867434433667 -qaddz:10754058131593805677/10119651272346505,54504300977159159643,95585489620287220450/323814423064533371:551564518731865556391884682101903392/10119651272346505 -qaddz:-26320122648161591867/118955488311945989,36439044282055136810,19850642639958356517/200120485264504867:4334624306192492122600675236564163223/118955488311945989 -qaddz:21672449029428526941/15150265559827046,99277026381166669676,18730584597709492865/69655516304512819:1504073313664630491063919887801384037/15150265559827046 -qaddz:85792494086863781236/50064798708777621,-76374367048497097864,-76196863606569205097/60267456232905085:-3823667312793305504369462034586320308/50064798708777621 -qaddz:82198870205394916580/3448850359841959,92122854365946272671,-9499119469817233118/381994720733569:317717939429662268414058202075719069/3448850359841959 -qaddz:6940206776533138781/442725248202698,52972508975617224025,5617429131950608687/3366289783208936:23452267184149790024086119808558231/442725248202698 -qaddz:55599986966946799564/351405696052723,81353132501416252986,2145222144601366685/198829739629804:28587954152729636171116544308980442/351405696052723 -qaddz:94458271410973778847/361353862043500,54761990849557223858,-14653194369734462194/40666523642913:19788456886678404891313989807601847/361353862043500 -qaddz:-84180062330049702321/10106997571532,34216878817519062264,43542034768301689369/65407469845390:345829911113985714017035852166127/10106997571532 -qaddz:-24742695506396929785/17404029796744,41450961372253719353,=1:721413766826363551856884212256847/17404029796744 -qaddz:34674970696505269672/434120698329,90706045368333568168,4047354904123103766/5628094003009:39377371757997599606800990460944/434120698329 -qaddz:16761364796027525373/5854257789796,65993384007951488766,2006868112336026267/163736160281:386342282403565536077626910957109/5854257789796 -qaddz:13213233170358417707/28953389411,-84133659565012740924,38441120866807154861/611830462605:-2435954607945105525978669538057/28953389411 -qaddz:-64998396976150810447/657173799966,68741723486105419807,29966320909708913126/113185344833:45175259639510928939657721516115/657173799966 -qaddz:-75993621747015299032/49530111977,64950591439466856818,=1:3217010066893177413628750610154/49530111977 -qaddz:-20552895783534231165/77134912822,22987772657101552827,59095027841080059905/57879333453:1773159839856930680727938416629/77134912822 -qaddz:23575585295873866365/354640952,10572907047388947403,63974647548865514804/2902818571:3749585844269110717151714021/354640952 -qaddz:-3423087053862335915/3563944811,14776086984480635327,87473419453510292251/150143797:52661158531801310749782602282/3563944811 -qaddz:20175953575026075815/258856713,-707977887059042238,-88657359408605704674/445245889:-183264808544835335630767879/258856713 -qaddz:5641506401094150499/81605428,27796153257209226730,-31152461920419370958/183221007:2268316988949659433944840939/81605428 -qaddz:64291966735347840169/1472255,-37813006182818155116,58751143690989021203/3131508:-55670323125718207612466411/1472255 -qaddz:-40829665387689228845/40252968,65646528058726294873,48548143291840415697/19567973:2642467552429346280592204219/40252968 -qaddz:84643493739932974309/2975141,-85925500041436529739,29931128280261616739/3657301:-255640393475285778591243890/2975141 -qaddz:49533459783522540811/7076331,28143218875743097472,=1:199150781703665812199676043/7076331 -qaddz:45584750001594149227/984336,41115590339049176247,15975001635513275306/154305:40471601316728311544416219/984336 -qaddz:6418669402794912089/164220,73293587179171456413,-2508617797150506151/19201:12036279305232939367054949/164220 -qaddz:9535512106815022878/7681,28863162607332458363,16912585483283156773/19761:221707487499027427709081/7681 -qaddz:31040563813369589503/9684,-10330625966877227525,58520741913037533005/66343:-100010741299425701762597/9684 -qaddz:25406696906821168845/637,-96989536360380372540,89275628731812608081/8978:-61756927964655476139135/637 -qaddz:12530150187862657939/1219,40341242697614742420,=1:49188504998580233667919/1219 -qaddz:80569150582987599935/2,-15179790697208915754,82993038152425243161/355:50209569188569768427/2 -qaddz:36661516357580891535/19,-66347692158873159944,2979405734116612133/33:-1223944634661009147401/19 -qaddz:-77628572518590925665/92,9553267737685350880,69073840554559304981/47:801272059348461355295/92 -qaddz:94231430591775515069/83,1462408193524266778,-64327046129355071262/11:215611310654289657643/83 -qaddz:-6524291256793749081/5,46538712122784125243,=1:226169269357126877134/5 -qaddz:1240850785353652095/2,42205460810156144332,=1:85651772405665940759/2 diff --git a/polly/lib/External/isl/imath/tests/qdiv.t b/polly/lib/External/isl/imath/tests/qdiv.t deleted file mode 100644 index f0dd12f9996..00000000000 --- a/polly/lib/External/isl/imath/tests/qdiv.t +++ /dev/null @@ -1,803 +0,0 @@ -## Rational division tests -## Generated and verified in PLT Scheme (see imath-test.scm) - -qdiv:3/8827981081671378268,0,3/3926508931624275206:$MP_UNDEF -qdiv:-3/474373049650626538,-3/30777320180374251050,9/1226655408788630648:15388660090187125525/237186524825313269 -qdiv:1/1306590006879123716,=1,0:1 -qdiv:4/687201385528545547,8/9869825196514386591,-3/5975430289097816269:9869825196514386591/1374402771057091094 -qdiv:1/61423611473194332,1/15455670029280858,9/557484359857054244:2575945004880143/10237268578865722 -qdiv:-5/979333377476953559,1/99869524971840393,=1:-499347624859201965/979333377476953559 -qdiv:-7/30691138649930912,1/11634392715914207,3/17315717048169457:-81440749011399449/30691138649930912 -qdiv:3/20309884568576860,5/77811383120554786,-1/10721697997657271:116717074680832179/50774711421442150 -qdiv:9/5449666303362005,-5/2861847982830984,1/1826459823357042:-25756631845478856/27248331516810025 -qdiv:7/8847841671787170,2/1586192862907947,=1:3701116680118543/5898561114524780 -qdiv:8/289082769132563,=1,0:1 -qdiv:4/404037054778449,-3/231560563043393,7/849880896656765:-926242252173572/1212111164335347 -qdiv:1/48469516794680,-1/28088185111303,2/21754840126411:-28088185111303/48469516794680 -qdiv:8/50407054689999,=1,=1:1 -qdiv:-5/3164747219031,=1,1/3512888487599:1 -qdiv:5/5486024696808,3/3947571370957,4/5612399333251:19737856854785/16458074090424 -qdiv:0,1/41619742838,3/808926099199:0 -qdiv:-7/908640056265,1/159999865095,4/624715801203:-74666603711/60576003751 -qdiv:3/31854541511,2/14382200067,7/81824133981:43146600201/63709083022 -qdiv:-2/53726093607,2/89209379771,=2:-2175838531/1310392527 -qdiv:-1/6605722316,1/2540812616,9/2982865172:-635203154/1651430579 -qdiv:9/9991323937,=1,0:1 -qdiv:3/179688887,9/702152629,=1:702152629/539066661 -qdiv:3/404963252,-5/696394373,=2:-2089183119/2024816260 -qdiv:1/6333273,1/37207089,2/31767299:4134121/703697 -qdiv:3/90875674,=1,3/86752486:1 -qdiv:5/7636188,2/3416475,-8/1655405:5694125/5090792 -qdiv:-2/244339,=1,9/4733791:1 -qdiv:1/107213,-1/229854,=1:-7926/3697 -qdiv:-1/191856,2/941299,4/169459:-941299/383712 -qdiv:-1/11772,1/30223,=2:-30223/11772 -qdiv:-7/11960,6/95509,8/90341:-668563/71760 -qdiv:7/6422,4/4147,0:2233/1976 -qdiv:8/9005,1/5326,=2:42608/9005 -qdiv:1/665,-4/217,3/278:-31/380 -qdiv:3/140,1/227,1/100:681/140 -qdiv:-5/27,2/11,=2:-55/54 -qdiv:-7/26,1/5,-7/78:-35/26 -qdiv:1,7/2,8/9:2/7 -qdiv:1,1/4,-5/2:4 -qdiv:55/20700362000632320869,=1,69/80225473900126748965:1 -qdiv:14/3091014050673014971,-28/81380133061144194395,84/40859471274765910171:-81380133061144194395/6182028101346029942 -qdiv:1/314668662662881104,98/4475605721586782695,=1:4475605721586782695/30837528940962348192 -qdiv:3/1845567143863582553,11/786490044553073944,18/1855454337971843903:2359470133659221832/20301238582499408083 -qdiv:63/385333292496806971,=1,-1/32472264092720881:1 -qdiv:3/149509460292616220,=1,89/655644037836531409:1 -qdiv:59/60850170481238094,=1,31/16962204174702505:1 -qdiv:-21/11323738586240236,89/72739976921345915,-68/47763887738600551:-1527539515348264215/1007812734175381004 -qdiv:42/8561938043647535,-93/6809871846010066,17/9985561445050651:-95338205844140924/265420079353073585 -qdiv:74/824445644271491,=1,-10/462004715375339:1 -qdiv:-91/158705946232261,66/377268980338471,1/180572218716832:-34331477210800861/10474592451329226 -qdiv:13/294374634105374,17/137508734190942,=2:893806772241123/2502184389895679 -qdiv:60/52806122696123,=1,25/35647894318199:1 -qdiv:2/70084255188433,=1,=1:1 -qdiv:-11/522366309775,29/712593081308,89/4408829724580:-7838523894388/15148622983475 -qdiv:84/102632540711,61/53857049409,15/1404297586412:4523992150356/6260584983371 -qdiv:70/902531223717,92/698425518183,18/41071684813:8148297712135/13838812096994 -qdiv:9/100549718122,=1,-29/262025912406:1 -qdiv:5/78979980317,-29/15117078653,65/7124115824:-75585393265/2290419429193 -qdiv:31/30756865282,=1,-11/69831756369:1 -qdiv:43/1638160013,-9/6652991074,36/1999878215:-286078616182/14743440117 -qdiv:4/7372173731,11/274587688,=1:1098350752/81093911041 -qdiv:-75/216042979,-19/338590753,33/292120913:25394306475/4104816601 -qdiv:5/521918956,74/512764585,-35/161566463:2563822925/38622002744 -qdiv:18/42121601,28/26500085,65/84650518:238500765/589702414 -qdiv:41/41853940,11/85956056,53/26801053:881049574/115098335 -qdiv:96/7914185,0,=1:$MP_UNDEF -qdiv:-18/2408419,-29/2331289,39/1991248:41963202/69844151 -qdiv:-21/209413,=1,38/45091:1 -qdiv:73/941827,31/311506,-28/306503:22739938/29196637 -qdiv:-80/34347,=1,76/60617:1 -qdiv:-27/34016,44/3123,11/36759:-84321/1496704 -qdiv:45/4447,95/7813,=2:70317/84493 -qdiv:31/107,16/1959,-2/1335:60729/1712 -qdiv:7/6,=1,-72/455:1 -qdiv:82/415,5/846,4/63:69372/2075 -qdiv:95/28,-25/38,28/19:-361/70 -qdiv:89/43,=1,79/14:1 -qdiv:-49,8,-71/9:-49/8 -qdiv:-10,=1,1/4:1 -qdiv:808/45524274987585732633,-72/3230580501556764385,69/50585273432898431555:-326288630657233202885/409718474888271593697 -qdiv:319/66978137654707641182,=1,=1:1 -qdiv:-669/4359545352267142613,389/6178257053522267612,=1:-4133253968806397032428/1695863142031918476457 -qdiv:991/3477727818712482910,=1,529/5027018252141619996:1 -qdiv:3/23180871072888724,592/673665479785224825,-596/518946796253532009:2020996439355674475/13723075675150124608 -qdiv:179/793396855429515116,931/387517624716045840,-695/566279872123894778:17341413706043051340/184663118101219643249 -qdiv:221/3427690629405359,=1,598/80947651271959489:1 -qdiv:-724/52750058649448927,153/12336232443953527,67/55314453014305481:-8931432289422353548/8070758973365685831 -qdiv:575/8856014113088424,77/1046092009770736,=1:75187863202271650/85239135838476081 -qdiv:639/7628460189090482,=1,3/187674005095612:1 -qdiv:167/57172907255471,=1,458/490173841920009:1 -qdiv:-64/133181712979849,571/541047169178329,495/108993178847291:-34627018827413056/76046758111493779 -qdiv:-527/33346321735789,13/1536370494056,616/27148895576567:-809667250367512/433502182565257 -qdiv:-600/42483246609437,177/7709155575481,-274/29153462781241:-1541831115096200/2506511549956783 -qdiv:-891/3797928330707,-557/8539817631461,44/93582862751:7608977509631751/2115446080203799 -qdiv:30/101373302507,64/912736019917,127/1421964160402:13691040298755/3243945680224 -qdiv:95/811213545591,967/271585517890,-221/724077624393:25800624199550/784443498586497 -qdiv:482/121409952851,873/176693357788,-173/379909953056:85166198453816/105990888838923 -qdiv:211/83869812582,=1,425/21426470616:1 -qdiv:89/16604301838,-370/14168930881,=1:-1261034848409/6143591680060 -qdiv:357/8146855082,-657/9471809692,=1:-563572676674/892080631479 -qdiv:-21/2562596293,903/2881728821,156/164990119:-2881728821/110191640599 -qdiv:-579/609663644,=1,157/25380668:1 -qdiv:-39/383217583,929/665052497,817/218315394:-25937047383/356009134607 -qdiv:937/74356752,422/14604731,959/48789395:13684632947/31378549344 -qdiv:81/64759993,-169/12649693,-554/43474193:-1024625133/10944438817 -qdiv:-277/389415,=1,=2:1 -qdiv:251/2232087,-151/728262,=1:-60931254/112348379 -qdiv:-61/65749,-207/485432,=1:29611352/13610043 -qdiv:363/228754,227/70325,569/103195:25527975/51927158 -qdiv:159/83267,-157/2354,327/82759:-374286/13072919 -qdiv:41/1099,471/99860,201/1723:4094260/517629 -qdiv:14/23,27/70,=1:980/621 -qdiv:775/8954,916/3399,-956/2393:239475/745624 -qdiv:-16/17,-337/37,753/524:592/5729 -qdiv:680/89,955/296,-767/913:40256/16999 -qdiv:671/29,69/71,=1:47641/2001 -qdiv:45/7,227/47,-588/17:2115/1589 -qdiv:309/4,=1,477/7:1 -qdiv:995/8,-542/3,=2:-2985/4336 -qdiv:709/12248686694307459921,-359/3012348473905143856,3209/3205529400054125663:-305107866856963856272/628182646179482587377 -qdiv:7039/48532814476573486698,1842/19665238977050464607,-686/59623200188183875815:138423617159458220368673/89397444265848362497716 -qdiv:451/329309233590151305,=1,=2:1 -qdiv:809/682008587763566662,8909/1007199215258353342,2888/6648659691864956039:407412082572003926839/3038007254192807695879 -qdiv:7143/477997774542113905,8817/680997252822749635,-1905/134302220820939382:324290891794193376187/280967091875854553359 -qdiv:347/219003978754231945,-8579/862605866526757805,1879/749017786570395462:-59864847136956991667/375767026746511171231 -qdiv:2252/19919238262742963,3008/30104309448888197,8998/18293466522564645:16948726219724054911/14979267173582708176 -qdiv:3132/7632328378838467,-7891/65522084848474051,-6375/16422802718592713:-205215169745420727732/60226703237414343097 -qdiv:3091/6666475760056275,-4948/972687207365139,-1089/869334750550498:-1002192052655214883/10995240686919482900 -qdiv:-1181/1328394658282401,-4449/5267675168926367,2101/2626633098162958:6221124374502039427/5910027834698402049 -qdiv:7323/118964685899438,-259/116805460794557,9535/306412793639648:-855366389398540911/30811853647954442 -qdiv:2433/121526971245398,360/82851643972451,-3062/418315498791959:67192683261657761/14583236549447760 -qdiv:6067/57796241878231,964/16961015496389,-6693/83462416525900:102902481016592063/55715577170614684 -qdiv:4159/18938105171021,-3304/15702563734975,-497/5886368665864:-65306962573761025/62571499485053384 -qdiv:-2339/6560171909556,-3315/879777839282,1570/7171072558101:1028900183040299/10873484940089070 -qdiv:1225/584214253087,-6283/3835506609411,1613/7130518143781:-4698495596528475/3670618152145621 -qdiv:608/483278255319,2413/247017404385,-9588/346021249721:2634852313440/20458779475171 -qdiv:5057/839656743164,-8443/6430957362,3191/797476829669:-16260675689817/3544610941266826 -qdiv:8/2915377743,-2073/42761112191,3028/25982265273:-342088897528/6043578061239 -qdiv:-3080/48285456271,7722/56966382901,4950/16693686061:-7975293606140/16948195151121 -qdiv:2506/7829482533,3738/894286585,1315/9318157842:160077298715/2090471836311 -qdiv:395/539727584,3101/2435581364,8543/4140459726:240513659695/418423809496 -qdiv:-2933/85901348,1075/31492019,5089/657510451:-7105083979/7103380700 -qdiv:-109/7944981,1560/35171599,8205/374231336:-3833704291/12394170360 -qdiv:351/84445888,=1,-972/45463937:1 -qdiv:1896/15952037,1648/24133709,-8841/97126097:5719689033/3286119622 -qdiv:-7849/786920,8468/8925921,-3114/6765635:-70059553929/6663638560 -qdiv:245/566264,=1,8221/9131472:1 -qdiv:79/17927,=1,=2:1 -qdiv:1970/222369,-9680/117859,-333/53716:-3316889/30750456 -qdiv:1255/31098,5871/80299,581/4346:100775245/182576358 -qdiv:2551/88863,310/16021,937/5727:40869571/27547530 -qdiv:8096/4615,=1,359/1549:1 -qdiv:4380/6089,-1293/32,=2:-46720/2624359 -qdiv:4841/137,=1,63/127:1 -qdiv:-7195/394,1026/73,2871/383:-525235/404244 -qdiv:-2123/25,=1,=1:1 -qdiv:4877/72,=1,=2:1 -qdiv:2059/8,=1,1797/2:1 -qdiv:4309/5,-928/7,9812/5:-30163/4640 -qdiv:1276/48998512603828859815,=1,=1:1 -qdiv:-87759/12642453185607565556,61169/76861786640093390298,=2:-3372656766873977919581091/386663109455214588747482 -qdiv:-73621/3641518581487027232,=1,=2:1 -qdiv:30239/2864992309604629419,69203/360791977688831821,48533/7318731980981091051:10909988613332585435219/198266062801569169683057 -qdiv:3258/375353145849458519,=1,=1:1 -qdiv:7705/911649391027518118,-4527/523603872108693505,=2:-4034367834597483456025/4127036793181574520186 -qdiv:80183/27684870128356298,=1,31447/10044082204150725:1 -qdiv:55812/2242876918063201,273/5987187297553853,=2:111385632483691881212/204101799543751291 -qdiv:4768/1013825352338725,547/51853159734450,13214/1209874359544049:9889434624554304/22182498709171303 -qdiv:6676/2650290894306779,=1,41501/3206334096847699:1 -qdiv:28681/68017529704052,=1,-17941/468955454103104:1 -qdiv:-19043/55558808816913,76696/93211283557235,37794/88565241121255:-1775022472780426105/4261138401021959448 -qdiv:58963/41164814718796,37371/41375121127588,-43794/48988525394521:609900316761492811/384592572714031329 -qdiv:12779/2181401551509,=1,=2:1 -qdiv:9529/1314170728394,48148/4767551174553,88486/9446535741037:45429995142315537/63274692230714312 -qdiv:45171/1935400244048,=1,=2:1 -qdiv:-8055/796756979512,-40221/581590215415,13256/244193996163:520523242796425/3560706941439128 -qdiv:73154/947174782947,39139/519633159803,=2:38013244172228662/37071473829762633 -qdiv:-42235/18400469972,3745/6423311093,-18889/85101890714:-54257708802571/13781952009028 -qdiv:63068/11796773127,-31/59107640,90784/7564528991:-219282390560/21511762761 -qdiv:16431/9543805406,42548/5364916925,-5126/2217017905:88150949994675/406069832414488 -qdiv:57923/8084487099,72400/4961088589,979/745380355:287361134340647/585316865967600 -qdiv:51393/552384269,8157/339410251,69420/934416791:5814437009881/1501932827411 -qdiv:16234/493942565,93863/203157564,58764/900515657:3298059893976/46362930978595 -qdiv:-43437/39051397,12197/12032365,=2:-522649838505/476309889209 -qdiv:61845/28993019,=1,-30098/34003047:1 -qdiv:-21977/2530949,7118/5886975,89761/8051121:-129378049575/18015294982 -qdiv:-67667/570818,24964/4493829,77381/5174833:-304083926943/14249900552 -qdiv:80188/494389,=1,88457/134084:1 -qdiv:15689/433436,13517/141762,7082/140371:1112052009/2929377206 -qdiv:10873/14999,=1,95341/35511:1 -qdiv:66107/92401,-30477/19660,82518/86557:-1299663620/2816105277 -qdiv:91501/4959,49360/2327,1601/402:212922827/244776240 -qdiv:-1728/335,-29231/3035,23678/2657:1048896/1958477 -qdiv:-31582/403,6626/71,-96811/384:-1121161/1335139 -qdiv:1149/28,16127/136,1326/875:39066/112889 -qdiv:13158/11,-59582/45,-5678/35:-296055/327701 -qdiv:83796/5,15431,=2:83796/77155 -qdiv:-50168,82697/4,27476/3:-200672/82697 -qdiv:43313/8,-23369/3,37118/9:-129939/186952 -qdiv:343272/40939026292046552549,=1,-149188/1630670088822528293:1 -qdiv:7090/17394546172873749111,806868/84886259115708426355,977287/27695656418221378384:300921788565186371428475/7017551340707148098847174 -qdiv:273653/494417711699854970,520824/6619891999027460951,385411/1812431346892436901:1811553305209861771624003/257504610278365264895280 -qdiv:30655/71199858589215198,=1,684829/6532276093969322272:1 -qdiv:181927/723554427646445064,996115/645768630995539314,80483/188550933731713724:19580458288520913463013/120123903115839770821060 -qdiv:72786/190019706414733673,37703/744879257576358133,926598/93783057457592441:54216781641952803068538/7164312990954703673119 -qdiv:6030/34221301230292789,254491/329459713137161,=2:1986642070217080830/8709013171398442165399 -qdiv:-374458/43126191217786237,=1,896258/14496576313551015:1 -qdiv:564923/3144080096402171,794248/4739399554899871,-434642/3276748536360521:2677395814752699824933/2497179328407231512408 -qdiv:199922/1178376836454579,=1,83513/1610790739884089:1 -qdiv:-268911/54100968009644,28397/60052294389392,81027/47026501432603:-4037180634136448028/384076297142465167 -qdiv:893838/55403243375203,986288/2293797524067,=2:1025141695658499573/27321777051021108232 -qdiv:18303/82870490401642,913885/30405433858676,=2:278255327957673414/37867049060352299585 -qdiv:5047/32151410465425,=1,176188/13701013860219:1 -qdiv:187835/1220654728179,405949/2196086232716,=2:412501857522209860/495523566249536871 -qdiv:378036/6357059248081,114851/4050423226594,862111/3515447797224:1531205794888689384/730114611701350931 -qdiv:-294719/147652614747,104431/366828548330,676351/724118840846:-108111342935269270/15419510210643957 -qdiv:-331898/628206486043,=1,-177396/338495728537:1 -qdiv:177685/26330782667,=1,-420269/95383974662:1 -qdiv:-318696/28047340105,197485/16144733252,-240020/96906119801:-5145261908479392/5538928960635925 -qdiv:-576953/5244331985,=1,2965/50930228:1 -qdiv:370624/2877285795,5441/59491598,666008/8960730819:22049014017152/15655312010595 -qdiv:-902401/154074924,-583513/621607888,790132/568175569:140234894934772/22476180282003 -qdiv:220793/55445126,-127133/589508175,=1:-130159278482775/7048905203758 -qdiv:992605/96130864,-338301/47600647,-268171/7895145:-47248640215435/32521167422064 -qdiv:200098/69076309,-713974/36753541,226577/9980229:-3677155023509/24659344320983 -qdiv:-24613/302985,301411/2633942,57255/1357249:-64829214446/91323011835 -qdiv:-224679/8931277,-609222/9892805,231393/5325206:740901844865/1813710145498 -qdiv:374358/364639,-31343/26526,-293019/312248:-9930220308/11428880177 -qdiv:-390237/256456,390385/933736,-349530/445567:-45547291929/12514571945 -qdiv:-871638/36751,61626/4051,=2:-588500923/377469521 -qdiv:-87914/16631,783263/70173,-431150/88143:-6169189122/13026446953 -qdiv:-128/2205,-668595/5258,=2:673024/1474251975 -qdiv:405269/1719,=1,=2:1 -qdiv:123781/830,=1,356120/629:1 -qdiv:-130038/131,640786/467,214577/394:-30363873/41971483 -qdiv:940928/95,=1,934701/79:1 -qdiv:-468415/11,=1,79087/4:1 -qdiv:170049,838068,204415/2:5153/25396 -qdiv:937045/9,=1,=1:1 -qdiv:-895965/11817608522407410412,1662758/31138269586404741097,1787239/8265484069296678539:-27898799709983123856973605/19649823111501100921836296 -qdiv:9485555/29939758418824763622,=1,=1:1 -qdiv:3256189/100080959665237165,9746921/1570372596135540846,7102111/7910145060985949414:5113429973437990611795894/975481207461253093518965 -qdiv:8443036/2594663966536136217,6210896/4467012950800475059,=2:9428787789018659935059781/4028797012775855571405108 -qdiv:1180903/105749612753261488,=1,5874507/437668716132551285:1 -qdiv:-96672/840052608584629,2690215/425934540850990364,4714612/192754505384388189:-41175943933146940468608/2259922128403497705235 -qdiv:2821007/83364576953405163,=1,582088/4860812540794867:1 -qdiv:-797070/17849830777864213,=1,9498931/55689637536119864:1 -qdiv:7021411/6724756422420817,852445/1318535168793131,5879850/6896277416986789:9257977338050946727841/5732484988510513347565 -qdiv:2862688/9366273253135011,-2712503/6212570364248993,6269770/1992362624741777:-17784650630891221273184/25406044297948476742533 -qdiv:1770043/227457000705496,1050787/653965284988262,4665931/732005792365452:578773337468239117633/119504429700163012676 -qdiv:-6397271/15882716560575,4689255/783371764982764,2301170/95355180815573:-5011441474343051637044/74478108045259121625 -qdiv:1734439/13086156486143,-3265601/63043422188314,8065931/40472250566091:-109344970136877145846/42734165707305066943 -qdiv:2779319/3703679337417,-2792251/56401900482152,=1:-8250467034008116552/544294859662208193 -qdiv:8906654/1989823550291,5015729/711711398937,350071/21519066915:6338967178187826798/9980415686077527139 -qdiv:1342773/5863720123828,8311991/8825950349708,1394645/2412447722267:2962811957232115071/12184797223944305387 -qdiv:4499434/306371176997,=1,3752751/959913819173:1 -qdiv:-3583690/490293948611,272623/13035328183,8190059/637847763742:-46714575256135270/133665407152176653 -qdiv:-1213471/56665475600,3817747/17865032159,-816041/17280339528:-21678698439013889/216334449475473200 -qdiv:-2100116/20836208549,4331/50448644,=2:-105948004442704/90241619225719 -qdiv:36713/12904114,883015/6814675799,7851017/3608793001:250187192608687/11394526223710 -qdiv:5022803/2809898795,8967230/3296219033,=1:16556258847609499/25197008771487850 -qdiv:781841/201099058,85007/147631535,2241175/183484024:115424386955935/17094827623406 -qdiv:3699468/393449053,829829/358610807,1152449/409680870:1326669204950676/326495434201937 -qdiv:-3463205/9915829,9661223/82242321,503777/9897306:-40688859614115/13685576456981 -qdiv:-1589921/41367712,9942811/90188714,3708164/23097593:-71696465175797/205655670959216 -qdiv:-5779163/4536533,=1,=2:1 -qdiv:2210759/3222751,5205241/5080834,=2:11232499493006/16775195637991 -qdiv:2183333/139811,5752077/430948,1225681/247001:134414712812/114886233921 -qdiv:-8070429/171845,128419/37928,290524/56769:-306095231112/22068163055 -qdiv:-3211584/2153,3758472/791,=2:-105848456/337166259 -qdiv:-6466794/31769,-3915902/42711,-7456369/21580:138101619267/62202145319 -qdiv:3729205/1518,-260137/3841,2483611/6182:-622777235/17169042 -qdiv:6860802/4649,=1,5289160/3861:1 -qdiv:-83438/7,571053/190,-1052132/281:-15853220/3997371 -qdiv:8063462/909,2183491/660,8119557/104:1773961640/661597773 -qdiv:3049687/87,-1582395/16,-1200911/16:-1574032/4440915 -qdiv:352110/19,=1,=1:1 -qdiv:2962406/3,-3345297/2,=1:-5924812/10035891 -qdiv:7149844,-6647775/8,3754198:-57198752/6647775 -qdiv:86792351/49133761328196981964,83681596/94733888541192208399,45540422/93887740620391683883:8222176905862032109831156049/4111591565426603253130734544 -qdiv:37275015/45938947789509093778,=1,-31078003/24048804548446901925:1 -qdiv:18714228/278784499974669995,28535131/7442575198888787547,-18894836/167878993350595593:139282049179150116798118716/7955152227546704989094345 -qdiv:-24811360/2159236580309869299,44687068/2174509444305355231,-2185967/982469534126187980:-13488134161515029641056040/24122487973098647608881333 -qdiv:38561291/399479362141639464,73235730/642777863686427933,-44021955/503809548217143929:24786344249970680274941503/29256162706377329542848720 -qdiv:-9532213/318095670778469600,28369139/87482667379251144,-92704577/641723560262485864:-104237927408396710637709/1128012537451580286209300 -qdiv:12970933/24974407644034125,=1,7781491/55007097983499252:1 -qdiv:-73795622/62522679678898791,-40287452/37729183605206197,10065628/1450024137592451:1392124285849196872934767/1259439728237505227635266 -qdiv:45877577/2870321629840685,62804508/3060757957189363,-24942819/194614932107914:140420158859317704613451/180269137763902339807980 -qdiv:27765340/1722659366920429,-49740100/4392314052861681,32854898/4914960185867565:-6097704653224127296827/4284262458827941525145 -qdiv:31840878/650549338557053,=1,82034659/746923000065290:1 -qdiv:-3799624/89718613403123,=1,68910040/992826933898731:1 -qdiv:31394779/66096039231279,-10511385/62803293159157,=1:-1971695509203945841303/694760915335077611415 -qdiv:86839209/60474989629672,50531989/58732772835419,-863777/980850237675:5100307535404473143571/3055921510741699577608 -qdiv:27323066/1973122068799,-78173848/609142108427,75125805/9127401261224:-489518530350884623/4536663079168781428 -qdiv:36867962/1416533338363,635443/97562183222,98853338/2812167235847:3596918863665733564/900126194129399809 -qdiv:47352329/413811029048,=1,10407191/442238417413:1 -qdiv:68800501/774974238286,-2280234/152962980017,-48441105/249265282913:-956720878147508047/160647509751258084 -qdiv:65729629/84892894017,=1,-25288745/76133875626:1 -qdiv:76580386/41315133127,=1,-96951946/56344054531:1 -qdiv:16421575/8944123642,=1,956371/8341427945:1 -qdiv:3853661/95830379,49444059/3207768145,-6661391/2303483651:1765950142489835/676891844752623 -qdiv:55380577/150811366,32344153/137899626,37704187/990478015:3818480427982101/2438932948021499 -qdiv:-1819205/194369638,=1,1770897/587958251:1 -qdiv:27198033/94223324,1701651/36639143,-5208757/47970432:332170873468573/53445071169308 -qdiv:26144007/33885110,94294868/78704229,77077115/11515724:2057643913905603/3195191974615480 -qdiv:7734047/454358,41930099/1017254,26486906/1535151:3933745123469/9525637960721 -qdiv:95593715/5378931,77945657/2828365,15099226/479451:270373917725975/419264310752667 -qdiv:64278733/781984,-55137203/906657,=2:-58278763225581/43116410550752 -qdiv:2755454/91023,-44515162/293371,53356021/607819:-404185147717/2025951795363 -qdiv:-851882/63,-75090427/4230,-20131985/3239:400384540/525632989 -qdiv:-4882658/14371,=1,60992107/31701:1 -qdiv:-11263333/2311,69417077/9812,11529690/407:-110515823396/160422864947 -qdiv:-23572979/329,15626746/7287,-22762379/5404:-24539471139/734457062 -qdiv:45146947/609,5802442/59,=1:2663669873/3533687178 -qdiv:48034468/31,50219011/517,=1:24833819956/1556789341 -qdiv:6524645/17,-58706702/87,=1:-567644115/998013934 -qdiv:334487/34,84187235/74,=1:12376019/1431182995 -qdiv:21060395,7521975/2,89723525/8:8424158/1504395 -qdiv:49115243,-71749933/4,85184626/9:-196460972/71749933 -qdiv:309597727/33672758861109919384,-177164051/55601420918529748854,895889621/23670804105482899489:-8607036767173531213539627429/2982801184090189837176432292 -qdiv:48916804/2660589522598316323,313914094/34752378183509684779,904253494/34791426109034240319:849987636068309641218063158/417598274746171497229978181 -qdiv:242729/247715169151474017,221774365/420531110603394201,93370673/386036618278885054:11341677327294585668281/6104097148826193214908245 -qdiv:16768055/4024792916152716086,-311564292/4024075770824349991,76507261/4630876961864888130:-268828381869920701148755/4995943248477037255823112 -qdiv:23219936/109884862578864265,380304636/829661649046413301,-237169652/48494008574580541:4816172598128044469692184/10447430666241248898558135 -qdiv:516810898/660599886600041083,74020472/119618011649135401,=2:30909946008682063757200049/24448957704640758091525588 -qdiv:189691986/87372198519829129,649602410/62948713754669759,162659075/29230871469718464:5970433264134411679425687/28378595362739717493300445 -qdiv:14774898/4079300020169327,819672300/24627820907020229,=1:60645590310581894568607/557281538320373108590350 -qdiv:71574531/9911187558077269,287480027/3692301867467201,=1:264274774474389069457731/2849268466798117360206263 -qdiv:719634375/1976359498657996,6512606/19580323447829,2020281/463180107697268:14090673826676267521875/12871250729117056697576 -qdiv:663048253/304000499307584,=1,26624410/650833137359949:1 -qdiv:248932257/31572538733168,-3297144/159684389656921,453206117/278240003582858:-281919117198331916317/738292245736400512 -qdiv:693286598/13147402069069,20606065/4637179960822,588199091/60290317447874:3214894719352057663556/270916221616370303485 -qdiv:1279088/487824767579,431725597/47207595894190,=2:60382669417107698720/210606439014430019663 -qdiv:78549245/8831126280331,541356457/4279964344475,=2:336187967885431171375/4780787234439578947267 -qdiv:110033578/47682346357,-152259539/1111037317327,-766205582/7952747013871:-122251411317011206006/7260092074755149423 -qdiv:47060001/489637479337,140861141/250864895102,=1:11805702214365015102/68970894015773743517 -qdiv:109248031/51582112839,562377671/23862568900,-27370055/52346954108:2606938666926835900/29008628483656017969 -qdiv:-342511511/53452279775,=1,547211519/16341758885:1 -qdiv:340877767/26494707436,-719326026/7059828707,32400255/14657164768:-2406538645044657269/19058332609970529336 -qdiv:-932440839/8204417554,-57679385/756117222,189301605/4430094677:352517288432014629/236612879398962145 -qdiv:-980924395/4737725778,96878060/5344143499,-563492138/260341141:-1048440145709951621/91796336436926136 -qdiv:-748092457/68521924,=1,=2:1 -qdiv:-72010946/931437,38577842/94683927,-194004572/356767967:-87413835311089/460677300243 -qdiv:-99158610/59323363,528264721/50347358,=1:-4992374036452380/31338439803976723 -qdiv:-273698543/89114428,65593727/66452645,-456099010/45664741:-18187992114996235/5845347461993156 -qdiv:-434183749/4880425,227158395/799133,696633020/1207589:-346970561889617/1108629509917875 -qdiv:-950455305/243592,-458911412/6191101,201783811/2324399:5884364789240805/111787148671904 -qdiv:699903049/451554,-235876093/487743,-158455564/246001:-113790937609469/35503597766174 -qdiv:220813028/437657,=1,735013805/653689:1 -qdiv:7685509/196,754004453/40926,-707049919/17530:157268570667/73892436394 -qdiv:222143479/26751,391098157/28855,193987153/3253:6409950086545/10462266797907 -qdiv:129843395/733,174902609/2529,586864566/2891:328373945955/128203612397 -qdiv:318016269/2750,486693651/2170,=1:23003176791/44613584675 -qdiv:199207703/783,697191979/15,628918929/959:996038515/181967106519 -qdiv:-822112671/383,700601486/287,=1:-235946336577/268330369138 -qdiv:702853697/90,57317887/96,6934229/20:11245659152/859768305 -qdiv:236859557/10,-12598119,-844214996/3:-236859557/125981190 -qdiv:666692788/3,837163259/5,-44955282/5:3333463940/2511489777 -qdiv:-267890720/3,994822169/2,306713231/6:-535781440/2984466507 -qdiv:8971865945/84652096998217220652,-1766409152/949158554479936975,51683336/978028041559081475:-8515723311343973731748816375/149530238873642626243696207104 -qdiv:-4783142107/20353559370672239325,1489328761/30130844818064603669,9037981957/29934040642660151619:-144120112568767560055460590583/30313141359463225930997726325 -qdiv:-5011919027/9589021627165778205,6908330432/8223014240433381075,-223144684/369584710951584897:-2747538768728001022382280935/4416275328003700232170922304 -qdiv:3264032212/4288823609663243543,127527384/8323211793086562335,3176342735/6939281510473238183:399518108822541446555675515/8043271402614567205789434 -qdiv:-4588453891/349300703246919169,-4621109572/563134654578914825,2946587906/489244399145625531:2583917396959562695328834075/1614156823280669651376185668 -qdiv:-2433362101/159409638288916225,85838756/19437108683105947,7818956051/899163746350160639:-47297523622488030397514647/13683525045130537342216100 -qdiv:4804263237/27326781078392456,875410347/26595379067270065,-7249537521/50005537812647291:42590400642321641076700135/7974048968742858036380744 -qdiv:-2132504576/319379206557339,3197623346/47180453249202543,=1:-5589585136204360627685376/56736355950816859668683 -qdiv:-17110179/337414992862541,=1,5637859401/8456872970863411:1 -qdiv:929796549/785511765727417,-8659917002/9734288265288811,=2:-74800889554022586414159/56218733018957846081354 -qdiv:2024811003/923122484568110,-2213327573/685808753095771,2505827052/382175752770445:-1388633109222027433568313/2043172448350864859497030 -qdiv:4321265761/608661263330203,-1955439753/18999520283666,1985116091/422495636527147:-82101976477230893359826/1190200430427080111759859 -qdiv:5403084171/20759093453216,1272181959/3497884340798,4111729721/4478504823638:3149893918959073884743/4401557362729400955024 -qdiv:4169845699/5710332227959,9148517943/2081193666800,=1:8678256460292019093200/52241076847974077768337 -qdiv:4493194533/2604354754064,-3502324668/5226679118353,4603317541/1537717259387:-1118308859063283788769/434347423780067640512 -qdiv:6987915227/4137866098763,801022943/1354532951118,=1:9465361434590718873786/3314525680171066919509 -qdiv:5294179409/20297663855,-1916636849/2091902413,-1119938671/198399693697:-11074906680542013917/38903250493108392895 -qdiv:1295990518/61239499731,=1,539185569/58234040869:1 -qdiv:2091734371/22379348546,3771243501/14969120476,-1020067815/19323989012:15655711901644540298/42198986380358149773 -qdiv:4013255624/2622410663,2585175687/49776501221,6260772357/9422047988:199765823468221116904/6779392287317150481 -qdiv:27739307/489082696,=1,-1635872773/284162212:1 -qdiv:1004677799/8383863362,3327131707/4220463949,234611693/146976367:4240206431040168251/27894217618865818934 -qdiv:8434446327/446741110,305497651/332988425,9725313826/929456845:561714599634952995/27295671942026522 -qdiv:344714653/17732695,=1,-3209292581/367817366:1 -qdiv:-6843554898/34497445,=1,-2081199716/16214703:1 -qdiv:5803347322/79453889,1102662623/8094456,=2:46974939550646832/87610833652290847 -qdiv:8712618248/2572733,=1,=1:1 -qdiv:-4833921086/2762331,-7642479217/5423409,-1583615993/2873706:8738777041034058/7037019085991609 -qdiv:8518925689/40191,=1,6550456120/871279:1 -qdiv:876819073/100630,-902089199/140111,9433117031/258480:-122851997137103/90777236095370 -qdiv:-110986687/426,3857966128/39887,1189959236/13549:-4426925984369/1643493570528 -qdiv:-7975883597/55733,-1666217426/13007,9979667239/98463:103742317946179/92863295803258 -qdiv:9307983176/5287,=1,-4477921884/4391:1 -qdiv:-6231410261/9293,=1,=1:1 -qdiv:4528426169/109,644958250/991,-966669111/247:4487670333479/70300449250 -qdiv:4728746197/670,-3092342009/975,5344313590/51:-922105508415/414373829206 -qdiv:-9298448594,6025771347/65,230306877/25:-604399158610/6025771347 -qdiv:8659053685/17,-5401196332/59,5062434592/49:-510884167415/91820337644 -qdiv:-9777515257/3,4806469000/3,2254605905/4:-9777515257/4806469000 -qdiv:51777408,125752274,147067434:25888704/62876137 -qdiv:-50627047179/45073388301558717898,-39488625025/47733211534284913713,32711658675/27270403149344569493:2416591552351429302575995065627/1779886129246473834093878197450 -qdiv:-91204883678/4376981341885366059,=1,92252001911/64145968577542202922:1 -qdiv:-6468661773/3340956703659991393,51917096173/4290285077565474605,-4184909817/2082344794208597768:-27752403076520125481965774665/173452770493744834242733238989 -qdiv:79042137253/2565404331216876095,46463876503/9217979332756333154,-71237527399/9032839782059615122:728608787615043443963462385962/119198630025922238587532895785 -qdiv:-71497371020/911351878610216589,35308340296/356473827680782925,64081379374/293532001774391069:-6371735379153120728201458375/8044580564842102716669092586 -qdiv:-59711844557/491536178108971083,-80079287644/210346837810811533,=1:12560197682415668432518875881/39361866994220711332435198452 -qdiv:82691530516/13829489779198215,-54368150702/41857898377267367,-23138364722/2016009305137557:-1730646840499715679485735686/375941892223608628924698465 -qdiv:-2532396359/43747227235758060,281496679/79780911611953,49395555307/46061856818743718:-202036890083810598079127/12314699182324243937482740 -qdiv:39329031241/771013386869700,23150277229/3870964064839779,42048700955/3103108290222419:50747088879624005983511913/5949724551101261166687100 -qdiv:36630047839/8265775107927151,-17088940048/166471968138409,7720288135/2420444961206493:-62864702647035107663383/1456219951233173329798384 -qdiv:3233508452/61288804249597,1009629177/396153232886351,-1862094182/304377258983311:1280964826825140313938652/61878964993834721691669 -qdiv:39400418349/280335370062674,=1,528864863/5327344259528:1 -qdiv:-30978168489/22888879909274,18822952031/21160004002172,1575282546/5389019145925:-327749084603599268979054/215418144287792067017747 -qdiv:95503923490/49551349663127,85560857352/20589539380841,30851800131/2025645536851:983190896861090417927545/2119827980062941250629852 -qdiv:37807143/340515189301,=1,-2818312259/743193551514:1 -qdiv:-83826099190/4358399428931,4772431013/6348630185134,-853009636/374419764711:-532180903619670747441460/20800160601671793837103 -qdiv:58301964846/768140939347,8148193743/65129075956,8259717541/561157474998:1265717698946391947592/2086320398576455968607 -qdiv:19788341553/40137672403,17083972289/174789239733,=1:3458789175625802525349/685710883077812040467 -qdiv:-10973954453/10832242662,34763618831/810622373,6976849061/881334394:-8895732999884776969/376567954986664768122 -qdiv:80042291705/98079883084,86963751533/70819982692,25719162328/28990442539:1417148428294028792465/2132348645725666441943 -qdiv:-62862242431/5180961911,-26432627160/2693765641,79398909214/5912386617:169336148776840113271/136946434523624102760 -qdiv:7346613183/88310017,50873662935/5009376481,=1:12267317097974916341/1497551346214039965 -qdiv:-8864563721/49900586,47950826631/18964907,-17937545168/328567993:-168115626564338947/2392774348071305766 -qdiv:24094021571/450614802,84569474563/64046670,-12933174970/817622387:257190308088453095/6351376172575046921 -qdiv:3494981654/23432223,-89282047405/11919821,48429893805/30458672:-41659555713963934/2092076844690531315 -qdiv:33495688780/3147047,=1,37167537331/76683481:1 -qdiv:5470526576/1258187,=1,17782212381/952621:1 -qdiv:1485833227/309723,-22316021107/3171654,83073086566/5001853:-1570849632582486/2303928335107787 -qdiv:-9654830/13783,68644421742/595891,6668182574/31547:-16070464535/2642810237067 -qdiv:-18629056304/310987,33795740865/249491,34685999906/394187:-4647781886341264/10510036064383755 -qdiv:58031794382/46405,-8325673530/923,7246189925/58537:-26781673107293/193176440079825 -qdiv:42752677499/79662,68629448895/67033,10722691188/21005:409405747255781/781022736839070 -qdiv:-14745678708/1589,-18308273147/872,-7354773097/844:12858231833376/29091846030583 -qdiv:36286205520/4483,16203338783/1827,78196029593/7698:66294897485040/72639567764189 -qdiv:5973900741/238,=1,-62903827999/275:1 -qdiv:15604013335/563,-83645760588/407,=1:-6350833427345/47092563211044 -qdiv:47070101778/5,9828239935/11,=1:517771119558/49141199675 -qdiv:14795131351/62,84397328746/93,29769038089/50:44385394053/168794657492 -qdiv:4462854035,72133672643/6,79206774199/5:26777124210/72133672643 -qdiv:77933302681,-41096015935/8,22243311204/5:-47958955496/3161231995 -qdiv:569473516504/74989462888441761347,16884022641/33541962454158520316,-961841214350/8067206202574290521:19101259309214790462605845295264/1266123789244879955792666657427 -qdiv:239854097519/52524719736478674886,106866734141/32499507073759497471,89805916001/5326340692191230017:7795139938988940832361667874449/5613145259908802128558135482926 -qdiv:-677983905959/5228931513669930017,90555544897/909803638402840864,=1:-616832224420067701296618308576/473508742449475516893291473249 -qdiv:200250717/41414149596190990,-189493590347/1507829061340539502,775951232712/5167695853317665663:-150971925323440008221161467/3923857949074995465316186765 -qdiv:-630502736561/79958533096752240,-705956121098/327213288587355799,256428699470/80995134791334257:206308873893452061172472667239/56447215873669265291942759520 -qdiv:660718319453/697816356986416684,128827317994/37354325475235679,331980136084/301012355599229933:24680687152298103397985363587/89897809722903725688255011896 -qdiv:545833880297/25947106528604223,8458087019/90279863958356590,720827317409/51875766695198665:49277808457075055538901107230/219462884910197530744881237 -qdiv:44847037444/5916668180191961,258200335112/6285554319853929,953656869133/47501466102410949:70472122484696276618379369/381921426718017882672108658 -qdiv:-160898376199/4244945324446856,927280098477/5862228193719167,=1:-943222997277410780922906233/3936253318482561347233038312 -qdiv:176768268366/3002473163637239,48101070360/1068329140204261,=2:31474448693140808084117921/24070362149687771109189340 -qdiv:951576739240/465019676388521,207183722946/207969918137525,-162267142743/832527824784031:98949668280657886691990500/48172253898658956359351433 -qdiv:50497726912/167462116853589,561688826809/565768492770317,-23899967761/571729295367736:28570022843329314205671104/94061599950444071831067501 -qdiv:769692991889/77684301794679,=1,667256125514/92489368710909:1 -qdiv:289207008385/46369327373772,-371984422048/18704673822691,=1:-5409522759077686040264035/17248667443887083093725056 -qdiv:584171767751/2720004210686,=1,428825886595/4631070272424:1 -qdiv:820600220165/1539493346318,780404246878/3986857306711,59567377973/1411194292060:3271615983653485532027315/1201427145506990824295204 -qdiv:-398300561149/618514875987,-626035084114/392429382255,852340023938/456860499943:52101614387840641003665/129070670804760607923506 -qdiv:91238813259/372867824401,672788008343/125652609006,163390268350/18360751511:1042217720782234146414/22805545541266931543413 -qdiv:-448368178212/59572694995,=1,525642488427/25427754721:1 -qdiv:180771359707/24203640124,257130797261/27852202428,-904507763905/73268882369:1258720125936041692149/1555875320425612225091 -qdiv:-305344025090/2609111987,165179438933/5095448550,471583662827/9986485010:-1555864769896004119500/430971654126024789871 -qdiv:18656226690/3750570061,49208551961/1566294696,=2:29221148911920636240/184560121730089439621 -qdiv:-507207818414/660318275,441940040115/475326707,=2:-241089422091380582698/291821084942167601625 -qdiv:-117224089919/84114141,716572188281/615080131,=2:-72102208583734299389/60273854081746581621 -qdiv:32648685593/8729669,=1,404404757551/92590568:1 -qdiv:11283539119/1423144,673710725321/52857428,175857709907/93503240:149104714141931483/239696844119057306 -qdiv:-783312088280/1307187,=1,-999024378776/8099417:1 -qdiv:-335550743735/9259612,=1,110401498541/2695293:1 -qdiv:-969453169592/714537,-142206723743/5688,=2:612694403182144/11290218418127999 -qdiv:915427154883/429041,=1,=2:1 -qdiv:33170923218/1141,492375916059/48304,-152255782445/12013:534096091707424/187266973407773 -qdiv:66307453504/1149,-380214630350/90741,=2:-1002800773067744/72811101712025 -qdiv:115050365732/105,-356906258167/6917,133352622384/2245:-795803379768244/37475157107535 -qdiv:-936999502170/2803,-22830683342/699,653640693595/4907:327481326008415/31997202703813 -qdiv:299176277149/342,240000696411/4,755800068407/466:598352554298/41040119086281 -qdiv:-182582420949/29,133253307768/5,-631023253657/163:-304304034915/1288115308424 -qdiv:936258791901/32,-530850202731/22,405531901705/82:-3432948903637/2831201081232 -qdiv:407182068269/13,170897351552/27,=2:10993915843263/2221665570176 -qdiv:148775056789/4,302163295511,99960897446:148775056789/1208653182044 -qdiv:-337133478853/9,213727099090/3,=1:-337133478853/641181297270 -qdiv:2931561288588/46490752158254610139,-8202572289073/5477030782824843748,406508166805/409333849870858141:-16056251419334141316586635547824/381343755351460032640212424711147 -qdiv:8659279723725/77988438020199829427,472793658484/11699334077378093301,=1:101307806357325053531850553266225/36872438931022959247544091408668 -qdiv:2933595046594/2949357762979009185,3563536035074/8149803984266631315,4953133863743/4139113595975136772:796940819965221171181561483037/350338088956698021793464271823 -qdiv:-4417286673431/7291794623128083428,=1,5735393868933/1602164499207861679:1 -qdiv:5248399908431/133410821320193982,4294585586137/263895726266579654,2738534220357/842657575741413097:692515152786424448774583831437/286472095138201924171005013767 -qdiv:4823557797176/919788364227952961,4539296003171/202991457794647718,=2:139877289857927988799859320624/596455949357591266717470691333 -qdiv:-8420302353377/39920399284053083,-5878820386633/66459700639056554,-57753189302/1760668157424275:559610773695778812487195882858/234684857153620681793355639539 -qdiv:7389413759263/1342000762039062,5356497784623/12667867863288484,-6593133123716/2889567465913753:46804058544754751951948113646/3594212054412306699594471813 -qdiv:1110445958551/1731649423193452,9842168648143/8566872566929873,-784869046327/167483466404282:1359007002766958389525956289/2434740808932786168687079948 -qdiv:1750996678106/4784358421053287,3800412570471/5372315012242984,-8798822160864/7712445715859279:9406905740176459704104908304/18182535885009697370933688177 -qdiv:2392372723343/980802467194173,-5448032534257/790892614293517,-6821479423957/326036850666889:-1892109917529246153239467331/5343443750953388433293284461 -qdiv:3989933324048/125562720671257,=1,3984983239471/152537155573207:1 -qdiv:4001595047662/49753925398623,=1,-9759772064070/51453270252949:1 -qdiv:368358730412/8572667880419,939557773577/12062683819407,8877992040917/39600926316690:4443394897078137606705684/8054516747341535313888763 -qdiv:1215069339240/989318778961,69044090164/8028108572887,3367060670233/4440041254459:12767943166236631504170/89406564104085955811 -qdiv:1791644247845/5689125725259,=1,=2:1 -qdiv:5606399066403/368046160633,-3784609207827/3426986245,=2:-6404350828181307542245/464303629479008974291497 -qdiv:-131513275529/98691678493,-561412154288/53531566077,-1122072538634/477295425653:7040111598983370629733/55406707833053807327984 -qdiv:2966189201493/3188846587,-765990729969/28303317097,94779711197/8832856319:-27984331179851201608607/814208974978428088601 -qdiv:4487898063908/86671538827,20575135814/82013021801,-4824743345930/15244374571:184033040877976247629154/891639341286949625089 -qdiv:6640651737996/5578359755,-1524912145445/1866824798,-1206385524772/935902225:-12396933339372731624808/8506508542061094565975 -qdiv:-1670244987890/2390269259,211444100122/435503801,-4113147761077/5387610014:-363699020413646984945/252704166259267374799 -qdiv:3616096167490/89600697,-3281988440649/45164705,1140366335303/460713772:-163319916656316440450/294068451828093532353 -qdiv:75228599651/227555070,4602761483680/8510461,8893663369183/844450330:640230063414449111/1047381711612106257600 -qdiv:1795848602659/48671731,2894778221972/9864249,-1468924406276/60038807:17714697782930438091/140893866924479473532 -qdiv:150328765525/5091087,1032046096177/24250562,1454940060232/550925:3645557048747475050/5254236463647474399 -qdiv:5125626061499/940322,9381566963714/9633539,-8717701934147/1648464:49377918562867014961/8821693810453475908 -qdiv:-2858213327627/534239,3443629667062/7382473,7810993394329/9751719:-21100682719446481571/1839721269701535818 -qdiv:-1463079225989/126068,=1,-6765832125078/62359:1 -qdiv:1136379360139/124039,-504843410569/55521,6082255198462/98425:-63092918454277419/62620271803568191 -qdiv:-5785459125301/48585,-980138141280/17669,6000542902487/97411:102223277284943369/47620011594088800 -qdiv:-7679165118448/26823,-944998596479/5462,1824880606740/11483:41943599876962976/25347697353356217 -qdiv:3243495212743/8274,=1,=2:1 -qdiv:-5971611956701/476,1643325077002/3767,475412157786/739:-22495062240892667/782222736652952 -qdiv:2952006102878/561,-2920328989442/43,260516724704/29:-63468131211877/819152281538481 -qdiv:9857529529369/141,664372705021/114,-6783178462275/902:374586122116022/31225517135987 -qdiv:5524525978566/67,4357728100577/48,=2:265177246971168/291967782738659 -qdiv:2336151251737/30,=1,194224488061/2:1 -qdiv:-415797686927/8,=1,-3430578037345/3:1 -qdiv:-323787783182,2111647170213,1892571894592/3:-323787783182/2111647170213 -qdiv:19507584899771/19602559368642654516,-98762473989467/63334639758731491371,-3928554750602/4788014258733220903:-411835287396622150572883462125347/645332419924184274699173167994324 -qdiv:55521794790863/72416102594186986653,6390012176892/15510036414312966041,=2:861145058994297080790192816083383/462739777379915195047434279022476 -qdiv:61284142285049/2628054567745986049,=1,-44698994133307/3227806563441401147:1 -qdiv:-85595920452185/5755403767929246941,45867122342099/7759255048184778135,45612340440994/3866169183382889141:-664160577872639158424643100974975/263983808751788330415801251269159 -qdiv:4740740764385/24661806310764913,3530577952996/95659364762369765,-69284592611657/403777287873565361:453496250024140373610112819525/87070429641844221178520029348 -qdiv:20986114241917/947849730677321165,25408740172553/922531137812244018,42932138005871/490205905567788427:19360343849853428823690688102506/24083667529404391955545898984245 -qdiv:45088960299948/94417228575271127,50050142431591/43572012598861909,20043424278442/2756764567254895:1964616746258918695428071880732/4725595738188403692879874973057 -qdiv:21661156181730/71263658579336941,45008374468118/4277846527853817,26745019699809/84174122749515532:46331550880656462369663081705/1603730715653453519692992073519 -qdiv:99154176787717/8705129313567042,-45151880678379/791205466934650,-22406681696383/1924187101524921:-39225663371923231697880847025/196526480028019185473628192459 -qdiv:-5609307442339/94365505564204,-14842593099555/1569343315609241,=2:8802929139831877689263054699/1400628801723273247416329220 -qdiv:-97037008499074/756578572377141,=1,503224365293/860417586944670:1 -qdiv:85000145508250/380984289349707,-15377953570116/246971712665843,27541060282194/114009089402725:-10496315756509182254824852375/2929379356281716958334278006 -qdiv:-24399306423841/29748858502501,=1,62060968306792/72768955027007:1 -qdiv:-4232559885721/1925922878561,864465944283/775519705501,15493915917617/18579937913849:-3282433596089696135051221/1664894739831468401216763 -qdiv:15584390849814/2278161614515,54457886654043/1079434289611,=2:5607441955329714560494118/41354622327616490710744715 -qdiv:11500059385610/2919980131561,41696366394311/9941918005064,-32114194968938/1137740395947:114332647465101300708729040/121752561429675892981949471 -qdiv:-31278600650774/453275229047,-28532854752978/575231763625,-3852037577017/756431205514:8996222308033400370647875/6466618136760442777675983 -qdiv:44062310842317/210587042386,-55360722545765/100402527517,12610888787411/239675278392:-4423967376808340040536889/11658250825264599879795290 -qdiv:48958684754698/12723573349,4149226003351/3090304164,91252399807903/12674198651:151297227361406547962472/52792981395214568292499 -qdiv:-88974567840351/35825259835,14381460656143/10545670717,97792216817499/5521151606:-938296494631719471701667/515219564813152563916405 -qdiv:-29910765212475/3946907284,=1,36882758665041/2632441948:1 -qdiv:12047819336467/160596922,21879038061983/8612278458,-76714046143249/572675448:51879587468665298963943/1756853084537657508163 -qdiv:78772359143669/473800927,10721848829934/52677443,=1:4149526458766152558367/5080021914776594548818 -qdiv:18817085731832/220202645,46482990078371/128558081,30334199853605/727511244:2419088431696802534392/10235677362766051491295 -qdiv:1071383129760/480581,=1,=1:1 -qdiv:59583931345369/53336138,-86968002500/590691,-24368993907767/80312012:-35195691990327359979/4638537382924345000 -qdiv:5688670904574/472795,75880902224492/703611,-80911142949749/9592736:2001305711919108357/17938055583614347570 -qdiv:34034170400721/362423,19314454819243/6528148,6009826067910/6552391:222180101433125994708/7000002658954505789 -qdiv:83460851334154/339967,65893345957783/584029,66032371258108/62613:48743557543834626466/22401563145229613161 -qdiv:696783133091/32893,37868822555967/926246,95224409497087/888005:645392589893006386/1245619180333422531 -qdiv:37717285918991/12822,-1013012164984/227,-18964497863773/15698:-8561823903610957/12988841979424848 -qdiv:-10788708465143/1210,35785601092532/21011,7989331652889/78460:-226681553561119573/43300577321963720 -qdiv:88903457578888/8873,3656416213577/1396,=1:124109226780127648/32443381063068721 -qdiv:12369335335111/1726,49037936736719/2202,=1:13618638203957211/42319739403788497 -qdiv:12617072789709/796,-14476116805342/121,77649458159946/637:-1526665807554789/11522988977052232 -qdiv:67256470760364/343,93944013181019/811,37737599056319/358:54544997786655204/32222796521089517 -qdiv:-91036418449252/85,=1,-14624790219589/71:1 -qdiv:90733799845020/23,12126352178876/15,=1:340251749418825/69726525028537 -qdiv:16289285460967,75541729906965,31946672959257/2:16289285460967/75541729906965 -qdiv:531095972608,-5291079364402,12305754948727/3:-265547986304/2645539682201 -qdiv:160966533905511/4967535563229348506,-442581751532572/8984740788208442429,495627298842758/79806562952710497373:-1446242582717381874997643569326219/2198540590374386626354894598537432 -qdiv:846754392871971/52993412627792440100,-675514445173562/91617804931552670537,27007423378808/1709931290008410469:-77577778791079552140504662184818427/35797815729116844431852155988636200 -qdiv:45614023605550/1179336166017880593,811804712592947/9699287451192063895,901835327286365/3950301615799586609:442423526755689695993353876617250/957390657304613583282558459977571 -qdiv:464881279654941/9833448339137766220,1646029459597/2342068146526146209,-832981812917597/18521573988396140:1088783636996150710534902035268669/16186145655645954516040321413340 -qdiv:4229214776561/171585302869236077,295560300000344/195031349213283619,362544544704566/882044098766689437:824829463985447643862206454259/50713803591681301033130117210488 -qdiv:-783158820408286/503902970658703793,28022392112882/393792758740011325,-148579890099548/819284251472506133:-154201136210076013184280381919475/7060283315322135516614328780713 -qdiv:60027070722089/3527765978642153,37939143520707/1586793930078527,=2:95250591462205287902363482903/133840419771172027935698562171 -qdiv:141700790775610/12344985164771471,448607065704321/72973195171472846,-244344912157487/80621772408426809:10340359461220627648694394086060/5538047570931503297279622226191 -qdiv:-444095239925813/951645354772783,-163717942365872/3710144267118465,179957355330809/2863453381499460:149787037133214031805625676095/14163765395040027237637605616 -qdiv:490326069822452/448476138248369,=1,-236690894605813/2698259084215151:1 -qdiv:165158943072602/623311238414071,-597025041348600/83514840703301,-552484980244026/127678064255807:-6896611410716957117792029601/186066208943603905731528075300 -qdiv:-325041244622487/131017693842736,498210461660640/209968722758669,429274286710968/922035781432495:-22749498325757227956037196601/21758128578367297773853703680 -qdiv:-238357795569557/66187456271695,39950248573653/1546335570925,90339128985173/5004173134412:-73716227579295071828866045/528841066102400696597330367 -qdiv:-359791068917359/63265515095071,-994683695475560/28650227587657,-399535391547415/31717531716704:10308096008488719777261437863/62929176350930046925956964760 -qdiv:308293748883350/6238067591429,78244308628587/806222876113,=1:248553472912393419138418550/488093285869757029225580823 -qdiv:682129460838697/3097305982387,225155835658909/2056462894529,-875562120758647/6664025303008:1402773925479852984592788713/697376516755683065693635783 -qdiv:359301682748683/2940702974,268231011568139/65687387428,-14850805009387/192019789638:11800794419122542088878662/394393866718727380472693 -qdiv:-241203400501853/332337903488,235227035230030/173322412037,846432442456450/482763093159:-623969480097129824597083/1166788951224568448049920 -qdiv:248519658251861/276786224,=1,-394213812698198/83455587503:1 -qdiv:182875910078197/27817962639,=1,=1:1 -qdiv:110911658388961/383629306,687630093841477/2420083617,155379288838024/9875847499:268415487401425129751937/263795055685120695524962 -qdiv:573112467958159/9872133118,-489234981147827/3619910406,238846563705977/489924762:-1037307893285040668351277/2414896429936784290217293 -qdiv:888923070376622/668668973,33510462457835/119313137,507394628224328/514868127:106060200078306542283214/22407406516435585253455 -qdiv:-55229371022605/427082953,265672135996511/172307189,286493947193530/652156591:-9516417671143123007345/113464040371207515576983 -qdiv:86350760735383/34763061,166332560995049/10808478,409535214096212/2843497:311106765897216992358/1927409654719036361663 -qdiv:-526887225315220/62364781,379859437167168/29483203,31678687276584/32988215:-554797250788406080345/846066093204060453936 -qdiv:726480663971978/9429277,621839044883483/2484303,282821010941771/7377203:1804798092947576861334/5863492603621793931791 -qdiv:-266940245547361/6815452,381659084362202/6793379,=1:-1813426258356285722819/2601179169834538345304 -qdiv:-52306849857668/413037,=1,851795607859277/218365:1 -qdiv:-955560519915196/876763,600541379064812/884807,258058491132109/283242:-211371659236151206793/131633115283250440889 -qdiv:83188488364775/7428,=1,909855616022861/57814:1 -qdiv:12513129780980/65681,242195762149522/26907,733634580329507/67945:168345391508414430/7953829926871377241 -qdiv:102024066442285/634,54104883041557/6299,51186522023145/1582:642649594519953215/34302495848347138 -qdiv:-26631109318613/1062,404096111387523/1555,374428590131443/4870:-41411374990443215/429150070293549426 -qdiv:963930172849509/556,429505950038041/339,=1:326772328595983551/238805308221150796 -qdiv:35409769648583/190,402498581379988/269,142263070810850/29:9525228035468827/76474730462197720 -qdiv:979207315133077/41,=1,277675341412115/12:1 -qdiv:729890422328468,-207010622708828/13,=1:-2372143872567521/51752655677207 -qdiv:664184931453977/5,263094792374994/5,612770715664829/8:664184931453977/263094792374994 -qdiv:386777398336118/9,-203562236005259/4,280368609411177/2:-1547109593344472/1832060124047331 -qdiv:846748198636336/76773803058781380969,1801233601495438/43951036051554528101,-985640234538135/13669939898764919281:18607730302427229122582057095838968/69143776892035130477190634596759711 -qdiv:3891890618737276/6895557650428977805,=1,1111068254412479/16589207394191005337:1 -qdiv:125869026052733/9512475498663033351,1424684423763397/9653552384747479895,1477787248473387/726686337264726454:1215083236617203328243121127303035/13552275674376176199352055144053347 -qdiv:-2561702659033141/64484986154218090,3571827544304442/1907338065210223751,-257437056062343/308468989548243692:-4886032993324156667740785934331891/230329249739726743799833423755780 -qdiv:251427380280479/17080042626196354,-8498494882766151/431225536698454495,=1:-108421907002135971034718918303105/145154654856157445334163190813454 -qdiv:4494233115621053/420999973410664205,8502817658603234/225118720507724895,769427242578913/224964781616403409:202347201730411498629276398842887/715937201637537517148588100207794 -qdiv:1082573471098327/16190062236884916,-9285142983057539/68911329784144138,=2:-2869291441631632483178789948351/5781809337464493137192021122374 -qdiv:-54148197646247/67087793059307529,606637391147105/10211716656528727,=2:-552946051825190099886939237569/40697963759315177457206273053545 -qdiv:1552820047883756/1409852829677289,374732588752648/1411748879243035,946186753596337/2784600373889665:548047990566502118911738159865/132079450156304156086221052818 -qdiv:-622450586504533/2629689473880042,42458393126567/46859716926298,=1:-14583929142105291235301954417/55826194741396982866540637907 -qdiv:3985435662577/336228049466,1092888342910160/28572447705111,2326116659781853/93785125130264:113873652051065741394331047/367459715820812046873974560 -qdiv:7163492071774727/830515940073459,3657279442118065/897414555540119,5964135597835892/909513080742871:6428622053706882865266378772513/3037428873982020434994650936835 -qdiv:3607952451488590/49193513780067,-3043939406564413/65486757325344,-866352414070632/19967852787311:-78757702210671087993244608320/49914025047505139104450318557 -qdiv:9495052294801966/38526321702455,6497122364756042/67241074266611,976932655859167/35062261580861:319228758260067099260465478613/125155113182403225758093741555 -qdiv:-8635923474747691/834091522151,-6012381717476054/9878110045469,9959093802197859/5095796016470:85306602427806718417312762079/5014876618482445518753072154 -qdiv:2821313461694584/702859941105,=1,3985236573834282/7019306492603:1 -qdiv:80074080855208/13358267917,=1,-1127102895421894/492325215749:1 -qdiv:2903637249590617/66609940717,=1,=1:1 -qdiv:1317275961025638/30056701615,1903028147618023/12972309420,=1:3417622271590487337781992/11439749839580218061441429 -qdiv:162369131285203/29375345061,1123696767790/4238363,580047582726290/4797152503:688179318381346842689/33008980297761640385190 -qdiv:-4786042110917887/821667120,-223845848166680/444195731,4201261485857429/7441612588:2125939474055953896940397/183926773387073235561600 -qdiv:-3647633785553978/3264747911,-2590574647212125/3171736042,1034451358224699/9321063772:11569331545658450959075076/8457573167775347067620875 -qdiv:-1182656408586511/263603111,-3183826575455972/641377267,67932666203435/9814518:758528935139251758245437/839266590174670462728892 -qdiv:-1010164506152201/73078179,1003381341185915/606903468,8716869883166609/714842540:-204357447344759374244356/24441760418814789549595 -qdiv:2146746992979571/54021,4486129793037235/14014464,4736792350294185/48933406:10028502816740150171648/80781739183221490645 -qdiv:174759124915340/38909873,808299936999437/3899591,=2:681489110687735625940/31450847894556094741501 -qdiv:1331080173593011/170345,1847682196363704/169667,=2:225840379813005397337/314743423739575157880 -qdiv:401756500827695/5268383,=1,-1785129473905456/1874737:1 -qdiv:9588863636181187/514679,-1885957167516959/372023,1236604399361407/932066:-3567277816523033731301/970662549020460941161 -qdiv:-1948318799147741/361624,=1,2127325154839916/20417:1 -qdiv:1427781136273691/76759,-7623865373435316/42907,1659481401097244/10649:-61261805214095259737/585200282199521420844 -qdiv:1719870896249226/12205,317200077044831/19050,=1:6552708114709551060/774285388066432471 -qdiv:8138959322580502/8221,-1163751251034425/1383,7539031083296853/4651:-11256180743128834266/9567199034754007925 -qdiv:169053135509582/2079,8384337995393067/1027,1100360786228606/2923:173617570168340714/17431038692422186293 -qdiv:2884372934790855/473,-3411772457185025/498,7754693992370393/59:-287283544305169158/322753674449703365 -qdiv:9645445945124801/694,=1,-928157555471025/697:1 -qdiv:526455353835711/2,6821493510127697/42,-8165061988695477/61:11055562430549931/6821493510127697 -qdiv:3494561591012431/18,1579558097950769/68,3011416104352409/38:118815094094422654/14216022881556921 -qdiv:-1075752344316397/2,1031504762905937/4,=2:-2151504688632794/1031504762905937 -qdiv:3510047439829528/3,=1,8531234312015747/9:1 -qdiv:-68345423328108071/30673713062451046410,84635933116432261/52124678834577315684,11829641732143217/15648982195593167418:-593747206798476915089200913572547594/432683054531040224143843344222038835 -qdiv:88353531187611591/15437715341399284739,24211922635091389/65206525720651916247,4391301426749866/9028296670139901087:523747891263219677852058701936219907/33979706318956630192030846045273861 -qdiv:23319878514419521/3762815638844579088,1735842457506851/1043622756122083662,=2:4056192647941777068775888487994317/1088609190946197612434792161888648 -qdiv:-44931766141664776/660272913423169311,-20934212682408103/543885314267387231,-15811898876311121/1155697907525944754:24437727748548095710058962184875256/13822293598033858379756137767327033 -qdiv:6078883422776446/585720619063886603,=1,1045243009859441/415511111781051358:1 -qdiv:90440439133569617/948175107640141387,42133680477668241/92268692005881214,845568841006347/5611357858009690:8344821023291981428329461501475038/39950107022188408181066157319590267 -qdiv:4186499515356231/14864815583978242,-18423317485074290/7509262009862299,2871933150211711/1349599950356374:-31437521764971471895320241635069/273859216860711138847895113598180 -qdiv:-29582635046879003/50061021370846352,10045103192105828/55898368325607727,-37052174592310080/96357604503422813:-1653621029892474317451914610856181/502868125572366763986389511739456 -qdiv:13407277935430429/1013601685235852,=1,12172330844000900/902390153283673:1 -qdiv:27360619531891829/446629134514741,4131082115213588/1108810664462473,1247084760967392/7561950200172275:30337746723261895886437065833117/1845061629727170372539949500708 -qdiv:61461830136885063/892616617339285,=1,33738741342160459/830691355475130:1 -qdiv:61440064505101811/137342816799395,-4711908842636087/41515812949603,-24218275768586906/186742521237115:-2550734225605349400573727031033/647146832949617421060066767365 -qdiv:5758080755122561/15095071042602,29045716031779306/2037705119057,=2:11733270630656838625131744977/438447146982952474786587994212 -qdiv:54526928002573683/59702858549279,92640788780483269/77681659329590,-71811590482866045/83384156477179:4235742245385010165548357179970/5530919908454825601037871513051 -qdiv:80792214616474631/6644270819756,63735176539398861/9296933147014,-49380745622098487/1490898600966:375559909044285990116562200917/211736886836362524703961348958 -qdiv:32030499525154974/3954323046161,31366526470107724/1768190715343,-49495147706919681/3289020191827:28318015934088697649997283041/62016689249383006938747323782 -qdiv:9328741686632077/243149745260,2480495311675799/1003030744,2895546265991266/48368547577:2339253678631596761893822/150782950788148707639240685 -qdiv:86704861543195229/19495202697,-67726887612055909/399405679895,79366554520762433/427533781579:-34630414174861729349465220955/1320349402033968246851586573 -qdiv:44938705263692416/75214947649,13088918735108810/42829053903,=1:87485555912259650621649984/44749197156510201930394895 -qdiv:44904786185636646/96125537099,24798894892177726/66253590239,=2:1487551651856539065713149197/1191903545486115802757228437 -qdiv:-40789888748879566/226781493,92548538546533322/4980935825,-18457923779643496/7489800193:-101585909083529329449925975/10494147873275438368704873 -qdiv:69711578560849724/2839609701,-17832323142587131/1317413634,70780014264413677/5219758825:-30612994681241841674245672/16878945929019074475119277 -qdiv:-59818087210738392/689533643,44169679860852171/464682497,=2:-9265472710283227069441608/10152160088199043518029651 -qdiv:13285049487986594/299383163,66537912712814595/528333412,1270866798654711/67428626:7018935524576810218278728/19920330767380344083663985 -qdiv:1503810128215281/2257159,-70775598572813631/84477811,-63395967835353025/15198273:-42346195930418758543297/53250593099671147511443 -qdiv:8428754085692575/2245416,-22542294434269243/25119135,13783461291888720/14173951:-70574337253437786640875/16872276199806368846696 -qdiv:9563262734920725/514036,=1,=2:1 -qdiv:53451507046231654/9484455,47537920203789693/4546483,-80647128625430672/4405781:243016368110072428972882/450871264966434172722315 -qdiv:-44159999533489381/113642,27485426878029480/364853,35852359000720457/949621:-16111908309792201125993/3123498881273026166160 -qdiv:32853589059772384/503717,40780321841499481/989824,=2:32519270937500140220416/20541741377034594070877 -qdiv:79928002171125410/57963,8207223112140364/45757,6211993052732583/4990:1828632797672092692685/237857636624495959266 -qdiv:19663131964133109/36425,71845241352937178/25359,86972744437274535/81994:498637363478451511131/2616962916280736708650 -qdiv:14435384562180968/755,72009011268495388/5897,49643107641306868/4273:21281365690795292074/13591700876928504485 -qdiv:24454205396414067/6880,69532248800465987/6162,26996222231515961/2920:75343406826351740427/239190935873602995280 -qdiv:-1788783461774743/10,=1,=1:1 -qdiv:2169480921871575/32,24356653728462933/275,=1:198869084504894375/259804306436937952 -qdiv:55640518711168835/32,-11942433331158949/2,49472052316509365/97:-55640518711168835/191078933298543184 -qdiv:60550088149390965/4,18432938626319732/3,-64770809459825588/55:181650264448172895/73731754505278928 -qdiv:-7803681495846471,=1,-17883711462854096/3:1 -qdiv:50341568785662927,62590376897604859,80681563059961663/2:50341568785662927/62590376897604859 -qdiv:-203151633689699473/4601599975290251067,525611526456048199/10684809311118564881,-92007105653918839/5233554995228398975:-2170636467216648863175567911942007713/2418653987152422537498561743363178333 -qdiv:65298869984225348/19019228638839514289,56379757376977511/14055232146718391290,964945810921349082/20809092926836677025:917790776546668763561146735400418920/1072299496155034051021485798116154679 -qdiv:-145588071893096095/4173101898033488969,950865051078788090/1909232631512562529,503871559562682707/9612144818358151944:-55592299523459199702887019418644851/793611349886120203227511154180715842 -qdiv:-416108982689762077/6607155238394910018,110992754943723449/1849236166477509591,-268331055516600845/4522919721232620152:-256494593328690673619763717091860169/244448787416768310712157092743870694 -qdiv:25569109100431274/108937408231316295,-72437832965809993/62540068610663445,=1:-106606255830300730275789651105262/526079318745889626493211550315729 -qdiv:877324076175281223/214264808883890725,42146916770679749/32999264126549449,285006538829039936/192084798661860001:28951048914289093786435738190696127/9030601066914945269923974086428025 -qdiv:53167133313707651/16126281481928302,=1,866634487225725687/8471335588786562:1 -qdiv:-404441666294175709/28651204642462452,737283168872077719/15929980120269742,595275127996297901/911315023660732:-3221373851937494010053214312048539/10562025475398550561404400841653494 -qdiv:-696867039120140351/7944197978612428,305556608949512209/6106076808329836,-21961011512486436/271929687123929:-81829301270403260762717504246393/46680811445545827264035485867951 -qdiv:-680855634912930787/1356189151638221,76800812974773809/4396449080201477,115900299432052362/915351235529267:-2993347129862947189365178516172399/104156429393384168102319274153789 -qdiv:858455835027039516/181700684219717,276128875832819233/429408279720099,513501697172110895/688533497518381:368628043334642145377689092432084/50172805671644532495814915417061 -qdiv:316851319525526256/292918890269407,11393663510588707/7832467998606,183243936246901525/329030327691009:2481727820499768843861224399136/3337419271624680006372401786749 -qdiv:425938764355509261/38431838740736,51646287499025181/14744319169037,61598803394948627/2198532513800:2093392362707622954000159317219/661620597573408443663531491072 -qdiv:-32900087887779412/15187739925135,-77577586584555989/5103062080335,20798656203711947/4200421664287:11192746062654396148286870868/78548547271058557114805058901 -qdiv:486662144374613085/7279800587764,370935209793408403/1211133632516,-89246445251861285/6389412265973:147353222681112795182018767965/675083589569104285293074145223 -qdiv:-964120868211092407/359784141044,-101341301532555954/2823707878015,-3905142618376867/213434004577:2722395690926323209655048732105/36460993124171644711757975976 -qdiv:523113306979362837/776795904043,-598929472099127320/298887489003,374389526725869791/822603563483:-156352022787117273091784381511/465245960737238351450759754760 -qdiv:840479323018514793/77550808147,641898923324106797/94049021855,-530841733088610489/198795819997:79046258219243902336497801015/49779780252473669714285675159 -qdiv:128459136724688363/3656348195,=1,=1:1 -qdiv:117942267177399129/15104768300,=1,673568920447088655/16579651733:1 -qdiv:-380358764362707601/4878763095,26907876636599267/4680009378,46112939804078386/9100681911:-593360861407321255383960726/43759051833151076714550455 -qdiv:-687756860919714982/4983016997,810697365335247161/2657532848,-767797307972200547/8201158600:-1827736449331510055462728736/4039718750888655206458995517 -qdiv:-671538226625519919/488528633,212340873444231067/18548520,903467856142920989/292805725:-12456040227327988727969880/103734596633736204897641411 -qdiv:264766040442810006/105576217,906671624054033815/16237552,-17400397472077592/73576121:226271176290748973607648/5038050533098478619883045 -qdiv:198599362591258655/32652407,180852394942204767/534302,330626253412331177/39365397:106112036631234681883810/5905266006577611529424169 -qdiv:193437965129974007/33032327,=1,-712641084972416324/72668161:1 -qdiv:5650691886191629/31580,778039554898468719/522286,-85572216893806154/638707:1475638631235740571947/12285244571846821073010 -qdiv:255988566078185670/3226711,=1,=1:1 -qdiv:119176135632936277/90407,742203087602826989/37340,435710884024344205/699587:4450036904533840583180/67100354540908779594523 -qdiv:601345588172172775/239872,543493254518268378/505985,-428607861122460011/847997:304271847431296841558375/130368813947806072367616 -qdiv:-384629861853292408/8659,25928764268860430/2863,=2:-78656806748998297436/16036940700290175955 -qdiv:16969933057999661/91390,899168628900829159/84974,=2:721001545835231596907/41087510497623388420505 -qdiv:-338452503566548909/60,-471242201877785904/1471,571852972365820021/8097:26203349091915444481/1488133269087744960 -qdiv:-67208679240212206/7945,-147655843020220929/3895,247227362702367322/3545:52355561128125308474/234625134559131056181 -qdiv:372479537607215503/364,287530886573098995/616,172294866607452652/419:8194549827358741066/3737901525450286935 -qdiv:182710333561165768/213,510797940135310553/999,=2:60842541075868200744/36266653749607049263 -qdiv:579561523155053213/54,988155654509496101/36,200878090425916240/7:1159123046310106426/2964466963528488303 -qdiv:515113236713830593/61,-312166546603055389/64,=2:-32967247149685157952/19042159342786378729 -qdiv:292464149557005921,89917333945444994,81421444399876118:292464149557005921/89917333945444994 -qdiv:296110466389461193/3,109472330812647154,=1:296110466389461193/328416992437941462 -qdiv:4092114512174117006/26116630455695638973,=1,-447003756121465797/20917550324131376672:1 -qdiv:259937566541134655/4158701589393004579,1547780345841112833/51410910398305904707,938595196927633599/39410655506871762710:13363626942599952654588701490085321085/6436756584280690243327152586824662307 -qdiv:-1896779359348956490/1347192914723660737,1473868522523514384/1232156863222473595,-5707768245722740379/418206171177904664:-1168564852820271637019025039914440775/992792615388954378876171247477770504 -qdiv:208447940832270699/9600679647480708145,2870404120011924515/3559456450102995519,=1:741961367506113511552059562591997781/27557830415043255728392135816485674675 -qdiv:-4297501973500096783/204423371799318060,2877397514219613038/539249559830239969,8324733346597146387/157919348439263966:-2317426047579514781946227871614919727/588207301863749530458354605484866280 -qdiv:93720929235782808/55293543050375,-7894380025587801253/181187413116917545,3736135546224315869/181899903281616836:-3396210544629034994552431212913272/87301648360171916529438973423975 -qdiv:81994885389922697/294916754436330,9443771936591527133/5056845538523172,=1:69105911727624901444765437205814/464187761529411335843377885990315 -qdiv:-1327130679702964642/1750505879782173,=1,119824008643752477/44623528623225535:1 -qdiv:3879822966686063981/3001133305530870,=1,863100334242503747/3064363459719574:1 -qdiv:4471609326841143121/3136394938408391,-2100659771756104576/2883761130954275,15497169860790465/125833380421061:-1172277560868827200679819871072025/598954425041270209782934871990656 -qdiv:-1428825541118510643/189287913101264,333610284195481532/220738789477061,670131441507861203/870560425567724:-315397220320406686290969132860223/63148394484482295041093957856448 -qdiv:8591262769553056858/438853613359311,2189525401934819634/71978219024849,5936949921650810154/230960129719523:309191896663460373602599905932221/480440567090546674289419809756087 -qdiv:-4064523795777485/244411410943,4019762771700340189/48942084942433,1825370830820857864/84013901689297:-198926268863481870604702521005/982475890687424536786577288227 -qdiv:3308449940543897586/24769809780163,=1,=1:1 -qdiv:5505516603567201356/4103863380997,=1,9200863431181416289/2198737928697:1 -qdiv:299025438242526319/7174665063033,2342598970518801198/2840711341985,-624920076676181455/1731259940133:849444953957579679543172203215/16807362990478315705960265913534 -qdiv:-1317323502669839257/383434104838,1699132754315376723/126762068816,=2:-83493326249184161811746154856/325752723325920927661123442937 -qdiv:801340903278936479/656286066237,2305646751022168759/405803179528,9784332106348628477/2005196814:154924576672907071866862888/720897492310842731598125817 -qdiv:-7034488704242870267/26137866450,1404864734358647884/61096984649,8568167552998854754/11743533017:-429786048376690545870597531283/36720166806981064794567091800 -qdiv:1957064921110117593/22698952475,-2877695287391612383/80652467816,-6543222962701862213/80347703614:-157842115563656338161407886888/65320668566033676195338497925 -qdiv:2797239636828126649/9292862128,4813087393853254410/1395246169,=2:3902837887059395018464057681/44727357561093127896237984480 -qdiv:-4315815575872328781/941797525,2364548726161022722/1932241689,7324535609142564031/6044609444:-8339198777736056212162751109/2226926138040353951048363050 -qdiv:30859738907627663/2542365,6600947823086520511/563823249,2650371430256452002/735290035:5799812751396779944979029/5594006237413787239649505 -qdiv:1239632473056172538/39020573,=1,4893570761803052153/806566500:1 -qdiv:4340355836717522794/84976723,=1,4177413596064433650/4807901:1 -qdiv:5251208912622866942/60282373,1588514721403315667/15272978,=2:80201598195892969102093276/95759436951625758474837791 -qdiv:3180027096600073679/1131489,1551586490431667735/1426711,1709665203917621573/6158822:4536979639017387718639769/1755603046472037293807415 -qdiv:8243752949511560636/648121,9011505934664251587/2857664,2654767072043691455/1609529:23557876028713004413314304/5840546237880529402818027 -qdiv:1059685344014955483/517268,=1,=2:1 -qdiv:7618913893338931327/87339,2570669407313338666/518057,289391906262782051/116872:3947031674841486746471639/224519695365339685749774 -qdiv:700273840899540863/79614,769420078468545381/1045,649456732765994158/34395:731786163740020201835/61256610127194771962934 -qdiv:-187558807564904619/362,-9545050345452388419/23068,=1:721101095484536625182/575884704175627434613 -qdiv:9871582247297764418/7063,1928022567530041238/3221,858557805597948211/218:15898183209273049595189/6808811697232340631997 -qdiv:-6853417837322192169/596,243646027011694943/64,-2802878255693787218/3819:-109654685397155074704/36303258024742546507 -qdiv:6270595962911796812/909,6451237634004612584/717,4154473691343572326/653:374668108783979859517/488681250775849403238 -qdiv:2859818002359754548/881,-978746824548811382/135,=1:-193037715159283431990/431137976213751413771 -qdiv:-163677610836218181,1125556291854647923/21,-543556322760873342/61:-3437229827560581801/1125556291854647923 -qdiv:-2743247019285632266/73,2721276457623268991/11,9892328911405524379/35:-30175717212141954926/198653181406498636343 -qdiv:3970324237073990007/4,2239223157773235406,146642702970818545/2:3970324237073990007/8956892631092941624 -qdiv:1833757668733454039,=1,-8814196290971390691/2:1 -qdiv:41577911849641052701/99022939143770450788,29562744466456608111/56837407285672400044,31020970526416154186/17913773857228432749:84399311067351185113571896143048525673/104549637365170333914120618648568826481 -qdiv:11645154448997394881/94761538126264735491,88207691494542159651/12578224627720796822,25570027647696327707/17624189500133230570:146475368483991438069574417703503868182/8358696520589854489200399496481407873641 -qdiv:36037910341862609485/5084165437585712934,14803543978704731158/4018809000761174679,40592658881592860140/1875002057807619289:2540868042991257484177217842751705795/1320415204391415532618346800916375396 -qdiv:-6362828133579539977/1405399076052451953,=1,-79310041992515227141/9766031882584814055:1 -qdiv:18995499865084840909/132084112242521874,40315757995363267494/108424549445496181,9141557851421924653/395183670085599750:294225502051972481196626700993152647/760724443457415783589919753058309108 -qdiv:-20679072031164937/331072269490614784,60303816476959382024/820747184142174667,32412125947207417888/849382221894135357:-16972290140251822462187296540050979/19964921379972472722742560644478242816 -qdiv:342025503923893090/638329775416737,6081856724756077351/10064175190260298,-12635294626204723652/12747811376654893:3442204591027121039210818623540820/3882230237230318511251099432023687 -qdiv:95772012363596472232/93464593843091931,=1,66811795410951517976/57387498829697707:1 -qdiv:39150280549083930478/221651102097297,27527655361557153686/8200729391818537,-10566813759037632949/1540621706438105:160530428198407079993270396049835343/3050767574521854917099344177093371 -qdiv:775796793430257737/1824356921264078,59648355674434946375/4234888027379937,-48407842369116658019/8912961054912311:3285412552177544656250926732822569/108819890516676835653288543143817250 -qdiv:28476387945046958277/999638881195952,58250700361065854943/221262414969004,29643575123794329851/477719531693567:525062863859610263002381953020509/4852472078151375703306701265899228 -qdiv:366203441988870367/188565554272086,94732323070906583248/862962947506991,=2:316020001685920962364670925235697/17863253007347820007476928001615328 -qdiv:8483230698254754551/15259557038423,23368061392310636478/85223679281645,32515807430078447491/85784287822340:722972132300268572088173474516395/356586265693334541919071831394194 -qdiv:49879409479136730807/66163096356056,-38087887001526926307/13816595584511,-1454659694645612910/17634310154753:-229721209589152224414677275243459/840004179226866288683545915055064 -qdiv:62960436874158600601/6181269755427,-38093682298270231594/6182059511551,=2:-389225167629298487685523755042151/235467326263142673710199028360638 -qdiv:-44149559729162857485/8838649113689,-92868732768946894695/9715947205117,7772268284865525232/3917639152071:28596986097180394710634075583383/54722276171844870774524704398657 -qdiv:2160674978760021747/440085907262,27830441916338793631/444373630892,57774193577066913529/985831440387:480073492744542921823635504162/6123892640127175948232611124161 -qdiv:36779826517186231622/593017430523,19227595668423969206/337403938281,11416362949398192276/562802104127:2068276386031765079995376420297/1900383229737324483921166079123 -qdiv:26089630323225357334/95419525743,10301251794111780015/99138956899,91414665551775455692/70400356165:152146984477946008199958796898/57820032985492584056520319185 -qdiv:-29243000664559124719/43374840118,-10759429621437816793/825473183,449211716437215496/6016537709:1270490149423407156499311083/24562554715302029930281605346 -qdiv:43740120582679037273/1380740386,-10453142250046604709/682904599,5705113158551362448/866195241:-29870329506726074294624118527/14433075665242257503894077674 -qdiv:52606375144331115549/7041068780,44326164670224665111/2919045833,89932878257209865497/5189085588:11812340011868808955042304409/24007967245896760392232102660 -qdiv:18724901946698874513/497209057,618446872748526095/146164963,15390306579353612360/304964183:2736924600217868965334288019/307497386403893657834842415 -qdiv:-73271009353030104361/888009485,6268171386817340605/445545539,-30294808731792985583/748195570:-32645571355269839130747995579/5566195645099402419715638425 -qdiv:-6170226889332372331/27347419,92903445126985172210/30514679,3697622268386381476/88810455:-188282492885145865988946749/2540669440431171711214025990 -qdiv:22447257099357853357/73571392,96930598757046526391/75068541,=2:1685082839900686088401942137/7131319077949382755350606272 -qdiv:18405537170427326117/869259,=1,-1420857565162351747/93018:1 -qdiv:49104082785088634230/2249621,37173384714202722705/3494738,82295002552935357721/1027368:34321180812839016682336348/16725205378829888650868961 -qdiv:31797840681830305220/155259,1587139799259633659/9846,26303565519013168528/557087:34786837705922353910680/27379748677027940251409 -qdiv:49251043005944454115/458557,12656810517669387971/114174,-68275280158906352129/488558:5623188584160702104126010/5803869060550921539817847 -qdiv:-64285887839653334497/93042,15579348394621354273/8674,59955417746039738115/74473:-278807895560576511713489/724766866666180022134233 -qdiv:63842413368795633893/62393,-87956339382997486493/5714,7858337204545049957/43385:-364795549989298252064602/5487859883123362174757749 -qdiv:-68051470229786982728/7677,26179928923183325293/1125,86355329936141165696/9285:-8506433778723372841000/22331479371475376474929 -qdiv:-50081439194849732369/6752,5504600376647160870/1069,14173817213125628066/7065:-53537058499294363902461/37167061743121630194240 -qdiv:47895210529721192309/101,=1,8891562052096223369/598:1 -qdiv:2023765290182261065/98,-3528906224032626601/8,210162627484795020/311:-426055850564686540/9100863419873615971 -qdiv:-55071290496801275816/43,-14530504979971463081/90,41799056582024748637/60:4956416144712114823440/624811714138772912483 -qdiv:2952763925816064856/9,-2794894328282573619/22,33252147556814701294/27:-64960806367953426832/25154048954543162571 -qdiv:-22874728508743973476/3,-97353210331533196276,78585121833788001065/3:5718682127185993369/73014907748649897207 -qdiv:-18829566175245957052/3,-20433551292296144981/4,=1:75318264700983828208/61300653876888434943 diff --git a/polly/lib/External/isl/imath/tests/qdivz.t b/polly/lib/External/isl/imath/tests/qdivz.t deleted file mode 100644 index b4f010d437c..00000000000 --- a/polly/lib/External/isl/imath/tests/qdivz.t +++ /dev/null @@ -1,800 +0,0 @@ -qdivz:7/14189789968569496825,-4,4/56970792418717696577:-7/56759159874277987300 -qdivz:-1/18980926711980671485,-2,2/34538922161232588701:1/37961853423961342970 -qdivz:1/2252731937540774329,3,1/1284950176761593374:1/6758195812622322987 -qdivz:5/5990342115257096507,-5,=1:-1/5990342115257096507 -qdivz:-2/184808182320120951,9,1/93245347658569125:-2/1663273640881088559 -qdivz:-3/953191474882739911,6,=1:-1/1906382949765479822 -qdivz:-9/58755486411564677,0,4/31278777005155811:$MP_UNDEF -qdivz:-1/6574102725079796,-3,-7/53860936069380022:1/19722308175239388 -qdivz:5/3092518668717267,0,1/1348431717766123:$MP_UNDEF -qdivz:1/1711104650637484,4,5/891266886610953:1/6844418602549936 -qdivz:-3/752256450310990,7,0:-3/5265795152176930 -qdivz:0,1,1/221073922196749:0 -qdivz:0,6,-9/20067002597087:0 -qdivz:0,8,7/58718030529726:0 -qdivz:0,9,2/620702207617:0 -qdivz:-3/2637082492171,9,6/2399598811007:-1/7911247476513 -qdivz:2/989821160739,-3,1/35099223664:-2/2969463482217 -qdivz:7/596707899127,4,-3/111426253072:7/2386831596508 -qdivz:-7/90687746735,-8,2/80220574745:7/725501973880 -qdivz:1/6207705905,5,=1:1/31038529525 -qdivz:-6/7404342365,5,=1:-6/37021711825 -qdivz:1/669923792,4,7/932900852:1/2679695168 -qdivz:1/447676458,-1,-1/780010677:-1/447676458 -qdivz:-8/632835687,-1,=1:8/632835687 -qdivz:-3/34120079,-2,8/62163153:3/68240158 -qdivz:0,7,0:0 -qdivz:1/4563667,8,3/4687252:1/36509336 -qdivz:6/9767093,1,8/1612033:6/9767093 -qdivz:-1/44242,5,2/127465:-1/221210 -qdivz:3/442637,7,-1/427529:3/3098459 -qdivz:5/99573,4,2/18535:5/398292 -qdivz:-1/92756,-9,1/2349:1/834804 -qdivz:7/9020,7,2/4657:1/9020 -qdivz:1/619,0,4/4281:$MP_UNDEF -qdivz:1/57,7,0:1/399 -qdivz:3/497,-4,=1:-3/1988 -qdivz:7/13,0,-3:$MP_UNDEF -qdivz:0,-1,-4/23:0 -qdivz:0,9,-1/7:0 -qdivz:1/2,6,1:1/12 -qdivz:92/54148884014131151533,-84,=1:-23/1137126564296754182193 -qdivz:-19/23897843385077955493,71,69/61266965124498535070:-19/1696746880340534840003 -qdivz:55/6196267973202090504,-7,5/287457924210607772:-55/43373875812414633528 -qdivz:-48/83164040244933491,-32,5/1047923356026875081:3/166328080489866982 -qdivz:21/587480004246184118,-57,15/677609340847439434:-7/11162120080677498242 -qdivz:30/104315744428261859,21,33/4537728827744434:10/730210210997833013 -qdivz:63/43591673951063050,-60,-72/62642630564846123:-21/871833479021261000 -qdivz:22/49235810624301237,22,=1:1/49235810624301237 -qdivz:-67/86699263349277,68,-18/1746465712913311:-67/5895549907750836 -qdivz:4/662982233689325,-70,3/223690708572257:-2/23204378179126375 -qdivz:48/30832308107873,0,-78/969311075733763:$MP_UNDEF -qdivz:-79/719541528020900,71,29/227964213458863:-79/51087448489483900 -qdivz:46/99191502629977,45,=1:46/4463617618348965 -qdivz:-45/94030959875366,-49,1/739436814946:45/4607517033892934 -qdivz:85/1156056884433,21,70/1021249005383:85/24277194573093 -qdivz:-45/3343573640758,81,-23/371241990007:-5/30092162766822 -qdivz:9/908355558094,0,13/114278107776:$MP_UNDEF -qdivz:37/482896223634,76,=1:37/36700112996184 -qdivz:0,-62,=1:0 -qdivz:1/224399171,-96,1/829119227:-1/21542320416 -qdivz:34/3276847561,-87,0:-34/285085737807 -qdivz:8/447224053,-69,17/1706735282:-8/30858459657 -qdivz:58/337629635,17,14/309654075:58/5739703795 -qdivz:19/143535299,5,=1:19/717676495 -qdivz:89/21730150,-36,-11/3380230:-89/782285400 -qdivz:14/11625951,84,-75/90670231:1/69755706 -qdivz:-35/6938168,-92,40/1158419:35/638311456 -qdivz:81/4813535,4,7/2110299:81/19254140 -qdivz:17/267858,-12,51/311648:-17/3214296 -qdivz:-13/119265,96,0:-13/11449440 -qdivz:5/42218,84,37/8213:5/3546312 -qdivz:98/47455,48,-49/28060:49/1138920 -qdivz:-1/1148,56,7/2357:-1/64288 -qdivz:89/566,3,8/7135:89/1698 -qdivz:-21/746,-21,=1:1/746 -qdivz:-38/319,2,7/698:-19/319 -qdivz:21/11,-69,-1:-7/253 -qdivz:8/31,16,=1:1/62 -qdivz:95/7,92,-22:95/644 -qdivz:23,55,44/5:23/55 -qdivz:1/60738652894409193768,-551,107/57758377963603747061:-1/33466997744819465766168 -qdivz:110/79622749216992783521,579,251/88218014233937017256:110/46101571796638821658659 -qdivz:83/4082129227447654187,15,18/1341986384427533683:83/61231938411714812805 -qdivz:993/372817934005169,561,163/3344274496871800764:331/69716953658966603 -qdivz:961/240704079603040791,598,=1:961/143941039602618393018 -qdivz:679/875463698688215197,414,-683/864641730477058828:679/362441971256921091558 -qdivz:661/48034471229067507,803,-793/39170031634988712:661/38571680396941208121 -qdivz:301/29669334975743711,779,-15/1858966466467087:301/23112411946104350869 -qdivz:-376/9004373296401219,353,-206/1302368237251547:-376/3178543773629630307 -qdivz:-311/1125853364758500,60,219/4621090656923606:-311/67551201885510000 -qdivz:890/98890870399971,-103,=1:-890/10185759651197013 -qdivz:-368/970340921930931,911,320/23157236509251:-368/883980579879078141 -qdivz:153/17403469351714,-174,1/10019300229250:-51/1009401222399412 -qdivz:-45/41421091188493,-796,=1:45/32971188586040428 -qdivz:285/4042719934577,918,111/3917056138984:95/1237072299980562 -qdivz:232/2392703971997,-223,29/510798153426:-232/533572985755331 -qdivz:-288/16825025249,683,26/102920443589:-288/11491492245067 -qdivz:57/859553008166,-596,384/457223544793:-57/512293592866936 -qdivz:241/26996988926,711,402/76733915611:241/19194859126386 -qdivz:113/64370447211,32,654/51387222133:113/2059854310752 -qdivz:37/20055174,-333,266/1472467541:-1/180496566 -qdivz:-41/1427473740,466,=1:-41/665202762840 -qdivz:331/299809977,756,-955/46378116:331/226656342612 -qdivz:-29/129229071,339,607/422149878:-29/43808655069 -qdivz:809/62921676,331,358/1765487:809/20827074756 -qdivz:-23/2282319,-417,85/63854587:23/951727023 -qdivz:19/1064117,478,637/1700008:19/508647926 -qdivz:418/1515977,194,736/128183:209/147049769 -qdivz:2/2337,714,=1:1/834309 -qdivz:765/922036,-964,997/935249:-765/888842704 -qdivz:-574/71689,948,617/3930:-287/33980586 -qdivz:-407/558,960,817/20918:-407/535680 -qdivz:6/215,99,-59/760:2/7095 -qdivz:-916/8789,71,-23/237:-916/624019 -qdivz:192/103,-275,241/262:-192/28325 -qdivz:-641/520,803,-980/299:-641/417560 -qdivz:-808/23,85,419/23:-808/1955 -qdivz:30,160,114/25:3/16 -qdivz:99,883,92:99/883 -qdivz:249/7,435,=1:83/1015 -qdivz:8669/47763182821761519000,2612,2570/33173836138961742453:8669/124757433530441087628000 -qdivz:6761/57372086615909714512,8060,=1:6761/462419018124232298966720 -qdivz:1411/382658058312182873,825,-3109/4771378321641389271:1411/315692898107550870225 -qdivz:761/867527777386531139,5053,2023/1270134890218434390:761/4383617859134141845367 -qdivz:-9176/793276121303032795,-6985,=1:9176/5541033707301684073075 -qdivz:1369/360850321203415946,4395,-8748/566863280507933113:1369/1585937161689013082670 -qdivz:-6215/67983977826422952,-2039,922/49515404491925443:6215/138619330788076399128 -qdivz:-316/10499786595298753,2815,8687/66197583183800979:-316/29556899265765989695 -qdivz:1606/5305463362124029,1731,112/3026842383841497:1606/9183757079836694199 -qdivz:3055/1662027684799994,-4034,124/192242800980443:-3055/6704619680483175796 -qdivz:-5787/765368742920927,2169,7724/706366155708607:-643/184453867043943407 -qdivz:192/253214519977831,2403,=1:64/202824830502242631 -qdivz:-9511/57149625422873,1022,8816/23226399448707:-9511/58406917182176206 -qdivz:4230/77042165665729,-418,9283/86186701790732:-2115/16101812624137361 -qdivz:1097/8661587667062,8556,-1294/1841284483249:1097/74108544079382472 -qdivz:5073/8529249706045,4830,-1957/777278713702:1691/13732092026732450 -qdivz:3288/146119907411,9777,3763/497379016899:1096/476204778252449 -qdivz:8321/215917327006,6435,4949/764334137352:8321/1389427999283610 -qdivz:6030/96286272709,3144,=1:1005/50454006899516 -qdivz:9082/62592066789,7051,8147/63758112020:9082/441336662929239 -qdivz:4051/1918506696,-1174,7400/4885927323:-4051/2252326861104 -qdivz:-3965/8753839922,977,5991/7987170626:-3965/8552501603794 -qdivz:-5834/689611533,6425,-2453/364281564:-5834/4430754099525 -qdivz:1124/704967041,-5270,=1:-562/1857588153035 -qdivz:7944/57190105,7680,-9489/89859484:331/18300833600 -qdivz:6843/70048130,4671,=1:2281/109064938410 -qdivz:2533/9359236,1758,=1:2533/16453536888 -qdivz:1385/626883,5784,157/3146564:1385/3625891272 -qdivz:4688/160917,3538,9758/811127:2344/284662173 -qdivz:9463/781649,3734,5600/250357:9463/2918677366 -qdivz:691/30478,8036,-841/15767:691/244921208 -qdivz:7469/16264,-5140,=1:-7469/83596960 -qdivz:7515/3959,6138,-6065/3429:835/2700038 -qdivz:13/274,3740,4679/7583:13/1024760 -qdivz:1229/24,-7646,-6995/619:-1229/183504 -qdivz:687/823,6221,=1:687/5119883 -qdivz:449/4,7444,1039/12:449/29776 -qdivz:-994/3,-6901,-48:994/20703 -qdivz:1612,1197,=1:1612/1197 -qdivz:4205/3,3230,263/3:841/1938 -qdivz:2417/5769966068557054097,-28966,58670/6149020325783377203:-2417/167132837141823628973702 -qdivz:30796/2288360383424599467,99939,-42281/20938438853892364104:30796/228696448359071046132513 -qdivz:8506/579725899434273775,77119,-37442/962475407368879243:8506/44707881638471759254225 -qdivz:-61035/3482034023582042798,77561,-12752/1085806378725747165:-61035/270070040903046821455678 -qdivz:6403/315592922992076985,33571,65893/416723435457372548:6403/10594770017767016463435 -qdivz:42598/69939063133387941,43735,4765/30061903416091521:42598/3058784926138721599635 -qdivz:-8062/70710522833104625,3389,=1:-8062/239637961881391574125 -qdivz:29201/20949143115498720,38501,-83185/22636843869370839:29201/806562959089816218720 -qdivz:90114/2645706758131727,2395,39560/6948564113170771:90114/6336467685725486165 -qdivz:28967/9011742303197945,68899,70841/1427120257870104:28967/620900032948035212555 -qdivz:9374/952169153467751,15363,23536/955542414786031:9374/14628174704725058613 -qdivz:51148/254739984446201,82728,52657/828166332061258:12787/5268532358316329082 -qdivz:81421/51545697474492,-58001,7295/10940115310379:-81421/2989701999218010492 -qdivz:30074/21203238537003,-89481,-39057/81001965285511:-30074/1897286987529565443 -qdivz:68431/7698279661359,47986,=1:68431/369409647829972974 -qdivz:-65063/7943806973855,-56338,70937/1359955225665:65063/447538197293042990 -qdivz:64467/215908405691,30481,-35757/415900569994:64467/6581104113867371 -qdivz:-89549/201351835302,99827,23735/207632772853:-89549/20100349662692754 -qdivz:7871/103822521,-89272,22388/34036415431:-7871/9268444094712 -qdivz:-5548/6399177947,10277,9825/12940044851:-5548/65764351761319 -qdivz:9159/2485995284,50120,15415/595065179:9159/124598083634080 -qdivz:9078/1432788533,-52955,96908/495178011:-6/50147598655 -qdivz:47557/12504243,-82563,37658/472974143:-47557/1032387814809 -qdivz:96527/90426700,48323,75980/494535141:96527/4369689424100 -qdivz:-33033/11045147,3862,=1:-33033/42656357714 -qdivz:22621/19382503,89975,19721/94899651:22621/1743940707425 -qdivz:-3547/8566286,16505,-23598/8026213:-3547/141386550430 -qdivz:-74521/2199771,-55243,49586/7659031:74521/121521949353 -qdivz:-1886/42955,-46801,=1:1886/2010336955 -qdivz:16475/254131,5428,8394/88357:16475/1379423068 -qdivz:23/68130,-87120,49568/89377:-23/5935485600 -qdivz:46067/8205,87890,=1:46067/721137450 -qdivz:-17041/835,61576,25568/1097:-17041/51415960 -qdivz:70979/7890,-71592,-52925/7919:-70979/564860880 -qdivz:69860/859,77846,72800/971:34930/33434857 -qdivz:-2713/19,33421,2857/197:-2713/634999 -qdivz:23292/25,-64396,2263/19:-5823/402475 -qdivz:1446/19,14512,=1:723/137864 -qdivz:-4428,48879,-30206:-492/5431 -qdivz:42445/8,-64598,-238:-42445/516784 -qdivz:725105/89205530254624460472,498415,343423/44377628962630043366:145021/8892274872371730093230376 -qdivz:48277/129907785767997567,633952,44806/4308907194103851519:48277/82355300603193593594784 -qdivz:40582/400024522521846161,924653,693295/4356572124867623097:40582/369883874823392618307133 -qdivz:931685/4908062338032376156,-81098,140947/4372557097040418764:-931685/398034039489749641499288 -qdivz:766956/116055603158859563,-526495,91809/510346928234219477:-766956/61102694785123765621685 -qdivz:741603/132214366402214038,479618,515977/280622060822043768:741603/63412389985097092477484 -qdivz:-516699/76045719725268866,99626,233591/68059428628090678:-516699/7576130873349636044116 -qdivz:220269/518413710467221,624520,163971/21127267464610397:220269/323759730460988858920 -qdivz:-28142/1957881267309015,181534,320653/2331263900982418:-14071/177711008989837364505 -qdivz:-690794/3288684236568943,143025,2357/9370516939377:-690794/470364062935273072575 -qdivz:-859112/140095463625325,816822,612219/121557578324606:-429556/57216528394682608575 -qdivz:220971/363994210767806,-560494,110590/4404890122781:-3027/2794747550275214468 -qdivz:-18965/505806570474,717219,-43623/93798137994313:-18965/362774082668791806 -qdivz:-173609/8550763730716,-693162,-19411/825399841571:173609/5927064489110563992 -qdivz:183202/1439642401317,469971,=1:183202/676590178989351807 -qdivz:455279/3670831046834,369898,=1:455279/1357833062561802932 -qdivz:-278149/271832786844,243731,780869/789593611916:-278149/66254076970274964 -qdivz:-106981/327902270288,456307,146862/152267328143:-106981/149624101248306416 -qdivz:-177325/26201489293,232388,327906/60969287669:-4325/148510041312724 -qdivz:387294/30547191461,840749,353120/74968646269:387294/25682520673644289 -qdivz:302341/5821897743,177341,-55465/623909789:302341/1032461167641363 -qdivz:998005/7400105717,957579,-133949/4820770760:998005/7086185832379143 -qdivz:-143240/188037809,86894,60337/619625170:-71620/8169678687623 -qdivz:-288213/115013614,232366,=1:-288213/26725253430724 -qdivz:227311/82086188,230582,831983/50818067:227311/18927597401416 -qdivz:379211/28238460,-975706,454719/36515711:-379211/27552434852760 -qdivz:281082/1807583,231844,196945/2033663:140541/209538636526 -qdivz:14670/147551,989329,416446/5701543:14670/145976483279 -qdivz:691512/671245,324873,482828/621975:230504/72689792295 -qdivz:-112163/289428,737146,786171/133222:-112163/213350692488 -qdivz:10835/598,235729,106069/97042:10835/140965942 -qdivz:584561/52856,65410,-46519/23887:584561/3457310960 -qdivz:352640/4817,820728,289214/4691:44080/494180847 -qdivz:320159/3132,320681,-404140/371:320159/1004372892 -qdivz:-180226/529,-13347,343684/89:180226/7060563 -qdivz:-95731/17,317981,-401174/3:-95731/5405677 -qdivz:-35074/93,-199642,705874/89:17537/9283353 -qdivz:-483824/3,208717,=1:-483824/626151 -qdivz:-33504,640890,558617/2:-5584/106815 -qdivz:29565,707439,781129/7:9855/235813 -qdivz:531715/4028736917662068622,-6375863,3168443/14968317395104615452:-531715/25686674650055629830470786 -qdivz:9312820/86437123986635347829,-3647798,-9921787/17852839666224243529:-423310/14332053091100020388178661 -qdivz:4905097/1681959789098950192,8490550,5024043/8545615644430661068:4905097/14280763687334091552685600 -qdivz:9734997/1577074521689225743,-6832621,-1088972/709315347360105245:-9734997/10775552495458759285362403 -qdivz:-5219429/637213619457793955,922999,4000516/81347433120051823:-5219429/588147533545924362671045 -qdivz:-7759663/763271482741194316,5893021,-7904753/307331388791664740:-7759663/4497974876494995669268636 -qdivz:-7637867/8373635589819800,-9864736,=1:7637867/82603704453776614572800 -qdivz:-1227995/24598537455164863,6580218,6299290/38542781724475047:-1227995/161863738936150024480134 -qdivz:6988198/9489671176695433,-7796211,2820841/7357436554413976:-6988198/73983478814135878404363 -qdivz:4655307/6278254340914480,9462770,-6281733/6153291637649389:4655307/59409676829575313909600 -qdivz:-3031228/480320878032225,-727330,1226393/130648347238455:1515614/174675892109589104625 -qdivz:805552/214495438615263,1327196,-4903014/270461362054651:201388/71169372037105648137 -qdivz:-8334607/59169490017165,4126493,=1:-8334607/244162486369401252345 -qdivz:-2740096/62311500192201,5879218,=1:-1370048/183171446768495789409 -qdivz:6018950/576700070291,4317824,7475008/942911804001:429925/177863528878869056 -qdivz:2223856/5382329849761,-3906006,252260/533340995361:-1111928/10511706343572782283 -qdivz:2243556/156929905105,-3830812,-2435277/814377058247:-560889/150292240908773815 -qdivz:857583/89117603081,-2195895,-4700762/733917585385:-285861/65230966339184165 -qdivz:3208465/408709893,1515642,31276/1253645275:3208465/619457879646306 -qdivz:-4098989/29766939365,4871162,4547567/76483554090:-4098989/144999583891092130 -qdivz:344051/517335170,-8077846,=1:-344051/4178953833643820 -qdivz:-4130140/2212436731,2194454,=1:-2065070/2427545317044937 -qdivz:5542680/216220363,6891467,6087552/929545577:503880/135461408758411 -qdivz:6509555/836740618,6251993,662482/133872459:6509555/5231296486551674 -qdivz:1638179/17457984,-269806,4370443/34189662:-1638179/4710268831104 -qdivz:2432741/2349231,8748014,-5489595/31977161:2432741/20551105677234 -qdivz:4969351/8828308,4450547,-456455/409972:4969351/39290799684476 -qdivz:129047/5679221,7992010,=1:129047/45388391024210 -qdivz:1678079/404405,9368845,2425353/203762:1678079/3788807762225 -qdivz:7313393/106210,5702,=1:7313393/605609420 -qdivz:9380792/29837,3628650,8349541/69163:4690396/54134015025 -qdivz:141835/4553,1259021,651103/91477:141835/5732322613 -qdivz:3409832/4613,-6381406,6023255/7573:-1704916/14718712939 -qdivz:2693799/5507,-7732579,-8350784/4419:-2693799/42583312553 -qdivz:-3649678/783,4922666,1776512/359:-1824839/1927223739 -qdivz:1703289/146,-1364856,-1170358/5:-567763/66422992 -qdivz:6835207/52,5452267,85397/24:6835207/283517884 -qdivz:-981009/94,-4341899,1154647/19:981009/408138506 -qdivz:868414,-9170184,=1:-434207/4585092 -qdivz:-5109118/5,8155944,7055834/7:-2554559/20389860 -qdivz:4096180/71083460296902382853,39235251,45336611/9448238468873105562:372380/253543400608863592157777373 -qdivz:723497/26326545620806342541,54557113,2864637/65009482842561827395:723497/1436300324333986781126044133 -qdivz:-63087064/6014746604181337631,-68334633,56994111/8777928731228646479:63087064/411015501784727972463474423 -qdivz:-15440050/5936703417482625609,25638172,511239/234669451493331560:-7720025/76103111665203681187573374 -qdivz:55799712/219797647434406031,-82812681,79904323/310979304902953074:-6199968/2022448051281770563297679 -qdivz:11215136/271404723528588829,58952266,-21266387/195173683249926450:5607568/7999961727556913625918257 -qdivz:-22341476/2415590020263023,76303502,87999410/29375584889000487:-11170738/92158988971159808003273 -qdivz:-9005355/4510812860318998,21169081,-4695729/14923894399821824:-9005355/95489762815934554500838 -qdivz:41169514/1040429180028139,-24136462,-77184226/2867050860263675:-20584757/12556139683720167952109 -qdivz:28884631/4498836022940958,-17445318,1608549/1242177333646205:-28884631/78483625050060307534644 -qdivz:-517692/132391467827,83742505,2257283/308472757896032:-73956/1583827593779983805 -qdivz:-87141668/980473328502441,-93910964,=1:21785417/23019298863988227665781 -qdivz:75617477/37806359301546,65166173,-65048788/54754409331605:75617477/2463695750744705803458 -qdivz:-24133097/22580980458390,10165227,24383811/20074325876549:-24133097/229540792242098404530 -qdivz:16320192/467694969529,70126387,=1:16320192/32797758431143861723 -qdivz:44162765/6257622442932,44975330,12453293/412188313732:8832553/56287726877254573512 -qdivz:15976849/142509128422,56335860,17374141/76416816576:2282407/1146910615357687560 -qdivz:94840195/85872967721,98955334,4372523/2906959178:5578835/499858129553104342 -qdivz:1591668/9284581411,-66619034,59299561/82774915363:-795834/309264922347588487 -qdivz:1206823/809723910,99568171,1851220/576842863:1206823/80622728733668610 -qdivz:-85914081/8902612534,-35845304,-66045896/1499799717:7810371/29010622970494576 -qdivz:13440820/2754320367,47651570,48865911/5397347182:1344082/13124768977052619 -qdivz:15805143/461814313,31959348,=1:5268381/4919761446849308 -qdivz:-4439951/41512358,63826,=1:-4439951/2649567761708 -qdivz:87711692/59173359,-37321151,18983077/41260334:-87711692/2208417866416209 -qdivz:-79532127/7010743,44205966,=1:-8836903/34435185188082 -qdivz:-31040649/5929246,53863539,27344212/5421485:-10346883/106456724387198 -qdivz:15254977/1604492,31565106,47169776/1230755:15254977/50645960056152 -qdivz:-1314702/219071,-5786594,-13876970/230949:657351/633837467087 -qdivz:8333867/53036,72209074,=1:8333867/3829680448664 -qdivz:93469648/41061,-48263567,-83507719/46190:-93469648/1981750324587 -qdivz:78818449/16510,17504351,-32862423/35033:78818449/288996835010 -qdivz:-32873138/4311,1836189,-5349604/6389:-32873138/7915810779 -qdivz:26267095/2366,-19100210,37380469/1095:-5253419/9038219372 -qdivz:17021179/187,-47068270,11903833/362:-17021179/8801766490 -qdivz:59271380/219,18844882,10502917/263:4233670/294787797 -qdivz:71210549/59,6207655,57674913/28:71210549/366251645 -qdivz:-88171581/4,-27356653,40019704/81:88171581/109426612 -qdivz:70970263/9,44199944,72907200:70970263/397799496 -qdivz:45786297/2,18148519,62016757/7:45786297/36297038 -qdivz:96846563/1680143679448519441,128223531,=1:96846563/215433955166221295447166171 -qdivz:641178113/23637084788031433889,-195838510,-844127047/52534148496309477764:-641178113/4629051465631741845985265390 -qdivz:432203304/1867790824623873113,-180265683,581867535/6107364102548849006:-11082136/8633297146203992431289261 -qdivz:791492251/9077194570872541382,410301713,-39018983/764723471732454519:791492251/3724388481663303633697987366 -qdivz:401598712/629101484430298745,-116768810,-611873995/55698849613345913:-200799356/36729715853079756199071725 -qdivz:94055155/646161833837700334,-56357955,=1:-18811031/7283271910828518545411394 -qdivz:-31209883/602537298237104,372029853,=1:-31209883/224161862490166960265712 -qdivz:223196803/16862631810833754,64519940,21514940/2113398483862313:223196803/1087975992677085158054760 -qdivz:496016327/1750744187829919,571978386,-693142337/5039438258199861:496016327/1001387834853837912130734 -qdivz:839316921/1836121482811279,660441273,801742057/6619092013304984:279772307/404216803163509573839389 -qdivz:-526011832/776825418638849,171589931,-366007747/149875306848853:-526011832/133295419983286213829419 -qdivz:-874798883/297936367252434,15988665,127117837/184563922509306:-124971269/680514966759448237230 -qdivz:200287712/43891754665843,496594818,=1:100143856/10898208959992477700787 -qdivz:-120118254/85593269819273,351399480,-442093373/20946701297219:-20019709/5012905084332037696340 -qdivz:943959960/9218804756549,151648398,=1:52442220/77667609600301992139 -qdivz:62828073/540741708646,-657515815,53734217/983237183903:-5711643/32322384114987930590 -qdivz:45950159/229199443824,6790963,402982057/868439427968:45950159/1556484942629362512 -qdivz:259555952/42104910479,-302245151,-940909904/528170775119:-259555952/12726005025566837329 -qdivz:869315042/36645934999,382102853,163056126/74033612173:869315042/14002516313970452147 -qdivz:-77018238/88942920247,19547868,-610583685/26308049452:-12836373/289774077420480566 -qdivz:22065750/1532507797,132662602,274310661/2637894122:11032875/101653235967653897 -qdivz:648770433/2675318534,168008014,=1:648770433/449474953714731476 -qdivz:166804597/152419962,935573693,-497815717/166801044:166804597/142600106735259666 -qdivz:933126893/254794607,178086796,-10735069/659294666:933126893/45375555198709172 -qdivz:51397159/9285767,107706490,=1:51397159/1000137370527830 -qdivz:178105895/27030313,-834305485,216521075/14478702:-35621179/4510307679433361 -qdivz:401130268/4003281,538052518,=1:200565134/1076987711155779 -qdivz:-25708379/923800,928600130,113823997/4498353:-25708379/857840800094000 -qdivz:332976289/259940,255080279,848673264/268067:1184969/235962874460 -qdivz:-936148364/84001,-905995411,-39958671/407233:936148364/76104520519411 -qdivz:854254667/15661,-901412190,834007367/56:-122036381/2016716615370 -qdivz:42260654/5561,616640749,207309077/42644:42260654/3429139205189 -qdivz:664619865/9433,509452304,203966830/4141:664619865/4805663583632 -qdivz:259028563/2828,364316648,406720073/2225:259028563/1030287480544 -qdivz:130594031/195,97865363,=1:130594031/19083745785 -qdivz:295389723/478,-625249910,939847596/815:-295389723/298869456980 -qdivz:665547887/87,961350652,72648508/67:665547887/83637506724 -qdivz:434992091/6,68620494,=1:434992091/411722964 -qdivz:222412585/2,301910131,=1:222412585/603820262 -qdivz:-448528340/9,676248718,364885727:-224264170/3043119231 -qdivz:-7851824870/97663123831315122169,4309784371,3802633873/30968200362702972301:-7851824870/420907004711239553899911820699 -qdivz:-6597972451/80277297254646055387,-4726423861,614506788/44782747244718572081:6597972451/379424533240948909290644389207 -qdivz:-631085275/2899211669922691298,6256200760,1109385858/1477376676238012019:-126217055/3627610050554242087958597296 -qdivz:8122235215/7961846503387897018,-3385709171,170279399/599714842989628708:-8122235215/26956496724614685504246152078 -qdivz:8261293608/498905904925989803,9279441956,-5669550521/863022032183383926:2065323402/1157392096566594213196593667 -qdivz:4361752127/48434501579131773,4643568393,2837826733/313554877060481877:4361752127/224908920663564889484850789 -qdivz:1238532920/10342162106427481,4398535564,97283990/2793043923274571:309633230/11372591958443607041358571 -qdivz:1061671387/8926232998705307,-2409354436,=1:-1061671387/21506459072200213677191852 -qdivz:-478800359/400345400504704,4108770541,=1:-478800359/1644927387818574327124864 -qdivz:2240956275/37562621401834,-2396455893,4846367786/7863206958381267:-746985425/30005721804984336769254 -qdivz:-259707383/982049805001181,4636408668,6879601421/49291522336164:-259707383/4553184228315185338636908 -qdivz:5932730501/332075016507041,-3894649593,2459475717/779834134547543:-5932730501/1293315827884615512284313 -qdivz:-2057182763/13014783789192,8587041446,-4768423874/14397276670449:-2057182763/111758487808520630851632 -qdivz:544766933/18794715195475,3843484670,1238159/14363532070842:544766933/72237199730824215868250 -qdivz:8675465767/2586185536443,5059401119,646332059/108654428878:8675465767/13084549997021329479717 -qdivz:3854967983/5468883986994,6390198126,-6884594048/8486977568151:3854967983/34947252205000467173244 -qdivz:541574464/220372973361,2389280993,-4542506150/573414247061:541574464/526532956622332627473 -qdivz:144295607/6358031172,-2226616241,1616092046/415267417411:-144295607/14156895468359464452 -qdivz:1715167848/17579438791,7716353084,2811755179/17556657680:428791962/33912289182480520361 -qdivz:-1808697444/20783950595,5667762702,=1:-301449574/19633083330425284615 -qdivz:5251262150/9823505053,218984165,-2695819927/4710996795:1050252430/430238410280897149 -qdivz:122042670/3353616721,1385474924,1555979149/4749223195:61021335/2323175935826302102 -qdivz:2041370077/380755116,8288872003,=1:2041370077/3156030421011417348 -qdivz:3260509647/206408810,9791591411,=1:3260509647/2021070731150730910 -qdivz:7724750931/66875293,8447158841,-620411053/9335500:7724750931/564906222509415413 -qdivz:706240133/12748079,-3365211444,-4450693274/12511769:-706240133/42899981339816076 -qdivz:-4328713944/3919369,-1733697840,45793219/349446:3403077/5341982365930 -qdivz:818576409/220484,9554360290,204076967/1272406:818576409/2106583574180360 -qdivz:2094971528/577573,5542056593,1522762903/828023:2094971528/3200942252588789 -qdivz:299769258/28325,3451090138,379284289/47694:149884629/48876064079425 -qdivz:2123785501/46271,2031913159,7477551790/28249:2123785501/94018653780089 -qdivz:6633067290/30347,4413188467,5089795320/58789:6633067290/133927030408049 -qdivz:-7112896220/5109,-9041858703,430997275/23:7112896220/46194856113627 -qdivz:563583963/22,342636729,1107784533/167:1479223/19784798 -qdivz:1874300309/184,5945511402,1330452647/672:1874300309/1093974097968 -qdivz:6102614776/341,4776190614,2538216797/925:3051307388/814340499687 -qdivz:283161881/17,-4413775423,9396385745/58:-283161881/75034182191 -qdivz:7062815342/5,5942475325,289745847/4:7062815342/29712376625 -qdivz:5072516583/5,3510162870,318579195:1690838861/5850271450 -qdivz:2105745668,3143294016,1921002976:526436417/785823504 -qdivz:-1047110342/1520484401571884685,33570074404,-12800824587/53544087850846460:-523555171/25521387245444791714979051370 -qdivz:29090953702/20807090234619537879,26907026532,343923157/1724556694370271427:14545476851/279928464498313005317916002814 -qdivz:20274428231/782012114750379463,-88508960784,2548101185/1234460670163112687:-20274428231/69215079597054243839785978992 -qdivz:364228775/25798969587651672,93590422630,4800580791/290037163980705493:72845755/482907293425367362341227472 -qdivz:30300488563/217177830796613151,808037800,26450907691/304742055273554844:30300488563/175487896605667537985107800 -qdivz:84660469437/541808431985810570,-91050654470,6869670021/226059831962560205:-84660469437/49332012329672534151943747900 -qdivz:13781377279/60189448291173846,-36341022321,81142451811/20267863492743986:-13781377279/2187346083838224044777416566 -qdivz:20924076749/75205484440042707,-68511555523,28223428025/76572972653264741:-20924076749/5152444722848098485121720761 -qdivz:46695010459/6765513820287504,19044605306,=1:46695010459/128846540399663729123896224 -qdivz:-66175030565/5858633997091474,93479386801,-6761739565/4747871813360411:-66175030565/547661513539602607025234674 -qdivz:29131927391/449117587317440,27430643163,35826296405/904412982359957:4161703913/1759940610847455863808960 -qdivz:12733873489/203020759589798,68338967211,-7646512609/133308860316557:12733873489/13874229032759519332113378 -qdivz:-645828418/378314206231,91802202116,11814523540/19896454006763:-322914209/17365038611886184292398 -qdivz:55466225485/59966137745571,70085230918,-14564033191/25111688968965:55466225485/4202740611158939466764178 -qdivz:-14856273101/1292859110750,39649293376,=1:-14856273101/51260950175961225392000 -qdivz:54049381867/5879084180264,10563421937,-8536204093/2085088741998:54049381867/62103246799270400051368 -qdivz:10813111460/44728598989,94458376818,34307963680/466563642229:5406555730/2112495428922087918501 -qdivz:93261299995/267442344697,9903554506,31033940419/872316913124:93261299995/2648629837919179554682 -qdivz:12549853509/27452668204,73694908624,84554555332/43906568651:12549853509/2023121874778770191296 -qdivz:8281869761/28644261980,6672638864,60920170655/80750564561:8281869761/191132815718345590720 -qdivz:43507585065/1174891541,-53678216040,32027177949/130065692:-2900505671/4204405464091101176 -qdivz:25929389985/1191490339,67589366380,-51298542/1154628703:5185877997/16106415412180280564 -qdivz:78073658759/979680027,6317031065,86759420379/440052299:78073658759/6188669164319038755 -qdivz:-1688695990/26584499,18370342534,=1:-844347995/244183176362390233 -qdivz:1093701401/17134573,60199324609,4846366/2474809:1093701401/1031489722063606957 -qdivz:-49418541321/28244834,85425839011,83976874051/40710896:-49418541321/2412838642176419174 -qdivz:79131936038/3214193,-5558256386,-26510849221/5257598:-39565968019/8932654384043249 -qdivz:-44020502387/1517047,10832005700,-20237312053/142503:-44020502387/16432661751167900 -qdivz:99090532609/635608,91162874201,92103313957/556384:99090532609/57943852145149208 -qdivz:-10413698662/166089,-12227395873,-37758281071/634722:10413698662/2030835953150697 -qdivz:2134574971/96453,42160589664,-2962999062/10723:2134574971/4066515354861792 -qdivz:37471609877/76548,-10791609390,96390037129/790:-37471609877/826076115585720 -qdivz:34436605878/9079,25235264504,-5473970461/203:17218302939/114555483215908 -qdivz:-14044198283/2389,54080143852,-29150502929/8884:-14044198283/129197463662428 -qdivz:-32522069000/223,48339047086,=1:-16261034500/5389803750089 -qdivz:-47657246803/22,33211359811,15968947072/113:-47657246803/730649915842 -qdivz:40172527838/11,-82213794272,61587574503/76:-20086263919/452175868496 -qdivz:27802957568/21,79643351356,9332219979/56:6950739392/418127594619 -qdivz:10869296351/9,8043862316,13139931706:10869296351/72394760844 -qdivz:6168104465/3,-35878945212,9249477620:-6168104465/107636835636 -qdivz:855395000587/50302555595400936176,-739889806971,934181630371/48600397687605686625:-855395000587/37218348149629194642613330882896 -qdivz:484488645113/10462406400933872953,705670704066,-83884715081/4591650339979326617:484488645113/7383013691171631206651704526898 -qdivz:-60021930656/539548570059923399,866917492648,964805949204/3786090076085699239:-7502741332/58468011689770319521503208819 -qdivz:-323220399515/1857859825012903162,-788928410025,301006918611/23405385204846061:64644079903/293143679559350883341190999810 -qdivz:392310421262/286746574017601209,468810964000,-451125775206/166219155256444865:196155210631/67214968894444487879427738000 -qdivz:36808331478/114061000248894023,792934455019,322932243230/14273224315648399:36808331478/90442897071278805484991451437 -qdivz:-854660221869/89384740128760649,-840396118326,47272992199/15238716217232049:284886740623/25039529547262898284245517858 -qdivz:364501470786/21056530096076939,437727978403,-169280538543/19694582326526369:364501470786/9217032351137685869618348417 -qdivz:71356988859/8140449733588631,579541019218,69993159032/6814665237998029:71356988859/4717724535496851778477310558 -qdivz:-237216301461/7153189855202122,-161521837361,-24951260167/8892014308929978:237216301461/1155396368404312289466080042 -qdivz:431477529919/178167681211025,-114268327380,=1:-431477529919/20358922925156879565364500 -qdivz:136650073403/64126482201233,196314646772,114459442486/14287429741873:136650073403/12588967702066001417869876 -qdivz:254431970614/7700634905305,510462127446,-344404274238/84068115219161:127215985307/1965441238223458525750515 -qdivz:557911675619/47397240043195,418224715021,-700096857791/79702988081428:557911675619/19822697209847158605332095 -qdivz:509038039199/6767048040929,-112750471412,-57732832309/349479521105:-509038039199/762987856682395820421748 -qdivz:314926419471/416369156102,370112646694,101848419292/3456057303355:314926419471/154103490366658460226788 -qdivz:669453679465/415999590924,504198456391,-678536387896/77061621151:669453679465/209746351603168253395284 -qdivz:996528817883/413322921728,812027139903,=1:996528817883/335629429987139374512384 -qdivz:492391623289/48007797318,7318358317,3301219779/801312566:492391623289/351338262783035593806 -qdivz:477172365974/23061409419,-801074911982,627397031659/99184274295:-238586182987/9236958260253145379229 -qdivz:156485412607/5990175067,451647154411,916340057749/8763032403:156485412607/2705445523434271270537 -qdivz:-4814205663/243854698,67090415688,2686305709/2020120843:-1604735221/5453437685430567408 -qdivz:-549975755753/904821260,98226499545,752428923516/928266565:-549975755753/88877425083696326700 -qdivz:-309048114689/24846497,-1027875635,-731863243448/852411331:309048114689/25539108881400595 -qdivz:735435298793/17969395,-793419545872,=1:-735435298793/14257269220494587440 -qdivz:112260296237/20255278,879986635350,=1:112260296237/17824373935298877300 -qdivz:849848647754/9226151,940056683244,3943593549/6913084:424924323877/4336552454084156922 -qdivz:156304200464/4695153,280896701707,=1:156304200464/1318852991709726171 -qdivz:12581766711/139577,982981763154,=1:1397974079/15244627283971762 -qdivz:863623603829/424182,672081287592,=1:863623603829/285084784733349744 -qdivz:190774034338/47111,-939969971749,-882099739304/68161:-190774034338/44282925339067139 -qdivz:-293504193833/44336,348399896607,119682154283/44562:-293504193833/15446657815967952 -qdivz:608003901167/1524,473035881782,-7627832953/121:608003901167/720906683835768 -qdivz:66826129837/54,-738128447998,=1:-66826129837/39858936191892 -qdivz:221009262571/863,-39203245082,38984729793/29:-221009262571/33832400505766 -qdivz:828342264708/529,709893608236,400041569779/479:207085566177/93883429689211 -qdivz:221541593/3,-88280231556,238738747697/64:-221541593/264840694668 -qdivz:11413495397/83,431669407366,283046372607/77:11413495397/35828560811378 -qdivz:148010319127/2,283123647274,766433621663/4:148010319127/566247294548 -qdivz:-219763168201/9,403340924550,-394706926259/3:-219763168201/3630068320950 -qdivz:377661739960/407441308456322857,3965410406437,409422859704/8533399553263788433:377661739960/1615672004565010305438863030509 -qdivz:-1577626903713/27731663323669186172,649610924029,=1:-1577626903713/18014791436549869335907349326988 -qdivz:-1441250962158/8452258866175538849,-2826627450251,8230910671546/264485663157889397:1441250962158/23891386927759171604534865301099 -qdivz:7298594401893/3589655286076871768,1676532872705,4840525305175/826954630150879953:7298594401893/6018175088787146414664952292440 -qdivz:9145310463313/352206858008877943,-9694904568093,-4656627107317/287736322428206292:-9145310463313/3414611876623953391939969272699 -qdivz:3287696310569/218686848623222483,7362954795926,-3636594668023/794551016990788636:3287696310569/1610181380876299151381760004258 -qdivz:599942736859/30109315615210643,190070517001,-686708523847/586022538036179:599942736859/5722893185529369294527641643 -qdivz:6159561616093/1221874427807450,3318286558379,=1:6159561616093/4054529489820493155396123550 -qdivz:-7739149193382/3880813118083787,6945256949005,4243108324360/3938879550941241:-7739149193382/26953244276161183291576281935 -qdivz:1077598865290/1420892515750957,-8741057903714,-2560579494365/3856299969810329:-538799432645/6210051877566485960454677149 -qdivz:9251474975963/380092713862583,-3533706170376,4397319568897/444497940948049:-9251474975963/1343135968291168939649441208 -qdivz:5170689991479/478812422664503,7425515194305,=1:1723563330493/1185142973239084926623751805 -qdivz:7874754009227/86289133604325,567464832332,=1:7874754009227/48966048732851832955035900 -qdivz:82573188125/1723837997186,4858404577211,905066106196/67917513655023:82573188125/8375102415898705337728246 -qdivz:-9462453261891/6333904291327,8882376900652,-1608766513594/2059986591551:-9462453261891/56260125168223520744245204 -qdivz:-8513062446331/9309761450169,55542992537,551347179830/367528742439:-8513062446331/517092010747987064388753 -qdivz:-2148550912058/152802731413,9178119603028,=1:-1074275456029/701220872288938832759282 -qdivz:9881319422543/919461731150,9752261044456,2668885280159/266136830885:9881319422543/8966830822562220870004400 -qdivz:174799529246/781938781,8700555467056,=1:87399764623/3401650867966327149368 -qdivz:-5466205515503/29452452729,-4883930408328,8925441835689/10852340635:5466205515503/143843729483006087927112 -qdivz:996316459693/238035368,996971641405,=1:996316459693/237314511547403212040 -qdivz:1902828237558/232472863,3969221099083,431690216313/4984136728:1902828237558/922736192783831684629 -qdivz:-700150402156/107303867,8389748159752,-2823896211587/556014406:-175037600539/225063105174380840246 -qdivz:3646364186929/738179758,4245401666232,6967936345729/416110377:3646364186929/3133869574591934531856 -qdivz:9885648196055/10155847,7815948425404,9809097272675/14454357:9885648196055/79377576368293937188 -qdivz:1619034630643/74258174,9375949496558,-4811471214059/75060117:1619034630643/696240889130616365092 -qdivz:1807183853299/633460,119735977641,=1:1807183853299/75847952396467860 -qdivz:-57391852197/471910,6490287173297,3578414422277/7633819:-57391852197/3062831419950587270 -qdivz:-8336245595520/207563,8055731289499,3690368841008/41405:-8336245595520/1672071753642280937 -qdivz:-8756280094194/474401,2163225064362,2304316378414/178391:-1459380015699/171039355626399527 -qdivz:-6768110876428/4537,3853268548159,7478518386005/7254:-6768110876428/17482279402997383 -qdivz:7491881449711/45820,9360962689034,=1:7491881449711/428919310411537880 -qdivz:4479515335651/4767,6272480778873,-2550653613043/2315:4479515335651/29900915872887591 -qdivz:7706167334141/6871,-8364277232473,-1312275143305/3942:-7706167334141/57470948864321983 -qdivz:-2426531262302/211,-896936798776,=1:1213265631151/94626832270868 -qdivz:-2687168859651/241,421602999976,4265602937489/57:-2687168859651/101606322994216 -qdivz:4672875535991/32,303500575463,7776212095088/97:4672875535991/9712018414816 -qdivz:712016736313/97,-6773597996516,5238170108147/45:-712016736313/657039005662052 -qdivz:547412039147/8,6440922645756,=1:547412039147/51527381166048 -qdivz:-1428482346861/7,-8578332426693,-208991442483:476160782287/20016108995617 -qdivz:25213882136563/37677676095840232484,64266404189577,-44312529469891/58632890416616303769:25213882136563/2421408760899231901491771289619268 -qdivz:-45348211232/48259765821376689,-86097912542683,25703493789011/20122118862740312269:45348211232/4155065097019252383615533716587 -qdivz:-7699657076461/331713197807190681,69957368331562,36084589185595/8895782428451727263:-7699657076461/23205782359437922808235364573722 -qdivz:4499486281079/570447738950937327,6819787346072,41829452180703/8951562452396016457:4499486281079/3890332271692985934718131629544 -qdivz:9448778776929/55266922938454378,-40211563540804,22791382037077/589181316944364437:-9448778776929/2222369383444376336380695439912 -qdivz:-80693445937604/625638820483329699,65119781059396,28243613851117/411802455862213751:-20173361484401/10185365753033296882775942450451 -qdivz:7104789360034/25829280707927279,61192880702082,50820501919963/43237529502234417:3552394680017/790284046490391045278259947439 -qdivz:8521395225131/866934246203151,-82917276854296,50387683303757/41145275653408716:-8521395225131/71883826906897082331043086696 -qdivz:3654753854813/686472765655654,-56741825130219,4118082438861/3391784320237708:-3654753854813/38951717625490926599463608226 -qdivz:-53486312991974/1510968952191653,-40818569959148,56568646790883/6563654620617722:26743156495987/30837795940567768880638295822 -qdivz:77025810489670/955683320748827,16606084180096,99547352892542/681947908769761:38512905244835/7935078836934353698524373696 -qdivz:74081757285323/779580189169978,71513450124198,62733533615096/994702038569703:74081757285323/55750468976020063538632927644 -qdivz:-90918473901171/23110032090851,57668788153374,33840460487482/35925709609791:-30306157967057/444242514954987040163393758 -qdivz:-12377636482606/6273569332391,52950805470840,6788467435942/28776860168659:-6188818241303/166095274663631704608989220 -qdivz:93826301723233/2510365316368,8687161712184,40792305870208/5978756664845:93826301723233/21807949459946763720227712 -qdivz:754174119367/993972659135,93465132406737,=1:754174119367/92901786194729238278592495 -qdivz:3107915597273/143157120432,-70507843259804,755175597775/219130414:-3107915597273/10093699808944340692715328 -qdivz:44648757800580/573796175549,60618257654342,5117941512382/33291591973:22324378900290/17391262205252667597041879 -qdivz:-66400850026133/11907331494,74065123644406,=1:-66400850026133/881917979378039620722564 -qdivz:62277709926279/87663640784,32094657146865,=1:20759236642093/937844831736137230580720 -qdivz:26142101996176/1749516045,84074622586348,20940287104039/705860031:6535525499044/36772475298033805988415 -qdivz:59312790288505/3662730144,48869114267557,77585738312243/4878987018:59312790288505/178994377938361505138208 -qdivz:73640138898581/622848187,-19896806552263,18788319190513/316012039:-73640138898581/12392689888166730297181 -qdivz:19740823110531/278732932,24473700094823,58579762311988/962128055:19740823110531/6821626184318692811036 -qdivz:-7512635132051/87400601,56390496123957,=1:-7512635132051/4928563251922012298157 -qdivz:-59462887076699/29087597,-98512108079751,-53172761880889/67978482:59462887076699/2865480499444240948347 -qdivz:17522488582105/961216,-76067863891111,-3856252477211/1860688:-17522488582105/73117647857958150976 -qdivz:36565698728205/302902,21351159032601,-36216528579083/54119:12188566242735/2155769591097636034 -qdivz:54644193228042/614773,89311395526262,63456896848754/648461:27322096614021/27453117280933334263 -qdivz:19396300373560/247,-57733371755730,-58481097237257/238727:-176330003396/129637662033321 -qdivz:26129074926522/54241,-57172817810638,=1:-13064537463261/1550555405433407879 -qdivz:-47857708640267/48873,-84095778752769,-78411459424021/96980:47857708640267/4110012994984079337 -qdivz:24471666012555/2128,10834057048867,19163873777357/2355:24471666012555/23054873399988976 -qdivz:63633303713482/2687,29541404498726,953013369111/994:31816651856741/39688876944038381 -qdivz:4028083282444/441,96229912034129,36156251433089/641:4028083282444/42437391207050889 -qdivz:5620157071221/38,1464098099632,45826452102283/555:802879581603/7947961112288 -qdivz:44121126176093/28,49295425845300,-98014359584905/87:44121126176093/1380271923668400 -qdivz:2550244740088/11,7860358429697,32007329912968/13:2550244740088/86463942726667 -qdivz:10610786242282/3,-19942871503520,30442870787715:-5305393121141/29914307255280 -qdivz:-10891422163510/3,65100387657340,=1:-155591745193/2790016613886 -qdivz:28206974750888/38115226610958658587,-233840177846781,184067617831263/10199552995144872193:-28206974750888/8912871369376932568520833775958447 -qdivz:239195932154190/21076639992981349247,-514159353179396,914824331702763/33476179921636595855:-119597966077095/5418375792993139989042719660257406 -qdivz:-66879959134324/1938245828723753153,209078692564075,380314134341760/3263898700497131471:-66879959134324/405245903737334354397466935778475 -qdivz:71631704547265/1127077312973478953,-677425993025946,-808670179854036/6156571467702669689:-71631704547265/763511467958073910363035213914538 -qdivz:369630784942559/118575247636594640,613604398763706,556292057837293/356846295264834699:52804397848937/10394041933472886416968552305120 -qdivz:-86151087673799/115845793068186375,862616462453012,956063729712120/826089658093596013:-86151087673799/99930488206542589968510496111500 -qdivz:305051097653790/20518755287717797,895836082087101,-207160117973632/3362842864667699:101683699217930/6127147115417699363488953945499 -qdivz:-963596685314854/20268707545342331,-188056921260034,-12535707088197/650540922052135:481798342657427/1905835369448549878334199349627 -qdivz:-361781987716599/9794167747947700,61965144850569,=1:-120593995905533/202299007730783467390975747100 -qdivz:189992621219183/1819811590183344,793680743322061,618571148115319/5988770433957028:189992621219183/1444349415602818312690629951984 -qdivz:856347688913222/833832195611433,218162022813457,-653168377938073/524530934347885:856347688913222/181910518481576385943015453881 -qdivz:49096910346166/27167376161979,245243955457352,15314702197043/62138236025303:24548455173083/3331317394680752204689209804 -qdivz:-18418259567905/83404618779589,692976050847437,=1:-18418259567905/57797403344315565768168563393 -qdivz:-505057419418589/56875557275862,337407904218594,63663406245825/3267267474824:-505057419418589/19190262581713202780407778028 -qdivz:107117033307349/8727332158297,-351480699835352,-603596441776797/4327920729574:-107117033307349/3067488814693802582700715544 -qdivz:929542050791479/3668117137877,663512077337021,67789990327315/790180646928:929542050791479/2433840022068296146453444417 -qdivz:198372512149532/147050745673,-256607148991758,-639475502955856/973546370361:-99186256074766/18867136302130312015581567 -qdivz:-186632417034836/209907050713,808174748926739,886289373295672/873782379281:-186632417034836/169641578007931045594714907 -qdivz:-433532847360621/40950919442,-576406278836993,=1:433532847360621/23604367090516689792517906 -qdivz:426046356532532/90956948929,290346527980677,-331137473378042/8913098829:426046356532532/26409034317250907387844933 -qdivz:98321029610961/463670608,840238741926244,-202415965355421/170277763:98321029610961/389594008334096646636352 -qdivz:-8445364920981/3222384187,208373591158613,326878150369073/994641488:-8445364920981/671459765137917540052631 -qdivz:-12366828657410/23205153,25335150548712,=1:-6183414328705/293953022380447956468 -qdivz:182273448529439/333188695,-870663173311865,-167558565067223/158996098:-182273448529439/290095126500339127366175 -qdivz:-841149634523738/46300587,-648674774105803,-8859347501816/2523457:841149634523738/30034022813191079006361 -qdivz:-556504745441829/86432147,-538986011588748,=1:185501581813943/15528572728194123560652 -qdivz:302832240895229/9849955,168669637931783,925930262366551/701582:302832240895229/1661388343494355619765 -qdivz:27790516823081/1265414,-488301813246538,-597901356054121/7828129:-27790516823081/617903950707554636732 -qdivz:-155301832641753/1177,299291205321873,288662739041159/190030:-17255759182417/39140638740427169 -qdivz:372814194432298/771897,-14946141179470,-1945868184959/21200:-186407097216149/5768440769004677295 -qdivz:24153012223489/97155,-97727981983126,=1:-24153012223489/9494762089570606530 -qdivz:488549717772225/7997,385195948307290,57330617868723/9730:97709943554445/616082399722679626 -qdivz:-511124198199268/703,508244053643154,-24599890934580/757:-255562099099634/178647784855568631 -qdivz:-571545380467859/5484,706501320657340,-7318997946516/1867:-571545380467859/3874453242484852560 -qdivz:-284559894164173/378,663811328424393,203252169231125/424:-284559894164173/250920682144420554 -qdivz:-109817805722539/89,-620669084280112,39821179505019/355:109817805722539/55239548500929968 -qdivz:11285503834151/3,347837157467787,135711185047364/3:11285503834151/1043511472403361 -qdivz:483084770349435/13,381226764584849,-76288343397587/2:483084770349435/4955947939603037 -qdivz:465649032901606,218384912976294,72781764311433:232824516450803/109192456488147 -qdivz:2587491587702,-476034210750545,547126738337031:-2587491587702/476034210750545 -qdivz:-8100465584109756/15951781239270673877,4434864932667510,-2144439357097081/43731124302263504971:-122734327031966/1071878715630681611032444680055095 -qdivz:2420885235857233/35605779901295929638,9928092538101335,169386594008780/70879024157212713427:2420885235857233/353497477751334607275098664273866730 -qdivz:-4826446325397187/4335807137383577415,623898962956291,3104677505409659/2952033752437342756:-4826446325397187/2705105576592098688280821859767765 -qdivz:3460717723437681/6443180553972666128,8557703279186741,4156537546937142/3658329170710024787:3460717723437681/55138827355124127379787243357408848 -qdivz:6418458390147775/525897417578055896,8516136495382838,=1:6418458390147775/4478614190664069842626272283112848 -qdivz:4636780176511991/360039743434849768,-1921496410524246,1079563866860541/62772477295468231:-4636780176511991/691815074656134293438079131474928 -qdivz:-1880397818415029/25639914407226400,-6097850633731512,4908502670581090/24912440236773367:1880397818415029/156348368316927228082170198316800 -qdivz:9061727133564523/34045084539204615,5247972528183639,6748794006344619/18625898906279159:9061727133564523/178667668381435363770511716293985 -qdivz:2823293208362365/2802436154127691,4344250613703671,=1:2823293208362365/12174484982434577158035769453661 -qdivz:-226020206421378/2415797606868827,-3145163610465586,3727841238983986/2416072176043039:113010103210689/3799039361686841134188549843811 -qdivz:7567999278230394/732026114358407,-3551640041571087,-7309583636430426/277839170663653:-2522666426076798/866631086410337974581762192803 -qdivz:5055638466899535/704743836609472,2779539095014541,4752310879883735/726255451787449:5055638466899535/1958863045826567351435978332352 -qdivz:9361673562558585/20268733803869,7535815261448418,-312199448698385/81273711157128:3120557854186195/50913811176477152039890776414 -qdivz:213432378367195/87716207315137,-9593838267023732,-844717112346841/14374978538996:-213432378367195/841535106378148359979581831284 -qdivz:1415632181545693/2202115097784,3788146011770250,=1:1415632181545693/8341933525129513693692126000 -qdivz:497714829654563/1407922386147,-4578675319921841,-2297925204832173/1152646493548:-497714829654563/6446419481816736986261136627 -qdivz:7238175376569958/872602199065,-1798229516982452,1067716420123708/311724963591:-3619087688284979/784569515471240189107903690 -qdivz:738345515106893/400467504556,-8952340232264677,-3533763215436655/727067491856:-738345515106893/3585121352751316634695368412 -qdivz:4439193856281818/48510248187,-5941306515090639,9229814236640615/58818462063:-4439193856281818/288214253602086958690421493 -qdivz:1236698199957439/43126617136,4908265726375467,-9469441985248292/19058730389:1236698199957439/211676896783145702292202512 -qdivz:-311681312393881/449133469,8687512018285914,-729773020888143/39573781:-311681312393881/3901852409751943988655666 -qdivz:-6619381459773073/8173378245,7168326441455265,579725052503743/3234923130:-6619381459773073/58589443389648729091709925 -qdivz:-81712138569107/178893283,-9704334752710585,-7534731886719068/64598471:749652647423/15926975259113666967895 -qdivz:-2039906652413491/230491475,2966890829958620,38485631968165/38014698:-2039906652413491/683843043561136512764500 -qdivz:1307529988460267/97135692,-255437889763972,9189367430908049/30495394:-1307529988460267/24812136185243136888624 -qdivz:-2353939854827795/25170878,-7155659041948110,478284130849579/21650202:470787970965559/36022844150894551828116 -qdivz:5285315302178007/3864043,6787737381344610,-6416436174036663/5502097:1761771767392669/8742703038074323619410 -qdivz:-1620957348585296/705477,-6328720613670438,-397716845432416/1806409:810478674292648/2232383416185189794463 -qdivz:244904073732822/142115,9255574655214839,-3718997235951973/328812:34986296247546/187907998875122406355 -qdivz:6808168673302291/647890,7830240386186476,203370328672627/153273:6808168673302291/5073134443806355935640 -qdivz:672164644892723/10287,-2016544002156618,820674735348423/173:-672164644892723/20744188150185129366 -qdivz:-4941575984804663/35536,5225959626506022,-1182801330040787/90307:-4941575984804663/185709701287517997792 -qdivz:2600309343681884/9179,3312191343161384,=1:650077335920471/7600651084719585934 -qdivz:5790050438041746/2783,6180418749108229,-3626128271180059/2055:5790050438041746/17200105378768201307 -qdivz:107486754622047/8,8496429460563751,7528748815319577/995:107486754622047/67971435684510008 -qdivz:257452794220597/45,9163478257322473,=1:257452794220597/412356521579511285 -qdivz:4203249688209209/58,2060439753326067,626942582428365/16:4203249688209209/119505505692911886 -qdivz:543611975572423/6,1815241525016751,1962341163379185/19:543611975572423/10891449150100506 -qdivz:-7648363691373965/3,4559746429342130,=1:-1529672738274793/2735847857605278 -qdivz:-918087881293513,5561326460996979,=1:-918087881293513/5561326460996979 -qdivz:51876939499714691/40566929845814543304,-89899615206821411,90157161726220241/15742168992505626198:-51876939499714691/3646951383260846475079804250453881944 -qdivz:-92711941104471994/57341166703993040251,88283676761336977,-83588601643014818/86753416972940797783:-2261266856206634/123470464058859999703545311456967347 -qdivz:79135269280147891/2531825814704286331,70208234934351669,3930634830491194/3988582117396219449:79135269280147891/177755021611614851116084128823736439 -qdivz:29633672003664449/2815846487521571106,99099377722862940,5605342417119218/208728995495935907:29633672003664449/279048634676497041224317165102211640 -qdivz:2100328802578405/93877410719555637,81107589989236009,=1:2100328802578405/7614170537892827983896229599332733 -qdivz:8852742285354040/39609437377376719,94466432126141813,-67648481041296353/37350723131289264:8852742285354040/3741762227564622406488872518651547 -qdivz:20443075139781274/87402553055221425,-87873934817191987,=1:-20443075139781274/7680406250030691855905267020721475 -qdivz:1452523479130/11854581599599,-35488163365355406,78636907153845391/29302687132551467:-726261739565/210348664217252759959311041097 -qdivz:92799074911223618/6644370845911803,-52469970294585343,-45890868424331740/1359965199072733:-92799074911223618/348629940911201190718038634503429 -qdivz:34907583570918158/2475636741287023,94165624835942786,=1:17453791785459079/116559940305054879266393616133039 -qdivz:15873033385646407/99383771605820,73196542989966161,3460464368471384/198333558453857:15873033385646407/7274548510850381916754430657020 -qdivz:1205053067450735/262488203376077,30733894353467375,53421057721886303/633789433238185:241010613490147/1613456942318361773929214997575 -qdivz:-373343591218193/282481077944,73439972957893897,12246923120614379/86081958852861:-373343591218193/20745402725324078148538907768 -qdivz:98454579819453042/381442416277,-37303102933686841,85678232948136701/93297430238089:-98454579819453042/14228985717655155931079110957 -qdivz:28585002988764732/467382454421,-37834555341081422,-25757017600863353/6081527848100:-14292501494382366/8841603668620894913382433331 -qdivz:-45530451111310855/1372526430242,-40793761192434411,=1:45530451111310855/55990515425596635347551857462 -qdivz:23497143673035545/674205230796,-82036200658508885,23227625077965886/378696171279:-4699428734607109/11061847119719389998528324492 -qdivz:-5439825078047807/781667528452,-36280770053733421,62043822362915397/125125654100:5439825078047807/28359499858237138428340794292 -qdivz:52872401646278523/59676713378,67021996329285655,=1:52872401646278523/3999652464964148140921992590 -qdivz:27899585299889689/9025464642,20767876354773754,31681740022949549/49333571558:27899585299889689/187439733729438364636606068 -qdivz:1612507427821399/412205953,7689706161876916,60532795827702091/8889697996:1612507427821399/3169742656746446428480948 -qdivz:-2370552431010137/60156297,-51229313115187306,69322269011837461/8761285893:215504766455467/280160524987563890033262 -qdivz:-72331493811733128/886163875,-64577202816965274,7822570842692148/107135921:12055248968622188/9537664047490477158046125 -qdivz:4366277947142681/145491389,-13081234312671287,-56811447013180333/377612058:-4366277947142681/1903206949985005846047643 -qdivz:8486006017858987/9980479,-24529516802858110,=1:-8486006017858987/244816327331072506834690 -qdivz:28765525203974723/18854856,63876884071748580,=1:28765525203974723/1204389450901513144104480 -qdivz:50689647321811649/4174791,-88774599859715468,38991799931837226/1986029:-50689647321811649/370615400522941398367188 -qdivz:4028476261308141/506452,20953755384460338,-14414987917829359/8085713:1342825420436047/3537357107323569033592 -qdivz:-15211724165753775/479404,50635361545852096,=1:-15211724165753775/24274794866527678230784 -qdivz:94548235714131649/113748,19684972847420899,15048888921861289/28846:94548235714131649/2239126291448432419452 -qdivz:43163174224614713/12275,-67469365909284359,8363004649561645/2984:-43163174224614713/828186466536465506725 -qdivz:487376363804060/24673,74326537358419014,=1:243688181902030/916929328122136166211 -qdivz:23590462962759737/3701,35930020296127129,-81369453202826375/8982:23590462962759737/132977005115966504429 -qdivz:1287959610890411/751,-2752233067297776,=1:-1287959610890411/2066927033540629776 -qdivz:47419841749950097/739,17294603489855144,13019548234372720/81:47419841749950097/12780711979002951416 -qdivz:41222280346047241/236,-20868388796109651,-65701770111449667/440:-41222280346047241/4924939755881877636 -qdivz:1277752625943784,37792680427691834,-6412847033615904/47:638876312971892/18896340213845917 -qdivz:67522291597229246/85,21305635915392026,=1:33761145798614623/905489526404161105 -qdivz:4778080537828640,39298543484658950,5712499781249450:477808053782864/3929854348465895 -qdivz:5230198800503153/5,64523362154424947,-8862961476704027/2:5230198800503153/322616810772124735 -qdivz:892228662088796613/55871131066606758934,-874654732190677980,-36329885559726251/4321287510517614884:-297409554029598871/16289316393417734432300732645294024440 -qdivz:19014600443315842/3635806154264505107,541063770937137802,551834048493969267/73475868368583023383:9507300221657921/983601494111403049141592316295877407 -qdivz:960011603483042729/5573258293787849080,883388531252731256,=1:960011603483042729/4923352458441350993032321575526844480 -qdivz:-8376282180171729/7720902655804022308,-800983354073748858,=1:930698020019081/687146056191424567616374972113502696 -qdivz:116917619245235244/358157856258765917,570339576544638471,=1:38972539748411748/68090533358253348864814413793930969 -qdivz:320704389821337359/41927154801173284,-360426920157069569,-15910915765693733/13475685473321241:-320704389821337359/15111675275935579272421848412194596 -qdivz:-138439708845709407/32918991643825253,-940108679873295360,=1:46146569615236469/10315809925678866587700717698575360 -qdivz:970565625200394526/38338183236067883,631903906064227282,146768067456204299/9085366117028492:485282812600197263/12113023869138686327460801246292003 -qdivz:-237868081084134539/1372485474016210,-358431791982152326,-311316021142488176/2766391185298279:237868081084134539/491942427921103914038343213204460 -qdivz:332386869754970911/2877063091007380,502102596500253116,-436556878102354567/7463983139447194:332386869754970911/1444580848289849529363513423996080 -qdivz:106788340885301441/156094902691284,997093725815999582,150197112369503143/3864734454843:106788340885301441/155641248105338263941318419043288 -qdivz:17951502946479831/18686629102921,-914598187042218818,-383890255715028479/297113456238268:-17951502946479831/17090757099461910397356724967378 -qdivz:61985927342201863/6333741907873,555288860578968755,-665022931937982622/73070869666115:61985927342201863/3517056327224061861672555508115 -qdivz:985136746217353770/810626219569,-532891374649286107,90081452985518108/33151508539021:-985136746217353770/431975720472878440142083227883 -qdivz:143995044786248406/2685894875017,382397533219560186,365144521255985214/1875114894173:23999174131041401/171179929115593285232696545527 -qdivz:-668702556701908142/4219524530635,393298966987097359,-770735308573122464/4820919926275:-668702556701908142/1659534639075462343835523092965 -qdivz:148895105999031617/190301395132,758758290981884265,977117467972369255/294292572918:148895105999031617/144392761341824589767658397980 -qdivz:-159087329306615872/225087429725,785549672595251591,503557620532730284/373822340619:-159087329306615872/176817356725780450857906942475 -qdivz:-264022644302396773/2278029929,-94916617158321237,547322042930742335/21894307611:264022644302396773/216222894646090709282302173 -qdivz:93285450160979197/42311784283,977744763769178683,521203752538227113/68917709707:93285450160979197/41370125528434282439178039289 -qdivz:535979926641145527/7557767498,-195852721847511858,=1:-178659975547048509/493403111857986544187330428 -qdivz:497372041980721506/7001070781,652079344505507428,-957979276256614831/9655170879:248686020990360753/2282626822855570473874630634 -qdivz:-308477546715083617/648505124,-322354321277070579,43631988559711523/304411310:308477546715083617/209048429091722494191146796 -qdivz:229255530959827383/245022904,-929912624059332484,-557747976237829033/297792845:-229255530959827383/227849891613277913531213536 -qdivz:85541435254879863/96620519,-637208165779243712,-502341106189163895/82331053:-85541435254879863/61567383688628566880926528 -qdivz:-781828043684967758/50968901,-514071001383910979,-568353562372526923/25358389:781828043684967758/26201633976507421681464079 -qdivz:-13517195129753927/89604,354643244723994523,-137336510066384067/3891763:-13517195129753927/31777453300248805238892 -qdivz:-421164540114456588/3586045,-739455098265925151,509210588483978045/6456831:421164540114456588/2651719257861029558117795 -qdivz:-879920640850630235/133271,18621800712996172,-357671116753856630/910903:-879920640850630235/2481746002821712838612 -qdivz:322932399357668253/730313,627619261687036063,=1:322932399357668253/458358505860444368277719 -qdivz:-364883615147378315/33847,666046695114786100,13578684277466669/25549:-72976723029475663/4508736497910033025340 -qdivz:795558880287747297/61163,-462149548616214218,-286678576882420657/73369:-795558880287747297/28266452842013510215534 -qdivz:423565867626533294/3487,663348607243920780,-268080787907842069/600:16290994908712819/88965253594598144610 -qdivz:463684384112493971/66,9600800466060656,494151647146512593/1842:463684384112493971/633652830760003296 -qdivz:272532100018311708/11,236412793340595928,-232492590540804763/131:68133025004577927/650135181686638802 -qdivz:888837359363262418/647,288183337717513478,506854295189807838/361:444418679681631209/93227309751615610133 -qdivz:65038385358943464/19,219207500423093598,-571150506348571411/29:833825453319788/53396698821009979 -qdivz:122838851344159513/4,178669373587933922,=1:122838851344159513/714677494351735688 -qdivz:75127173364928321/3,-719408551485655001,184094967898684200:-75127173364928321/2158225654456965003 -qdivz:332631009005835885/4,255241857170957110,-440453245937965789/8:66526201801167177/204193485736765688 -qdivz:8651470154378974507/17855010711510236057,7926925697505572502,2359552014591739654/44197656807230847567:8651470154378974507/141535343238307746317424286970948104614 -qdivz:-9258523409855044611/72817011870762460894,-9836632014308325438,-2001929228208721648/26641513880861526269:3086174469951681537/238758050051403796832749165221700140524 -qdivz:2243990531384570717/4903143680262418520,513680509693509864,=1:2243990531384570717/2518649344777710905795876032116281280 -qdivz:3229047086296059355/1050027622905630278,8584437716830130217,-3362919728113850665/830531783816835201:3229047086296059355/9013896729784577725673410081197910326 -qdivz:1683852085488062225/4857420952010518,7164575837264288367,7898318645722989656/613199579838648691:1683852085488062225/34801360784195853683892011169044106 -qdivz:2826288843276183739/128602532883722306,3829393882550729957,127913369503544038/812393212269404395:2826288843276183739/492469752705455283388475363583320842 -qdivz:3267515387857773576/19788818533922063,7234907474289428118,8550140884041497495/89127291303108631:544585897976295596/23861711853071649439652573975461239 -qdivz:3591918287029728077/26158481474501713,-158972065062790868,=1:-3591918287029728077/4158467818908295918993227426756884 -qdivz:4798456495725994078/330079170984695,2736684033993685237,416706803708991651/565680585712340:4798456495725994078/903322397187686493123625174447715 -qdivz:7907479278535852409/2240934380307407,8862559007732946109,=1:7907479278535852409/19860413177931857471235489184529363 -qdivz:-333158333301384053/63917873172107,-6335880101587543826,=1:333158333301384053/404975980766949041296129503261382 -qdivz:2512095977043224818/186022607546865,3143294313990366846,1041287894968201417/730622989945241:1256047988521612409/292361902287861129299814743618895 -qdivz:1274272592636105089/26697305210030,-2195064786710266047,681737259161578753/53927973677595:-1274272592636105089/58602314566593376440660512851410 -qdivz:435567843178733800/7824464301393,-1530121566691353530,108560750121051577/2239246150016:-43556784317873380/1197238157536802415656503446729 -qdivz:8594280929749775777/7218293710841,3358259648255124921,-1654228833035760850/3200131211923:781298266340888707/2203718590761007005154646088051 -qdivz:2666142904810159355/7661408856438,74495464765250039,8914192677969935341/9257821421719:380877557830022765/81534316216707374773732128726 -qdivz:-2813129058989480351/107454595872,6627104473551194269,=1:-2813129058989480351/712112833006966892878357457568 -qdivz:7810650428805644969/454117323713,-4146816455262026097,6439502069195252290/747129258447:-7810650428805644969/1883141190592620687327602938161 -qdivz:2811634895903387877/51784821665,6857012694304662549,-988798368309320691/15871152061:937211631967795959/118363059843069370425989774695 -qdivz:844641921898571653/10223671754,8695453332203823704,-9669505387765352006/55085569839:844641921898571653/88899460620677410973380456816 -qdivz:1280215145483357467/3963886285,-9844640072994781020,-4883072007726792453/4475614424:-1280215145483357467/39023033766105411361756310700 -qdivz:8508531253450917863/5170848284,6541528151885306706,195667348757972251/193073972:8508531253450917863/33825249618913829545533792504 -qdivz:5090255825205050242/938312789,-2249350715632037117,5726029167151411771/608233380:-5090255825205050242/2110594543423842645003789313 -qdivz:6901648669928190531/404204557,388389149829747057,3901523146891681931/452461991:2300549556642730177/52329554750179844865579583 -qdivz:9627420596709784057/83296898,-3895759694963765953,5505547607500595567/18124602:-9627420596709784057/324504697943907926282913794 -qdivz:1174645111081751713/56929752,2346454010752872977,=1:1174645111081751713/133583044911566391868111704 -qdivz:1162048514429174393/676516,-5892528680047690487,-2798438907700034207/778641:-1162048514429174393/3986389932511143377503292 -qdivz:2802096388147231635/3081196,-8573957939952598135,970876650595882421/4869143:-560419277629446327/5283608981750037112633892 -qdivz:4679180719452784893/441080,304160869162181754,2151119934944642187/178355:1559726906484261631/44719758723351709351440 -qdivz:8915672976425207388/574061,4193291428000099624,=1:2228918244106301847/601801267612291297563266 -qdivz:233328281895908391/72184,4033877823255275355,=1:77776093965302797/97060478931286265408440 -qdivz:670971715759982761/58495,-1227774851840231708,-617885163678792671/7645:-670971715759982761/71818689958394353759460 -qdivz:1582888827826888415/526,-4801669718395979914,-8104940476272206965/8931:-1582888827826888415/2525678271876285434764 -qdivz:8026229622881496370/1921,-5372178278550968118,9440287299726019407/6073:-4013114811440748185/5159977236548204877339 -qdivz:5824855751154958045/228,-4324004042888845516,-2405077946267326653/169:-5824855751154958045/985872921778656777648 -qdivz:2255437467774544874/267,3199447325094606021,2771405119280841611/270:2255437467774544874/854252435800259807607 -qdivz:7543826031595607035/52,-9104546088044346141,-5010810875416710359/35:-7543826031595607035/473436396578305999332 -qdivz:7512950202725008087/52,-8401436384345753975,3578777756405806355/83:-7512950202725008087/436874691985979206700 -qdivz:-1398241246515482350/9,9068233703219211833,-2193751108198388733/4:-1398241246515482350/81614103328972906497 -qdivz:1221529554903080379/7,2438945293435843068,1698434551175058380:407176518301026793/5690872351350300492 -qdivz:35763638816437199755/2954907322691529008,18266557204434993168,58451171309683368843/18764957235832345259:2103743459790423515/3175057861396980374605962360114930432 -qdivz:-24539890933020861364/63297755114471972871,42384166620484371822,18890782875418251817/33137608653031131951:-12269945466510430682/1341411299737198460228945187043730420481 -qdivz:-41296371891007796845/1613315363510257239,15249898379502770099,=1:-41296371891007796845/24602895347621994343929388600567496661 -qdivz:26968473073125515519/4145542541499550935,90024588359492067484,=1:3852639010446502217/53314394403608519170705602182959328220 -qdivz:-9108355348050007705/76661950335475401,57055375045772530625,-2298296977286102063/15036407448001952:-1821671069610001541/874795265626187255366630363241331125 -qdivz:28017281112559674142/994247002684615355,67802491332771845215,17786655481004019427/236849374499644614:28017281112559674142/67412423782158018128691815375872276325 -qdivz:-49891914618525842453/68768611655263204,-56174819664217997775,-258643868421169477/1911028715949526:49891914618525842453/3863064358293050425485529901511371100 -qdivz:15475896177646886296/49664524240516277,35025891777986572339,11898387681595445269/681838705009854:15475896177646886296/1739544251253513882654242570967461903 -qdivz:28737321045177790751/2199012471009842,24823078729899234245,-40602612518778238915/4253179813373998:28737321045177790751/54586259695907565418964937658439290 -qdivz:-82233023866669302835/5439768388360516,-73950538660865410929,81261743259100627124/9245809803784267:82233023866669302835/402273802509607867490064466938479364 -qdivz:10167079364078493161/151110174756962,88181742728859483214,16304278265161179899/143495911599289:10167079364078493161/13325158554131419669540551368635868 -qdivz:-6087130765566978973/5927625468935,65819308108627037451,40718993650318423604/883073647363335:-6087130765566978973/390152207092377590789503682084685 -qdivz:7330732280399983999/37205998622295,20406176085943153899,13830294786103284155/92667712731961:7330732280399983999/759232159339910159481881157578205 -qdivz:-48332340643030107345/92304258311717,35076831981288534479,-73321763690952610021/86494140631565:-48332340643030107345/3237740959957552893702829684190443 -qdivz:98273075027659873937/84269635133,52859353248248533455,=1:98273075027659873937/4454438411596262285555193874515 -qdivz:20915233355720477899/1963896569345,62221892038256747576,-76661712514256465617/9116980669558:20915233355720477899/122197360312087396058804044657720 -qdivz:1656128732718013893/12013991167,91363850016657817300,38483305820933684114/470970043279:1656128732718013893/1097644487083239819903699789100 -qdivz:11764945144680543887/509229952865,93152505052059419404,-49961035800951489551/291905091165:11764945144680543887/47436045756916892514278186392460 -qdivz:-7317867086622619121/13130133210,58387376454076686929,-27069412842327211975/63749547479:-7317867086622619121/766634030624444346933235812090 -qdivz:94954386229766199286/91332072561,-41015693032911100387,=1:-94954386229766199286/3746048252221538781607839181107 -qdivz:49271375056669735877/3964274332,27367616211878761468,=1:49271375056669735877/108492738476778047583543039376 -qdivz:19003279723108075157/3672679837,-87707256449781680395,22197086023892167841/2380460690:-19003279723108075157/322120672321701380638694695615 -qdivz:11453151955554782667/792819445,-44970402143698368284,43746116839109616727/406009345:-11453151955554782667/35653409268993750590326482380 -qdivz:66060084310215517861/632772858,5686208043365730020,66618392442628601603/239006406:66060084310215517861/3598078114783120924011797160 -qdivz:15607406135041638145/12850627,92675124740491579124,82466968677513464623/33726515:15607406135041638145/1190933460218529079963510748 -qdivz:-84968644713302015482/30765501,21907086830543047075,=1:-84968644713302015482/673982501792158945328959575 -qdivz:-75708685189598590459/7543159,87636428496926088857,99286949010117671967/464174:-6882607744508962769/60095955849494954499679933 -qdivz:19413781778784807559/7455,70419417237119401006,87759888274980374477/7600561:19413781778784807559/524976755502725134499730 -qdivz:-44073071620584783758/137977,97178052623075418323,2336605012039492891/4902:-44073071620584783758/13408336166774076993952571 -qdivz:25141254449395000414/853567,48818099403147552704,72006961628028408314/367953:12570627224697500207/20834759326623223559447584 -qdivz:48044965246872284768/97133,69155615859736994978,-45313300536339105253/86233:24022482623436142384/3358646217651916766599037 -qdivz:-4395289710243518173/8350,744289141150282917,-29095078709708260253/88548:-4395289710243518173/6214814328604862356950 -qdivz:-92303054169340161069/4319,6791173325830567613,=1:-92303054169340161069/29331077594262221520547 -qdivz:64997783212580413369/6291,44933069571459793043,-20474362763124554371/1858:64997783212580413369/282673940674053558033513 -qdivz:93945477444073241773/141,88011071920496381723,23904352473973528984/197:93945477444073241773/12409561140789989822943 -qdivz:-25808752242439690169/552,-34114701969246980307,41196336212393917073/475:25808752242439690169/18831315487024333129464 -qdivz:16573231794217629809/25,80794581544602285996,=1:16573231794217629809/2019864538615057149900 -qdivz:42187260212039274209/87,70929718370679041273,41380731918827034219/13:42187260212039274209/6170885498249076590751 -qdivz:-34161590626563013397/4,-31069588081719868852,=1:34161590626563013397/124278352326879475408 -qdivz:60823156242773368161/2,-90388088707709016642,-91947828450656458545/7:-20274385414257789387/60258725805139344428 diff --git a/polly/lib/External/isl/imath/tests/qmisc.t b/polly/lib/External/isl/imath/tests/qmisc.t deleted file mode 100644 index 2005b0f8519..00000000000 --- a/polly/lib/External/isl/imath/tests/qmisc.t +++ /dev/null @@ -1,49 +0,0 @@ -## Miscellaneous rational arithmetic tests -## Generated and verified by hand - -# Basic negation tests -qneg:0,0:0 -qneg:0,=1:0 -qneg:1/37,15/16:-1/37 -qneg:65/18,=1:-65/18 -qneg:-6/7,=1:6/7 - -# Basic absolute value tests -qabs:0,0:0 -qabs:0,=1:0 -qabs:1/37,15/16:1/37 -qabs:-592384293849818/1000001,55:592384293849818/1000001 - -# Reciprocal tests -qrecip:0,0:$MP_UNDEF -qrecip:1/2,5:2 -qrecip:-3/2,100/995:-2/3 -qrecip:655378011918000000,=1:1/655378011918000000 - -# Reading decimal fractions -qrdec:0,10:0 -qrdec:1.10000,10:11/10 -qrdec:1.01000,10:101/100 -qrdec:1001.001,10:1001001/1000 -qrdec:1001.001,2:73/8 -qrdec:12.05,10:241/20 -qrdec:-5.00138,10:-250069/50000 -qrdec:-00000.5,10:-1/2 -qrdec:.5,10:1/2 -qrdec:-.005,10:-1/200 - -# Rational exponentiation -qexpt:-5/8,0,0:1 -qexpt:-5/8,0,=1:1 -qexpt:13/8,0,0:1 -qexpt:13/8,0,=1:1 -qexpt:509252236125428/47889593208724507642867,0,0:1 -qexpt:509252236125428/47889593208724507642867,0,=1:1 -qexpt:-5/8,1,0:-5/8 -qexpt:-5/8,1,=1:-5/8 -qexpt:13/8,1,0:13/8 -qexpt:13/8,1,=1:13/8 -qexpt:509252236125428/47889593208724507642867,1,0:509252236125428/47889593208724507642867 -qexpt:509252236125428/47889593208724507642867,1,=1:509252236125428/47889593208724507642867 -qexpt:509252236125428/47889593208724507642867,4,15/39:67256115255216568118287656956157205834289880165948820377856/5259743820161714626344840164714583399959974116151536869550562774750827767486998189660536721 -qexpt:509252236125428/47889593208724507642867,4,=1:67256115255216568118287656956157205834289880165948820377856/5259743820161714626344840164714583399959974116151536869550562774750827767486998189660536721 diff --git a/polly/lib/External/isl/imath/tests/qmul.t b/polly/lib/External/isl/imath/tests/qmul.t deleted file mode 100644 index db1f3908f49..00000000000 --- a/polly/lib/External/isl/imath/tests/qmul.t +++ /dev/null @@ -1,803 +0,0 @@ -## Rational multiplication tests -## Generated and verified in PLT Scheme (see imath-test.scm) - -qmul:-3/26206484091896184128,1/693472590887743985,-4/70335584174882085859:-3/18173478421265693438940076224084470080 -qmul:3/91130421678723294601,2/1511297448571716895,-9/67416878129472613559:6/137725173770319192750843847801453983895 -qmul:3/3660941890584665578,-9/8380105656182991401,5/2848423294177090248:-27/30679079844245810042603985831234694778 -qmul:7/2164077499217694058,0,-1/333401876099655555:0 -qmul:4/904017211204226053,=1,-1/248448496161174245:16/817247118153466254734904646723958809 -qmul:0,-4/100568637457389843,0:0 -qmul:2/73650052097202983,5/4552230994414799,0:10/335272049897152087881722802145417 -qmul:7/999642011115757,=1,7/12191208784714605:49/999284150387555241548053683049 -qmul:4/4748171647596839,7/4194009713619088,1/878273774653032:1/711209928998281855823737102244 -qmul:-1/3272725541181013,3/1299116858075758,9/9062356618866682:-3/4251652922403362359365945182854 -qmul:1/107669261142969,=1,2/427008086776155:1/11592669795072854172258134961 -qmul:9/886384410786908,=1,1/143876368001899:81/785677323686054067227784200464 -qmul:3/35807911942040,=1,-5/90295680789497:9/1282206557648890844319361600 -qmul:2/68986921725007,5/77598287457417,3/43453045339831:10/5353266982819419037696526919 -qmul:-1/1109481330540,-4/9404058215555,=2:1/2608406755367394881137425 -qmul:0,=1,5/4715212234981:0 -qmul:1/68986716212,-3/2931468080,=1:-3/202232356519496512960 -qmul:1/26808054670,=1,=1:1/718671795189708808900 -qmul:7/43068832781,0,7/19211808304:0 -qmul:1/9608906275,4/5041381803,=1:4/48442165241517513825 -qmul:1/1228681579,6/2225293505,2/749381381:6/2734177137461844395 -qmul:1/8574959114,=1,6/1956551185:1/73529923806771664996 -qmul:-5/861495024,=1,-2/67979545:25/742173676376760576 -qmul:-2/140727827,1/692019033,-7/753572629:-2/97386334756731291 -qmul:3/95516372,=1,0:9/9123377320042384 -qmul:3/21198931,1/3432139,1/3530668:3/72757677843409 -qmul:7/6222866,4/1833695,0:14/5705419134935 -qmul:6/615053,=1,0:36/378290192809 -qmul:5/568461,4/392783,-2/643261:20/223281816963 -qmul:-5/510613,=1,0:25/260725635769 -qmul:2/14663,-8/93277,=1:-16/1367720651 -qmul:9/49612,8/73143,1/20024:2/100799181 -qmul:3/697,0,=1:0 -qmul:-4/2403,0,1/2247:0 -qmul:3/196,9/422,3/424:27/82712 -qmul:-1/309,2/257,4/233:-2/79413 -qmul:5/67,9/11,7/8:45/737 -qmul:1,-1/22,=2:-1/22 -qmul:0,=1,3/8:0 -qmul:0,-4/7,=1:0 -qmul:-85/86153854226096021421,=1,-17/21068656717268700162:7225/7422486598011403290090823970405290859241 -qmul:-5/43607938850040716426,27/16056333585184134128,32/52338799857236448113:-135/700183613138564743562274537293596786528 -qmul:17/1822698577891414141,=1,-7/8417742332722538862:289/3322230105847383502431373884774767881 -qmul:16/4598825929956443605,49/4847943197216974161,27/3451375546922816345:112/3184978126045337954130178471819812915 -qmul:-13/308229631559916894,7/23027204844472228,=2:-91/7097666865066408240206510971019832 -qmul:9/407734736332167529,=1,=1:81/166247615211862175599509955321965841 -qmul:85/4942792842537911,76/69829540258955019,-91/17762034363033874:6460/345152951789675772143408751225309 -qmul:54/48159800199427181,=1,5/15794694767846184:2916/2319366355248746342818800521606761 -qmul:-1/11155623059888,5/2213190858263331,74/4478858739544117:-5/24689522974375729479887366928 -qmul:28/7444112023597965,94/2835981424363017,44/965216022716111:376/3015909059971602514096088922915 -qmul:61/275448071365986,=1,39/801040431549668:3721/75871640019241316559957752196 -qmul:-16/122979260248953,91/861294833601044,69/330950567465674:-364/26480350373125364764230176733 -qmul:-5/15361734038378,-4/21146843499433,-42/41820111648961:10/162426092794746228321619837 -qmul:31/27515949153680,42/8919478678031,-31/98260871319338:651/122713960891016949829402040 -qmul:-96/7797764223407,-71/8834811164017,1/1862795966742:6816/68891774415328515707545919 -qmul:15/5131534941574,57/7059500713061,=1:855/36226074579139089973698014 -qmul:99/412586992259,-70/740258455507,2/72307587241:-6930/305421009651925904920313 -qmul:79/741601059426,-1/218034913785,-91/880841444516:-79/161694923054812571587410 -qmul:-31/7229094496,1/4120337146,=1:-31/29786306583812948416 -qmul:55/83518896547,9/29598222046,-49/35480447526:495/2472010845035008675162 -qmul:-70/3176137243,=1,1/170734393:4900/10087847786371641049 -qmul:19/8816510816,16/688207893,1/526411545:19/379224520768191918 -qmul:-3/77923064,=1,29/420820637:9/6072003903148096 -qmul:7/886358404,71/63529999,3/267607006:497/56310348519761596 -qmul:1/2981721,46/37858403,83/6367099:46/112883195251563 -qmul:-31/938629,-15/8290882,1/1023462:465/7782062280778 -qmul:37/410302,4/1757463,=1:2/9744467349 -qmul:28/8167855,=1,81/7643948:784/66713855301025 -qmul:-97/992628,13/93468,-47/39726:-97/7136842608 -qmul:-23/674165,7/523911,47/942664:-161/353202459315 -qmul:-7/19181,54/85811,=1:-378/1645940791 -qmul:5/7653,=1,-76/63829:25/58568409 -qmul:11/4265,=1,57/520:121/18190225 -qmul:65/6957,41/389,96/2993:2665/2706273 -qmul:-23/297,-9/83,14/891:23/2739 -qmul:2/31,86/985,-4/905:172/30535 -qmul:-12/7,-10/3,62/67:40/7 -qmul:-28/23,16/87,4/15:-448/2001 -qmul:37/2,=1,-16:1369/4 -qmul:-20,=1,35/4:400 -qmul:437/75577860178450821941,=1,572/74570847326022239185:190969/5712012949153462506928348371418487007481 -qmul:-189/57565050795595180562,-59/2655741179562929534,963/98951958258639716842:11151/152877875901493900051494486844412518108 -qmul:392/9223441830913061231,10/126887593668291297,102/1854286196997300457:3920/1170340339264017235848151367305406607 -qmul:255/3855767718884073169,129/2905792024958436842,-235/3219625969384677757:32895/11204059087625523831085398908193292298 -qmul:-47/35122532617610421,-117/122052767037802280,319/272062018205952087:1833/1428934097118272207801649688519960 -qmul:979/892962159830670377,-375/273191235681889997,70/47294962936566903:-367125/243949435861310195658594938880518869 -qmul:117/20991277911775766,=1,-92/47578690454158995:13689/440633748369405163321411464886756 -qmul:-243/11407352500485733,587/76385498874294444,-614/81454021700493267:-47547/290452103861510956341405887722484 -qmul:174/900283464250993,229/9496538222605715,-274/3248450234623149:39846/8549576329439440824503236224995 -qmul:-690/8145214566421669,141/5752215623742809,71/3004747651790415:-97290/46853030487708234314403900528221 -qmul:226/102973529231733,30/68951726615689,=2:2260/2366734212079704520104819679 -qmul:-815/885459835828344,37/163413072330166,-43/147651688219350:-30155/144695712197674089868869025104 -qmul:75/6638760558632,-138/35179390065353,413/82329576156442:-5175/116773773621297956634138548 -qmul:147/95595835551176,6/10399082254439,189/19869218037638:441/497054478539251611118835132 -qmul:-610/7116766665669,370/6178271155283,-170/1991438380331:-225700/43969314209382356444079327 -qmul:-22/3906839603439,=1,495/2629172214638:484/15263395686999402780626721 -qmul:145/9760768489,529/803913134519,3/3085831861:76705/7846809991306273371791 -qmul:30/130533848429,-291/232962676405,413/647890196158:-1746/6081902938292888923549 -qmul:218/45496969487,53/7721267751,312/52099708697:11554/351294283268204113737 -qmul:277/88084217182,-643/95570881719,=2:-178111/8418286301611629495858 -qmul:97/9657661098,472/161930139,400/6505391099:22892/781933202007016311 -qmul:137/1394596885,923/2175332507,-63/538078336:126451/3033711938101440695 -qmul:-99/123912484,299/998630381,359/807136797:-29601/123742771107576404 -qmul:281/377026117,-970/10165277,80/672610947:-272570/3832574915539409 -qmul:641/45327247,95/3702049,-31/16613945:60895/167803689429103 -qmul:-737/25452329,363/67508236,825/73130323:-267531/1718241832881644 -qmul:51/7250464,112/8927185,903/6361594:357/4045389591490 -qmul:199/4639977,588/7971809,322/8874233:39004/12329670136131 -qmul:665/703012,329/294996,787/209117:218785/207385727952 -qmul:133/29650,307/137037,809/690522:40831/4063147050 -qmul:553/42863,161/16139,552/86389:89033/691765957 -qmul:-568/72299,-953/23177,798/52267:541304/1675673923 -qmul:-907/7588,47/7619,=2:-42629/57812972 -qmul:37/1428,-161/1853,-140/3279:-851/378012 -qmul:69/659,194/7,-183/238:13386/4613 -qmul:-365/824,264/503,-421/698:-12045/51809 -qmul:747/74,-15/94,12/19:-11205/6956 -qmul:12/5,113/37,=2:1356/185 -qmul:-807/7,943/8,199/3:-761001/56 -qmul:591/7,85,-156:50235/7 -qmul:853/18759654468263598130,-2841/40750915886836631585,=1:-2423373/764473101302328863323172599481304936050 -qmul:-4752/16314480916934323241,1675/15223840982975523171,=2:-2653200/82789687733065614038692540422933105737 -qmul:-877/6101604969629738233,=1,3917/3506403215407013175:769129/37229583205410318824680729796101962289 -qmul:3511/9447760616772726092,2633/1439700094583390479,-1093/3530171944589695778:9244463/13601941853568925322985028756947678068 -qmul:1947/430992381411198689,=1,6905/150990131770718358:3790809/185754432834496165241461379835318721 -qmul:8719/646714849991103264,=1,5786/734533820409647257:76020961/418240097199015197424619951911453696 -qmul:-901/11042787574357099,-1492/25943871895296763,2003/71983717831437714:1344292/286492666196095454208761540770537 -qmul:248/45424964911300681,-2828/10155871660092285,1922/24482631313347631:-100192/65904301971909291827634263335155 -qmul:2932/167088922177995,4285/8315956341564334,=1:1256362/138950418199124701072469163033 -qmul:63/96864941445455,1217/536600078187501,-1363/813397840648021:25557/17325911717752953043818085985 -qmul:2028/952222976621975,=1,-4447/132247057152414:4112784/906728597206814347382052900625 -qmul:-2672/564653311125411,=1,593/245849676591157:7139584/318833361764890193787369918921 -qmul:8811/12688709770015,-6995/78357482492503,2405/8730288903721:-12326589/198851070731280426018339509 -qmul:-6216/89020593811217,2073/8676827195515,-43/383215257478:-12885768/772416309342061967459091755 -qmul:649/679490122076,-1037/2294439110154,6125/672996983517:-673013/1559048711054490271159704 -qmul:4001/986338046878,5/3558981731,-2511/3763709597086:20005/3510359089429023585818 -qmul:-1523/69241899473,=1,7123/515464482213:2319529/4794440642629037677729 -qmul:-6869/800191115742,938/461384295473,-3029/66737130644:-3221561/184597807090188234817983 -qmul:3554/16260606585,-2909/10951382696,=1:-5169293/89038062790716326580 -qmul:-8706/24347671943,-2333/75528831647,6568/10275254341:20311098/1838951215179232380121 -qmul:8843/2387867375,3806/2482665293,-478/3437714583:33656458/5928275456199515875 -qmul:676/469237349,=1,=2:456976/220183689696547801 -qmul:4381/415783140,=1,-9189/160372247:19193161/172875619508259600 -qmul:5209/647900590,31/76532430,5022/774082651:161479/49585406551133700 -qmul:6785/98653728,1643/10927961,-3657/22982951:11147755/1078084092088608 -qmul:-131/3707540,-3070/95931603,8132/10434367:40217/35567025538662 -qmul:3495/4205702,1768/4495963,642/2009179:3089580/9454340290513 -qmul:-3081/1925708,-557/52210,=2:1716117/100541214680 -qmul:1824/515329,4783/215399,-80/428083:8724192/111001351271 -qmul:-1259/116291,686/450649,=2:-123382/7486631837 -qmul:2158/8127,4919/28127,=2:10615202/228588129 -qmul:-8479/13630,228/39107,-6607/63539:-966606/266514205 -qmul:-3929/4639,1292/907,4288/3241:-5076268/4207573 -qmul:-2277/9067,379/5790,-503/3539:-287661/17499310 -qmul:7172/525,4813/272,4472/631:8629709/35700 -qmul:759/64,=1,1976/105:576081/4096 -qmul:3255/4,-1567/13,4881/26:-5100585/52 -qmul:3089/89,=1,-8984/35:9541921/7921 -qmul:5031,-5481,=2:-27574911 -qmul:1479,6716/7,669/5:9932964/7 -qmul:-79907/42073633953804470386,9649/39994826473890828375,-32061/69201000109873943624:-771022643/1682727689108411078225149789999696002750 -qmul:7869/4137317017220625920,-46300/94718332275370703049,-79642/60022119059401889179:-6072245/6531329466094147648450013992237207168 -qmul:-29138/1677259660137772757,55969/6796400935123913154,-10129/967130263887253020:-815412361/5699664561302987764528483645927572789 -qmul:63296/9530224706297545807,2348/322614345457502213,958/9427355800897598701:148619008/3074587205685099009151203658171370891 -qmul:8775/40604046784024133,-33221/144310822954936081,=2:-291514275/5859603406703248409743984976442773 -qmul:21115/310091896403808544,11297/311633467720059450,=2:47707231/19327002597641657788985081219588160 -qmul:-7541/568197224156233,78686/80834506129161047,=2:-593371126/45929941998629309750410745855951 -qmul:-69371/45833711711077260,45306/56585412779622335,7626/54270702558063797:-174606807/144084416466306503713223267033450 -qmul:-47821/557744909539529,-35381/1596080991630467,27735/4832267108379043:1691954801/890206048294696559875897230043 -qmul:39463/2836203973039415,5893/5755385978253006,39369/9842567552327876:232555459/16323448577896515754725680231490 -qmul:59563/93078116326943,=1,39162/530318464795213:3547750969/8663535738971933065667725249 -qmul:-6422/219350698334991,12009/451668291281128,38643/184068500609632:-12853633/16512292518047925598650058308 -qmul:6353/29487362288887,18649/10109618056586,-739/5084432721670:118477097/298105970236825097644959782 -qmul:82991/13932554844361,44258/40391647302859,-4103/3232141273561:3673015678/562758841301169080175328099 -qmul:68609/2797606749368,71293/8880170450370,=2:4891341437/24843224787493384272866160 -qmul:69352/1282840784633,51360/5155457119681,=2:3561918720/6613630656553360226662073 -qmul:19996/284659901481,91975/649935845164,992/22386886571:459783025/46252668413338677571971 -qmul:95164/291066123381,=1,86173/926768430166:9056186896/84719488180043514871161 -qmul:58599/35278850458,=1,=2:3433842801/1244597289637926809764 -qmul:16793/50880968745,32965/31422146373,5133/4972604243:110716249/319757849501085622377 -qmul:10537/861910652,22310/9378414407,=1:117540235/4041677638131781682 -qmul:79317/9648480088,22265/3941357964,=2:588664335/12676037945111406944 -qmul:11221/182565205,56092/543156657,49073/666425232:629408332/99161506432319685 -qmul:85751/945688766,15325/126345977,14001/74129827:1314134075/119483971078194382 -qmul:-70533/6456184,-11237/1159737,36975/90043007:264193107/2495825154536 -qmul:56162/84955139,=1,=2:3154170244/7217375642509321 -qmul:559/4445450,87073/9891852,=1:48673807/43973733473400 -qmul:2247/126982,=1,=2:5049009/16124428324 -qmul:87205/903493,=1,4007/74486:7604712025/816299601049 -qmul:20400/957959,=1,-9955/111633:416160000/917685445681 -qmul:31836/73595,11609/39450,46021/33218:61597354/483887125 -qmul:84969/75326,-86068/92037,9321/65618:-1218851982/1155463177 -qmul:49337/4359,71033/6220,-25745/2781:3504555121/27112980 -qmul:15077/1290,20527/9232,-259/71:309485579/11909280 -qmul:52867/502,-63033/451,83228/635:-3332365611/226402 -qmul:1852/17,45130/359,67421/50:83580760/6103 -qmul:57233/78,37817/35,-23454:166490797/210 -qmul:9693/26,82259/68,46811/66:797336487/1768 -qmul:-53957/7,=1,57497/7:2911357849/49 -qmul:-95413/6,-29374,-4257:1401330731/3 -qmul:-198736/12940720433326325129,125852/5925853683093665567,12760/97357765177854120733:-25011323072/76684815841712259623316096046234133143 -qmul:921572/61142247716597287729,-236568/70364185507196351425,204596/87367262923771962827:-218014444896/4302224460657604084043267617199724163825 -qmul:-175852/3759159397994001893,12753/21663430571600165,=1:-2242640556/81436288626021332583545141049112345 -qmul:-268026/6357464651647716983,=1,8534/1795261387346998395:71837936676/40417356796950227447969273156066622289 -qmul:841695/829965893010784622,-533003/287367841069761182,-70387/77776025771352596:-448625960085/238505506836045568256258975978143204 -qmul:285995/137908752412413419,=1,=1:81793140025/19018823991948344014771004171269561 -qmul:523332/10397730659818265,-637807/84218842967037343,38109/5089543807331942:-333784812924/875684845652784039249421848469895 -qmul:331806/46798346659133905,390599/19460297756850316,-839360/33343052356070147:5891049627/41395898205229409605128422071090 -qmul:-618133/4917065118673735,=1,-92527/257257853329058:382088405689/24177529381277951659005378850225 -qmul:821668/9309756380607047,319410/1721325229930259,-409819/4033682794066002:262448975880/16025118542443120997155893935173 -qmul:-463245/974985643441198,-676781/102650194991381,67531/763750320751138:313515414345/100082466413036044472790314438 -qmul:3292/15168814078843,786853/187996862965898,126658/126696595422875:1295160038/1425844730867715885896148007 -qmul:-108514/9407475910099,31445/45805965278381,209927/522813819096:-487460390/61559787842171498837752817 -qmul:206519/25307336797263,439291/97571104143841,-52486/22231146494461:90721938029/2469264794249007720607107183 -qmul:755819/4678998804414,132779/513422592641,-154155/1796861274557:100356891001/2402303697126375154717374 -qmul:-610422/8953796367011,=1,34600/946679301111:372615018084/80170469381899382209074121 -qmul:-168796/96200349399,=1,459815/414314841334:28492089616/9254507224489679661201 -qmul:448040/938638294207,-940391/987312987781,877652/581123018277:-421332783640/926729778699174474084667 -qmul:367299/48916956722,-234746/31600745479,19962/10415742905:-43110985527/772906149489590079919 -qmul:540492/60952022291,=1,=2:292131602064/3715149021362560888681 -qmul:48241/1850039638,600695/993394588,=2:28978127495/1837819363974679144 -qmul:-73469/4702579939,910622/7776354127,71768/6903692213:-66902487718/36568926916190058253 -qmul:165889/228901970,3743/140713319,=2:620922527/32209555924338430 -qmul:208098/645461621,-637539/213089255,-987707/763332694:-18952941546/19648705135711765 -qmul:978743/66626510,16328/1482253,=1:7990457852/49378672163515 -qmul:336035/68124509,=1,245361/31402036:112919521225/4640948726491081 -qmul:191473/9297613,135059/7858162,-384667/8715020:25860151907/73062149167306 -qmul:-118451/7012982,-685529/5952631,=1:81201595579/41745694055642 -qmul:142154/901271,422448/305711,332653/165374:3532510176/16207556393 -qmul:52759/177236,850321/697129,72248/85023:44862085639/123556355444 -qmul:-88178/95391,=1,277011/11863:7775359684/9099442881 -qmul:-466226/55653,24107/11550,-273396/37003:-5619655091/321396075 -qmul:825492/3685,102991/306,60368/1041:14169707762/187935 -qmul:166834/1709,340151/1908,=2:28374375967/1630386 -qmul:-212681/290,424751/190,845448/971:-90336467431/55100 -qmul:134907/163,-69685/79,=2:-9400994295/12877 -qmul:-539594/3,15173/4,-877571/28:-4093629881/6 -qmul:247756/31,94120/29,-147220/11:23318794720/899 -qmul:910742/5,63428,2990:57766543576/5 -qmul:132140,=1,214219/9:17460979600 -qmul:-1882407/73787858412488449855,-434970/15504199196668297319,7152438/32357487418268793473:163758114558/228804331024555497710598988747312487749 -qmul:697417/2168456434664834658,1334383/40514117254978695797,1660012/19534585395934841435:132945912673/12550442608046308674759866845069218918 -qmul:767157/4500296443907797052,4954462/555593595680231401,3839270/8356753330266434437:1900425102267/1250167941448845883802900321752814926 -qmul:3855435/1910412651584231024,3929628/9286414633188139915,6450211/7279093857125478452:757521266409/887044200154977924360507801609786148 -qmul:-713297/2131510505574811,=1,8006203/547537770085302559:508792610209/4543337035375786395109517685721 -qmul:-3176335/541746203963633741,-438253/349884327285711674,2546202/81167937975645853:1392038342755/189548506133403938761872538263992434 -qmul:4172837/3155683016816501,1634359/1130730609779385,3449963/73677939584796131:6819913706483/3568227381875371425040637631885 -qmul:1250071/25258841326965282,-32307/1353739173264256,=1:-13462014599/11397960991859667942696774520064 -qmul:7965329/6993004096201475,2973773/6634186275128268,3335672/4941418095538311:2153370937847/4217535617903234884469745072300 -qmul:924761/7142709941575765,8302365/4849337439058259,=2:1535540671953/6927482147203397401610419498627 -qmul:6563249/71417076489085,=1,3793878/305677884396037:43076237436001/5100398814247817470124137225 -qmul:123256/2387254101849,6673623/563071687944596,-2966203/120995731224497:68547006374/112016266390064743737763167 -qmul:11601/9690796184885,-313729/29163002094366,=2:-1213190043/94204236478625099184285970 -qmul:-1548191/1118347883822,693213/16160970245026,=2:-1073226127683/18073586874035135921369372 -qmul:4730021/1257111596731,45335/50784818897,9472521/3164110107311:214435502035/63842184773302332225707 -qmul:8511317/4540489631064,-6359369/2005086337073,=1:-54126605478973/9104073722868052915635672 -qmul:-929873/867693641561,8138971/698148180183,9405551/179909067138:-7568209380683/605778736812172445385663 -qmul:9281874/795726121805,-9968150/721200783579,4661824/364533493543:-6168207487540/38258553504002986522673 -qmul:3865094/4084662077,4259784/19883113093,=2:16464465579696/81215798023679274161 -qmul:-416924/286477113,826597/6309334211,-9773164/19019652193:-344628127628/1807479849719412843 -qmul:-9662220/20572447,=1,1141747/1832358244:93358495328400/423225575567809 -qmul:616787/710447851,-5149637/86667498,5336551/335300034:-3176229156319/61572737705646798 -qmul:-9976984/843714569,=1,613447/59557955:99540209736256/711854273942855761 -qmul:-6026602/975541545,9908792/76315713,9315535/212827209:-59716345684784/74449148567796585 -qmul:317525/4130814,-794909/3724657,-7514646/67549867:-252403480225/15385865280798 -qmul:5284147/75357219,-2845520/19763971,1559210/15974883:-791376103760/78387257418771 -qmul:6632185/1141092,2427283/1559559,=2:16098189903355/1779600298428 -qmul:-1099211/2368184,=1,4294432/3557597:1208264822521/5608295457856 -qmul:-90319/172637,8164133/19492,-7639232/876753:-737376328427/3365040404 -qmul:-2193898/79229,542172/63719,=1:-1189470066456/5048392651 -qmul:-3656336/69523,1911911/39486,833550/557:-3495294509048/1372592589 -qmul:106251/11335,-7809497/82381,-4910754/43655:-829766865747/933788635 -qmul:656544/4345,-9528986/1963,2350355/5553:-6256198584384/8529235 -qmul:-2189554/2039,-5393104/7563,889038/2857:11808492435616/15420957 -qmul:3890213/508,186330/17,-1198413/262:362431694145/4318 -qmul:3102225/578,5898937/910,=1:522852280995/15028 -qmul:-1156863/5,-8420942/61,1460661/13:9741876224946/305 -qmul:-2254787/5,2862624/83,3361/52:-6454607381088/415 -qmul:-7630885/4,5547065/8,=1:-42329015102525/32 -qmul:3371673/8,1927246,=2:3249021651279/4 -qmul:-14442357/30313364574216985165,21011896/19717180229164582119,=1:-101153767759624/199231357554069726942322822323082421545 -qmul:73015500/34914714923282785961,10709547/16405893500986887200,19061786/4299472658767378545:7819629289785/5728070946486949421088979169452505992 -qmul:-5213601/648973976600394322,95110449/6292591997485345693,10223157/1491031081544864086:-495867932016849/4083728451731883302073525200284355146 -qmul:81716702/9420867468902388767,-3659716/561353788976535007,16436845/12448406189105001:-299059921776632/5288439649114135016294765892899066369 -qmul:-50829049/681481015656967334,78493193/406094838848924705,=2:-3989734353163457/276745923231817683251713267210586470 -qmul:-70639608/210570392897683795,=1,32857499/484390875545236076:4989954218393664/44339890365084922016231475805602025 -qmul:-42306075/32432310313264277,-86992166/48265729471703217,59197803/99727495871692084:1226765699736150/521789705240781269523990077359703 -qmul:98949619/2882304121717510,-30259679/61942044859153494,=2:-2994183708112301/178535811205149016934639997479940 -qmul:-33943246/547508652618667,-9155497/325768016112482,3909688/9222108480297609:155383643461631/89180403784000610709262450747 -qmul:-4005853/831711723057253,-65053249/3453104157068793,=2:260593752666397/2871987208371849027864998605629 -qmul:30466505/131811990296054,80480517/129751865511763,-66851989/905703806093822:2451960073583085/17102851637731408230589483202 -qmul:67778441/221052041028359,31145967/736730375785315,=2:2111025086697447/162855753254933795304810748085 -qmul:-27930623/83735524881404,=1,26062637/38713631506284:780119701168129/7011638127164228368265011216 -qmul:91874289/55178817284824,2081222/10998714287097,=1:31868465250193/101149341002618103726185988 -qmul:-81097913/23224035213,86134633/913902046268,-44110346/4612785602109:-6985338973320929/21224493303760787235084 -qmul:26946729/330400702820,-5376007/957000244373,72609687/3803755771964:-144865803731103/316193553339750950231860 -qmul:5847347/83932240013,4198391/162033797450,41563965/225583428284:24549449018677/13599859577791227366850 -qmul:19548965/189470438789,2465153/48226118390,-16293845/384490679461:9638237943329/1827484762488712445942 -qmul:-55395086/15848355167,30834213/24733216753,3746720/49399574807:-1708063880877318/391980803523938512751 -qmul:-58079954/9010951227,53522457/51897896711,=1:-1036193946842326/155883138682234904799 -qmul:15721758/4667399077,-40891342/1328104821,=2:-214294594406412/2066265071898216739 -qmul:70233722/7303211237,8646406/3990640707,33916940/2735563757:607269275303132/29144492054192024559 -qmul:6933207/288152,3665663/23826937,-56545561/920522000:25414800371241/6865779550424 -qmul:41800997/62123962,-38919041/683603632,-76160505/964998499:-1626854716083877/42468166057429984 -qmul:-30010802/20468051,19506739/20221851,38792870/36677751:-585412881794678/413901877582401 -qmul:11813175/26779288,=1,4038299/10717148:139551103580625/717130265786944 -qmul:-54308089/3363111,6223152/1333435,12297998/2068949:-112655830892176/1494829972095 -qmul:47572280/4867129,99908399/5832503,6381834/2396879:4752870331579720/28387544493887 -qmul:-62682614/784029,8201676/813035,86261045/879573:-171367496953688/212481006005 -qmul:-52450671/559382,31930301/348148,81333805/486957:-1674765712681971/194747724536 -qmul:53187047/34080,40744921/16199,37085536/50799:2167102028238287/552061920 -qmul:11558111/11033,48139409/27484,-90392545/80713:556400632696399/303230972 -qmul:-25583995/4897,-94434044/3561,2921273/9343:2416000109525780/17438217 -qmul:-5090656/611,=1,=2:25914778510336/373321 -qmul:-13641055/103,35989446/451,-35512409/41:-490934012305530/46453 -qmul:99505255/181,-312642,12835678/5:-31109521933710/181 -qmul:25097277/5,85216417/47,73513489/51:2138700022396509/235 -qmul:64784087/19,-41764336/27,-39313651/72:-2705664376921232/513 -qmul:22866666,9187561/2,-79296567/8:105044444370813 -qmul:32433429/4,-57952559/6,=2:-626533402564937/8 -qmul:142379769/6580458265088042332,=1,829632764/47313440042888292183:20271998620493361/43302430978565528007566299412223998224 -qmul:952160697/53449785406826630773,=1,123350541/21685565106900565733:906609992911525809/2856879560035817059690375116110870577529 -qmul:134379194/7288875631759851537,262306997/2039219084637508550,=1:17624301418710209/7431807146916983147195344504784070675 -qmul:893718997/892104296345812908,=1,287136425/3171192156119780019:798733645598686009/795850075558657977797692103339416464 -qmul:148747375/98802457575041086,24743438/63078605847781653,=2:1840260725487625/3116160639084092662997866715997579 -qmul:881257471/447180652093139622,=1,467458692/434203794165327853:776614730193315841/199970535606445577794662077186302884 -qmul:-328833244/8368942920923449,71377107/4810747268694941,=1:-23471165642145108/40260869298696343876296794571509 -qmul:158379101/1326421417689989,-189428893/41659788909099497,196884323/11300332885720816:-30001577776765193/55258436265473435094327901835533 -qmul:10782829/45891552641500,764396030/8166229459391987,-237359023/5307605981413862:824235167976887/37476094911825545799378366050 -qmul:-176383510/8720957474390283,=1,969790455/2816113324098863:31111142599920100/76055099270123743567802604820089 -qmul:153319337/75604684811316,-66073159/9855025487116,=2:-10130292931375583/745086095760891109449004656 -qmul:-152252295/92990423831326,58928296/433772431956189,=1:-213618293010460/960397197475024603484708967 -qmul:968728976/89630394861017,122952071/77095083081384,=1:14888404229613662/863757842303419891847500941 -qmul:421854586/98110047748469,777827572/98264750833133,=2:328130128365445192/9640759396230087578575223377 -qmul:321360259/1519003205844,=1,648154609/8326351267679:103272416064547081/2307370739364349435752336 -qmul:-623994359/2983440638275,548017609/4525469063166,313238822/1462111109367:-341959896648667631/13501468310305737332278650 -qmul:105901696/125767654005,11356251/3169320047,37580987/3123470749:400882080367232/132865982367402112745 -qmul:257717002/338572086809,=1,-516598417/866703725253:66418053119868004/114631057966201031802481 -qmul:-315718685/10965934391,730969133/99436604662,980080011/95127007262:-230780613446350105/1090415282787296730842 -qmul:357633989/52052235576,=1,499101847/17405036021:127902070088052121/2709435228459400051776 -qmul:83154971/2959266631,=1,=1:6914749202010841/8757258993350090161 -qmul:74008543/143708417,-38807917/3997329896,49374533/1136791926:-410302484862133/82064278797276376 -qmul:147247586/394684533,-46611929/47003797,417377757/202754149:-6863494024053394/18551671668171801 -qmul:190874443/241889832,65505550/154148559,=1:6251667684829325/18643484519776044 -qmul:-494401746/19681,407904654/21651245,69321355/12439911:-201668773139125884/426118152845 -qmul:365885228/56568973,4250982/8521637,960401966/74768881:1555371518293896/482060253368801 -qmul:255177714/7055753,814922797/4572404,187054293/4701449:103975068212473029/16130876620106 -qmul:-588905892/5841913,=1,832554893/1175043:346810149632315664/34127947499569 -qmul:135837085/706833,-289514879/255430,725428338/928723:-7865371445497543/36109270638 -qmul:122186761/430279,=1,619259689/728443:14929604563671121/185140017841 -qmul:775073757/30757,695907415/51279,944630725/67207:179793191556069385/525729401 -qmul:95477167/3960,-871735667/38397,-714770441/33262:-7566441078001399/13822920 -qmul:-884857813/4929,70752241/2056,154069499/3880:-62605673236108933/10134024 -qmul:229619449/1615,957611614/1161,10452182/285:219886251162680686/1875015 -qmul:111146789/136,146738413/445,169865033/157:16309503427905857/60520 -qmul:9871622/41,-808689707/803,=2:-7983079102794754/32923 -qmul:-288336467/9,=1,850175175/86:83137918202042089/81 -qmul:558230684/47,805462654/41,167574699/11:449633968278875336/1927 -qmul:339929608,29235627/2,=2:4969027612872108 -qmul:881780865/2,443292701/9,=1:130295673778655455/6 -qmul:2838001100/91389568002455572881,=1,1986643253/20570864960839080487:8054250243601210000/8352053139675451489580240654173902640161 -qmul:3251591241/344636720089928137,-1113406027/3139375771816261090,-3172679089/93012796738201713479:-3620341285069809507/1081944169128542879223598266129289330 -qmul:2151380941/4425085028680839366,6291439247/670381381077695674,-1225149433/257062097818706652:13535282487455191427/2966494612913295666228911591427102684 -qmul:6158301795/2455047697567864031,-5798372309/5521291989057645588,-157042968/9556961002892580965:-3967569622065888295/1506115020592873902921765927885671692 -qmul:-8451954373/975723814918920513,4784366210/605780426352481313,8465359637/69665667013568159:-40437244910642936330/591074388603853235233268628964873569 -qmul:5825412784/511571458045271039,1008046458/332866639017254645,1740022059/196312276491243337:5872286723299119072/170285071856685864496671466706726155 -qmul:1850720900/45716430562358967,-3131316310/52356049605863119,539696323/19977050509485334:-5795192539427879000/2393531706325862841899110744238073 -qmul:-999008939/40305492823224241,-149362865/49775456964489,4606037138/47949128805635417:149214837289650235/2006224323454918453607620977849 -qmul:-4057348745/579860156310338,1212653237/2742714067824482,-3833477943/1278732708982538:-4920157089262137565/1590390608083267111519706094916 -qmul:9177815341/2326648645173174,371635999/876014400872787,-2149851912/2031850250792911:487258081841437237/291168245563265658397194145134 -qmul:149460870/500654885667917,8207530879/259222934708685,=1:81780313715146982/8652081915938573470536383943 -qmul:1089507559/134057483313428,-7987532800/42390827366211,3382946045/262278399004573:-2175619340840108800/1420701908072059536662445327 -qmul:6048157042/13712987352923,=1,-2693371451/4466222589529:36580203604694189764/188046022141426146556643929 -qmul:2603227553/49609180587155,471640162/92076035059005,-663933503/13520440154956:175398094974254798/652545235855913432995725825 -qmul:4393500955/6416432605233,-3583476841/7979065549803,441355864/1454382446413:-2249144131879126165/7313876621863906114274157 -qmul:64145470/8127876011853,-4488303205/666124315584,=2:-143952159293615675/2707087922773595548308576 -qmul:2220237721/64548387245,-703263819/579214597702,5697314686/589964874375:-120108681442947423/2875951396186583316230 -qmul:7022991149/836362149630,-1984639629/975088070,-1171252556/150772930335:-663719359448649701/38834607347798472100 -qmul:7911754989/73811019085,=1,8326854813/74451049034:62595867005966390121/5448066538366234237225 -qmul:8670773721/75336074123,7789940197/98427175582,=2:67544808748309163037/7415116995363087664586 -qmul:3813777004/9138760931,3878060903/1782466818,-496564577/8664398681:7395029745986437306/8144769058571143779 -qmul:4360854339/9648497864,=1,=1:19017050565975126921/93093511031612562496 -qmul:-1306392307/687643073,-9598905761/422850143,4622499059/88598595:12539936641788380627/290769971751009439 -qmul:4779917420/76898307,1792785739/166010625,2225422443/217138286:1713873556834734676/2553187201302375 -qmul:-7341873007/81873962,1385231861/3699454,-4877758523/40734069:-10170196408712276027/302888956216748 -qmul:908541847/68126894,3798368094/17436611,175898188/3762149:1725488181854314809/593951074658117 -qmul:-7938465013/6277994,-362880881/3869862,=2:2880717177705116453/24294970416828 -qmul:6036183652/5477115,-1788527459/1739644,-2727500049/825193:-2698970052292225067/2382057561765 -qmul:1659028493/577907,1961575125/200776,=2:3254309023535036625/116029855832 -qmul:2324185733/425376,-6101126398/443667,=1:-7090075464730639867/94362646896 -qmul:158821375/2278,5716179055/50437,-700123827/1726:907851417261300625/114895486 -qmul:6937745972/64507,-657862356/10135,=2:-4564081910469430032/653778445 -qmul:-688655549/3844,5925620489/6516,-2612322997/6399:-4080711431017943461/25047504 -qmul:1356483025/6163,=1,2367819633/2590:1840046197113150625/37982569 -qmul:6911498420/997,-520233898/887,8567846181/167:-3595595764057441160/884339 -qmul:-5665580795/223,245568655/53,520214901/133:-1391289055621980725/11819 -qmul:6848382683/88,-3930604705/78,-4380032639/66:-26918285195440323515/6864 -qmul:7058656941/92,-2614182743/76,1606422009/16:-18452619163919369163/6992 -qmul:348409636/3,-58882183/4,8721866869/5:-5128779986478847/3 -qmul:-7530659939/2,=1,6943419397/7:56710839116859483721/4 -qmul:5479036571/2440360696983602620,49554857924/4707522136067292695,14037572034/1860137811841092895:67878219709076284651/2872013000259729052687425327777215225 -qmul:-90287321301/55986373996879974676,79056497918/57955348234225101999,68036645565/23598836282510831821:-1189633238075717258553/540784966893457334425356770707772829554 -qmul:-31154471814/4775267091317819455,20452466931/8265429859332817919,7980554951/34755849271476873:-637185804528606582834/39469635202867679038129686483630814145 -qmul:85271504414/7465316608452879443,=1,-10606469222/1904172971848733911:7271229465026821483396/55730952064442402518704478477891990249 -qmul:-16339852699/127321792148125915,3040615183/55882163298738283,-51110404691/61653999585316250:-49683204204562928917/7115017180309586101368162514903945 -qmul:-63804908144/277883532447300683,-720647040/27229766739402803,14615586307/46658500039754383:45980818191445493760/7566703769261267728805752794014449 -qmul:10341018519/94245221741052416,87590141171/60174320543406768,=2:301923757310378448583/1890380727576845520968582099050496 -qmul:94172173704/61262926143770059,=1,=1:8868398300136349079616/3753146119697024991735097864863481 -qmul:-27044253543/1053895278738638,=1,-26863808373/192367352651581:731391649698068052849/1110695258547591485248314095044 -qmul:13955551844/8914953109146301,65978266931/1477260665198022,38242091460/2633752121605511:460381562366420635382/6584854780113319521064766908311 -qmul:21380540693/46366763004112,4413417248/3293403036539,22792743143/98178838808334:5897577941628254554/9544027379514164158953023 -qmul:54517956885/536986169058356,53087744133/624679940801624,-12768510380/23381528319939:2894235345764805705705/335444488298664683363875570144 -qmul:15631958865/98900123425043,57461678219/38736535635779,10636904565/14357297124671:898238590233274461435/3831048155437119617055413497 -qmul:11306366194/20614966646301,=1,48649167285/72083597787241:127833916512826045636/424976849828102699236982601 -qmul:-38850808449/5270347545016,-80555988964/460100649873,=1:260805441388343496403/202074194209869310181914 -qmul:2473793897/257329894608,35125602539/6570210827640,-58955090604/1845404251483:86893501189425904483/1690711659828941653365120 -qmul:8389450307/94247305842,5879374061/445968667154,46708714783/778418252722:49324716521024286727/42031345369212137713668 -qmul:10005721251/317400686611,11885509039/202069710332,=2:118923090370474887789/64137064802662680764852 -qmul:53843304483/15517809130,-37493619897/27992722981,-69059984171/37850731407:-2018780392284038098251/434385732248122616530 -qmul:4936875434/5558111491,-78071231962/38058507841,11261412306/45256951175:-385427947175313421508/211533429761375700931 -qmul:-51013899132/7547986135,18679893598/8111901153,-1770753005/1840835446:-317644735934954852312/20409505810444837885 -qmul:25767898320/6199052159,24344608263/317305927,55665198980/5479278553:627309390361215818160/1966995991832846393 -qmul:-7303061735/68386022,=1,=1:53334710705221210225/4676648004984484 -qmul:20359304675/219624604,16344153007/211704953,-82591435031/427080722:332755590724330407725/46495616467463612 -qmul:2652747256/1352133,-25367065339/52123374,23447425715/95023951:-33646206485402479892/35238867028371 -qmul:48463976225/65809761,-35504206691/75941530,11794361717/16873414:-49162143684574569185/142791255407838 -qmul:82320116481/5180912,-76359077209/9271893,46566602503/1634915:-2095296043408850793843/16012287235472 -qmul:-730645673/7142476,-70390135745/551403,34012585939/9989481:165370572681565535/12663609948 -qmul:-51855352987/140641,=1,21714825731/757834:2688977633406369822169/19779890881 -qmul:-59100071699/229458,-12541528262/72971,17155877720/17761:370602609749617428569/8371889859 -qmul:19150460726/80285,98656519537/34995,-82017816286/22501:1889317802757170203862/2809573575 -qmul:56611908394/98549,76064158111/38373,31178576993/24120:4306137151046664083734/3781620777 -qmul:-96850333567/5969,-11666596495/4102,39126150628/3881:1129913762132343047665/24484838 -qmul:71357908657/3994,7273127113/380,-93120031916/8579:27315533693694953539/79880 -qmul:5232641313/278,-1351690114/51,-35248603917/754:-1178818255481679947/2363 -qmul:22060731824/219,89417675500/637,-9595385874/103:1972619359530955112000/139503 -qmul:37188356744/5,=1,=2:1382973877319010281536/25 -qmul:12414356869/26,=1,12979259021/2:154116256470887483161/676 -qmul:11782172818,32822292611/2,46218809976/5:193358961912883223899 -qmul:-13859731454,7084622496,13548345935:-98190965247527189184 -qmul:321169783966/82442472722749202597,728527457037/49184101549953208178,-116751888207/19107774656803205945:116990502994936318234371/2027429475212472071101744494655719619133 -qmul:554171781160/81669314174466653821,=1,-943011129301/98221859405082497556:307106363034046930945600/6669876877727739897311710883496653900041 -qmul:908239534764/8881960367460059525,321942265297/2978409748429418777,=2:292400693254215542284908/26454117343606783848277419057572700925 -qmul:-293031348403/5516820790390895330,=1,278931224397/2151761313912895609:85867371146880370650409/30435311633289223066668620559015808900 -qmul:766830499115/867319503385856977,853658890931/417340410748453263,960525534527/690526698684531078:654611673406576077026065/361967477793198051355224772486965951 -qmul:-197174946287/216799088567900459,769225126373/927398327060743836,=1:-151671922975207062127051/201059112046164919860050113345820724 -qmul:349764090584/42391126842026521,126613453358/49564405785108583,47812347985/3864181199117983:44284839369460570981072/2101091012486211034301711750729743 -qmul:794966910230/98579318608567187,107830796401/4405388705587841,856324471442/41561939350641701:85721915042543174082230/434280216802727167073601578773267 -qmul:-179910941947/302835045319248,=1,206545791527/3108222449901933:32367947032256804150809/91709064673510989994239285504 -qmul:390922759353/8379914783143840,539029053922/2783352468162407,377026177321/4659432906395457:105359362565312633416233/11662128247327024341591580811440 -qmul:-30764803124/12561782256971,-539449006376/482535642547081,580743800830/469238701287641:16596042476595060718624/6061507672904022859307951651 -qmul:-569617603186/169437350142461,73746787167/436340763191759,=1:-42007468148734603114062/73932422674350728263711178899 -qmul:869918621105/65172531895443,=1,489477033911/47131389526667:756758407345224551421025/4247458913662535154284166249 -qmul:-8609389849/44096958877799,224885883076/88640280149647,-627519969739/56922930432434:-1936130238937915295524/3908766788675566748905986953 -qmul:471174356951/3605083055021,-674320263703/7196435655733,32653595707/4448011615939:-317722416629289771049553/25943748239031977053085393 -qmul:-321789321980/1418987991609,661459092590/3534157194181,275403065624/8396219756123:-212850472922042142128200/5014926619001395811627229 -qmul:239520095411/796512451093,194140409620/80232450203,352671980162/687407449757:46500529435313022253820/63906145568388595421879 -qmul:2337932296/15976804799,891988698331/936480654559,185442793337/376858000885:2085409185495046197976/14961968615928892428641 -qmul:935302241221/78956895643,-101991808861/3724031317,979935584834/36290437707:-95393167413877147259281/294037952067632851831 -qmul:961545851/11884552,=1,185080005240/12501042413:924570423575314201/141242576240704 -qmul:58050869295/1757344829,=1,11607624876/16788707:3369903425905173797025/3088260848013039241 -qmul:363276341759/9253851473,=1,406409104036/7111288491:131969700481801767214081/85633767084344269729 -qmul:939766494010/411615661,=1,=2:883161063263847365880100/169427452380466921 -qmul:95392761314/73563601,412095417791/369293182,-720870043827/236439997:19655459913964986068687/13583268146334191 -qmul:-283241870542/75087435,=1,-46818914283/44014963:80225957228131087373764/5638122894879225 -qmul:443163826526/66515353,-29122331797/35808847,186565142908/1472243:-12905963996518321847222/2381838098727991 -qmul:-24774947444/1227689,-306928083461/7644000,333533328161/4876266:146233214169883088917/180470283000 -qmul:113920584697/1429782,163887873152/2653059,=2:9335101167111804177472/1896648001569 -qmul:90035464372/14941,-388195481621/80696,941463087781/51880:-1248262873387818796679/43059962 -qmul:67426970975/82846,-112582136156/206687,205395396001/267511:-291964324111311925850/658584277 -qmul:588160655449/37102,68128342139/34512,685450911404/43621:3082339259009843589647/98497248 -qmul:106389170475/11959,10438395803/2811,-17763245232/3457:370177423523630505475/11205583 -qmul:957920630589/1100,-65200663999/4804,-495801128911/3213:-62457061172743590465411/5284400 -qmul:86819672583/656,170251645086/1615,-548605083301/1646:7390596041541820438569/529720 -qmul:945486048523/580,28855850251/335,140898494269/717:940786338985841645837/6700 -qmul:-942729414451/606,-155199725039/485,483080000839/479:146311345908972673138589/293910 -qmul:581542707907/80,200631032151/4,19978821934/5:116675513727268918917957/320 -qmul:122743007281/50,559800662157/65,225369102329/50:68711616751045272165117/3250 -qmul:35327132396,=1,-649864145447/7:1248006283324512700816 -qmul:308054644516/9,-604402431775/8,119532524081/5:-46547244066263391973975/18 -qmul:3861743183656/92552781226942245973,=1,114427276291/73077495457803798401:14913060416513578545526336/8566017312842233033877184833269634716729 -qmul:5469306927311/39880346228597657723,5296888632971/77121945726781675037,-3329987784143/28763591448200709046:28970309693503183254970981/3075649897407170819117742626456739360751 -qmul:-4797915047085/1960347615737482622,7417719670675/7273127653602457926,=2:-11863196274329991106244125/4752619484897976601830464968970387324 -qmul:1723762402189/606999775863219192,-7434692936637/9420435145331634673,-763069528725/1760517742915668356:-4271881385331661962366131/1906067340583431653778258276488748072 -qmul:1247346376719/305242807686295279,-8174066739160/92487214707299057,864841572942/954533768467866835:-10195892530150517269616040/28231057092341186368611708660251903 -qmul:8115256720883/749493161740626651,7922190030123/83578659421247020,7349631862907/82560331952121241:21430201962022657324386203/20880544567891147401285999555443340 -qmul:1753584378376/56804157255787803,213889152627/40140349321665607,5387174104820/22251532318661783:41674741861198575821528/253348746130016489574409435021269 -qmul:3381018621303/55670925159235316,-1242546983419/8405146979568516,2994898998212/76089681788376449:-200051166132548046722617/22282014688187220091206580424336 -qmul:7888297086927/3953740879862848,2176178614605/2418237546542311,-2065888373875/9727383036996952:17166343426221456116768835/9561084644983571534390308961728 -qmul:1741311395143/229412472933092,2666488500577/3024227444254530,9874403395326/1841428086863885:4643186811072502030497511/693795496698556358912507906760 -qmul:6845501734987/168012430428203,3889846647591/491851863425965,-3888780746586/199780562527063:26627951974917556063966317/82637226984836948219538490895 -qmul:-1284195095943/549849541303853,161668973970/13553314165481,-1448576168827/183855043551637:-29659214791201502800530/1064611939576677294763556899 -qmul:-980146856483/7876738616913,817692682927/16494848113266,-6731998495411/30165003479004:-801458912740049493365741/129925607113876840407267858 -qmul:369161816291/12273827592821,4261359385017/20241923902166,1173948411280/40404643959651:1573131170441574491911947/248445884122187978887950286 -qmul:621724265513/2926458480357,5890921582229/3168077061735,=2:3662528893906004858368477/9271245983738877773839395 -qmul:4707387599849/1922231158856,-798328469963/4676681253515,5101926004665/1755468911768:-3758041540110251059835587/8989662425544269173378840 -qmul:9303566596976/14895662221,171128850459/80855092303,=2:1592108656909253425611984/1204390143793264984963 -qmul:-1614421541843/173435332903,8142990982280/901238217503,804529656112/153754860089:-1878031436689446098791720/22329507182505589485887 -qmul:-5960114035004/31883313095,1873973661895/29899945043,6761957056543/92101155065:-2233819344697646018194516/190661861865852447617 -qmul:258875168272/22951320927,3271990041276/1787602169,7831605696304/53881261029:282345657506544241865024/13675943690173430221 -qmul:-3741159259/841057,1140691661765/3674903711,117686209034/892146331:-4267509172076226032135/3090803490462527 -qmul:20024244473/524834174,-9933799893095/4311996268,1282763801711/933012946:-198916837605195544613935/2263082999606862632 -qmul:9690216301431/721938703,=1,6855538744648/1038547:93900291968519089052647761/521195490889322209 -qmul:9772645191158/606342281,4046423002077/832945094,-9924558382428/71076263:19772128146319455948017583/252524914121859707 -qmul:159522763697/46674038,=1,-924733338517/15943657:25447512137528901107809/2178465823225444 -qmul:9885845356901/75377901,=1,5061603222137/99444337:97729938420561060068323801/5681827959165801 -qmul:-3014509110363/533159,-6677531265927/3294029,=1:20129478835870717944501501/1756241207611 -qmul:278495797709/459094,3008292413757/8715826,=1:837796795511188800682713/4001383421644 -qmul:9263458041541/380854,-749140991886/18803,9474188106647/58449:-18166586768414575214493/18746591 -qmul:-6233175654833/507607,7036736213809/354450,815399146191/197662:-43861212857395998672188897/179921301150 -qmul:759911289647/22797,-4620304106965/4804,581754997430/2403:-3511021252485103785091355/109516788 -qmul:5617203937033/39335,3723507511221/6193,2744191857630/46241:20915701051602548624947293/243601655 -qmul:6420686828307/451,=1,-1838097053444/3113:41225219347195003296486249/203401 -qmul:-230435506159/3050,3395048403224/1759,-7515243692907/841:-391169848615613583728308/2682475 -qmul:9537534272745/521,8952214414132/843,5712074011478/809:28460683930581916956810780/146401 -qmul:-7519755017367/994,-1817484841018/15,5714574669259/496:325405732196037376760943/355 -qmul:-6778271913655/47,1098941771956/15,59404867523/3:-1489785229518322546491836/141 -qmul:-2383271627938/37,=1,-1307389832067/19:5679983652534244702131844/1369 -qmul:6051325942003/3,-2529633865827/2,819845568100:-5102546345349420428543827/2 -qmul:193126426699/2,9833682493639/8,3235704083583/5:1899143961289011867267661/16 -qmul:92112640764600/11163413455400457479,51791476178419/14329005607185776493,-13205225377669/4458612884103206586:1590216546630349267393055800/53320204665922099816203131218014747049 -qmul:22529406302098/17968547726331516709,90921027222753/2166236440992021142,=2:1024198381852757628328617897/19462061438241829125530785318127130839 -qmul:-53737977727933/7683225139372625170,82909671587883/8352188215577205409,=2:-4455398085219896100673435839/64171742466694571547497029664653544530 -qmul:9092501686631/9417724412639248549,-76436516279586/7751295678592549727,5796309029559/364193213335723936:-694999153192333594154414766/72999566541866165880702093299195096123 -qmul:3136955253055/79379115811095793,2712229195967/40950870811518088,74321528780980/800208315081442781:8508141623777819670429185/3250643916712716666840937120203784 -qmul:-15679427832242/304946032535805217,39088311244217/271842618581639769,-44522979753228/676520091746633939:-612882355237913950168644514/82897328010615208848930336644874873 -qmul:58297984629025/79211523461014146,62851948787804/71793418809815961,70122280069093/70263603402410591:1832070972167832036692205550/2843433039200075640773122338792153 -qmul:3395759457623/8856655409516280,80356132877828/35186041698707317,16595221216126/25184750109463717:68217524549473731850570711/77907661637580389256034066655190 -qmul:25595373885269/2107431405075994,56934769844557/4108548181624632,88071750654219/1721697405597152:1457266721243175200282130833/8658483467223618408882342284208 -qmul:5741950765088/69374989603141,-20852939430084/837468342763903,71732839501654/4900087435552233:-119736551514904546484107392/58099357572205493945030219323 -qmul:60636029091157/828828822290712,15933414624847/515795094226125,=1:966138992713689089520177979/427505840490766008807415251000 -qmul:68154525908584/447018537159783,-53054791972077/814484661933752,-70920570409331/22166122764311:-150663508084810679482608707/15170405921529425529107695659 -qmul:3803110014020/54088464597551,8401206536763/81355553929736,20928341840506/38139684449589:7987678177453412143854315/1100099249635669192942919134 -qmul:-23763903446216/81519641545907,=1,88937586611085/34349668275946:564723107001076681204718656/6645451957773166616788452649 -qmul:46601565963875/3780648692562,-40570846513055/430918579048,82143257528821/7547555659366:-1890664979988380613845888125/1629151762478496046640976 -qmul:-14254006674106/532459447725,51813993717043/1845962555644,5112664309595/4080729032211:-369278506127408636439494279/491450101449616910854950 -qmul:18869803536517/528732466966,25637726635604/291934133291,-45103838882314/248345183985:241889432368388223683175634/77177527243265749182553 -qmul:14394788665063/18929691934,7293379245648/106206553763,-1412717946745/2868209191:1418738552638642755032376/27168342487910789833 -qmul:19814466847315/45927017182,31387249087211/83776988054,866410007468/44667970667:621921606466960354656188465/3847627169812266743828 -qmul:-84789189148688/68506660259,-2668232889482/7021853339,31544016021473/26570873119:226237303159039621969299616/481043721083397754801 -qmul:47144909009231/2853410746,-18254711672997/1611442139,47906136756089/4532570474:-860616720813190565726435307/4598106315979825694 -qmul:-88984055558977/5497567684,-29028728538235/9008297936,22366306780529/477338571:2583093993052764435041985595/49523727620797500224 -qmul:-22301781837379/314747366,-55932418652881/999474189,6168064682011/82717920:1247392598433499880191838899/314581868372736174 -qmul:-69455755003925/425627363,69330030826593/45004450,36456142539195/445137553:-192614785420256450548375101/766205015070614 -qmul:43441277702263/29813565,11503955305028/11366299,=2:977977528532569481665124/663150477585 -qmul:-63910040173409/12354709,-70800414587599/73292555,34497242288193/35625551:4524857340587464687180954991/905508188891495 -qmul:-7828296754760/3568223,-2036289302690/840627,7170972735213/4627145:15940676940000630338304400/2999544595821 -qmul:21326380201837/9337727,-17663536047163/4880532,26768558322470/1065127:-376699285450651185091238431/45573075430764 -qmul:73980502263403/962358,-21947232844793/591723,21986948107511/9185:-1623667309149641199103010579/569449362834 -qmul:11206027962511/331874,-1256483151365/547727,36460011888012/776539:-14080185328620131358477515/181776350398 -qmul:24401059998574/37451,=1,-59473261910475/49718:595411729054008176882033476/1402577401 -qmul:-60818257728179/86203,31465212303166/90637,6184562112579/9476:-1913659391325818531369114714/7813181311 -qmul:71004965949889/9037,7059443197743/235,3055009450153/4139:501255523880917233655900527/2123695 -qmul:39294675031972/2789,59869119724423/5716,9542643866131/1571:588134401005356710838563039/3985481 -qmul:-41787574848379/366,64572657701526/571,-32471089957981/546:-449722461143545734347821059/34831 -qmul:56523234971544/89,91170129020768/233,58883776410491/503:5153230625026852353065025792/20737 -qmul:22661601391845/32,=1,9300929081980/9:513548177642871241232504025/1024 -qmul:31371000692905/28,78617790969393/17,23430144401503/6:2466318774975488254647256665/476 -qmul:-97166077882733/5,557907250924,-67696293193377/8:-54209659394622846477895292/5 -qmul:49131886852510/3,44123944198873/3,=1:2167892633865493233459221230/9 -qmul:11078630778023/19971767689676985138,5498810148139/653213547400621899,-28047430739573/8529087351247312093:5538117031788903405049927/1185984474585002385862227360780030642 -qmul:225961652216941/7065181247481573942,-551303465095893/52284679786625043776,12334914241622/807684136438179561:-41524480615330881905534707771/123133579719680720019267336626376961664 -qmul:-140752952779551/667166575947606995,=1,=2:19811393716162513576803761601/445111240061654052498343266972930025 -qmul:97203673992431/3238422544888880032,=1,810591359275652/4195094984894633475:9448554237626806783045289761/10487380579244570205870590527288321024 -qmul:-167516702376095/716105586249718324,97868227848619/242920547738562082,=2:-16394562796592961287264362805/173956761250425686574425765286990568 -qmul:-709927885497849/861328058843025997,496445275118167/289296738986245691,-290819441307632/13291786866431071:-352440344430038207159099322783/249179398620640561552626620942228927 -qmul:425323787423127/77722671910833479,317441925005700/19142048058380233,=2:135015601830312569987786823900/1487771120942893870562005728220607 -qmul:268865886927957/35135976545503325,123771762953727/25295982530865037,276904755282677/20891637935797169:33278004823190660692373645739/888799048899935778999904809748025 -qmul:-28086740887571/7601230497184463,100947908107803/430543690291880,118463785601217/2540243084118529:-2835297738166190579370816513/3272661829016980468206671060440 -qmul:-103171508624837/2023211396120145,142320636082678/1434318582636373,-735609507967093/4547494153253362:-14683434733096301226416273486/2901929702056803783817555034085 -qmul:-220041868728731/487356763210567,11401923921896/63654265331715,-621742292531267/238183796053545:-2508900646876817363255193976/31022336716611231326648232405 -qmul:500876116381607/333341742549014,=1,236931212585485/143461697112113:250876883961521120142447902449/111116717325613130586192372196 -qmul:27571394309122/1874139359093,126354562695342/663284435945,=1:3483771470829951376257509724/1243087467678324311797885 -qmul:1227588316119/3212397849532,273285780765847/3937050058645,177000179976745/33792263075573:30498402857237483359526163/1149761012899184771436740 -qmul:935605828517486/1504497672649,142177975023733/2313039446120,394962145699157/847510134854:66511271059509072349527747619/1739981231716436016585940 -qmul:848730874297608/1142939979439,56376353318381/3143925208632,-237516636617763/1280813501326:1993681318400848339723780527/149721575554650494388227 -qmul:57281039318273/114674810495,6245708686714/18061176617,39223096410155/17868534091:384275708758478900851262/2224663808669387965 -qmul:-154031591323851/83034647227,983277618862577/807648489169,313967727668057/230581524944:-151455816346529785816271424027/67062807381567445384363 -qmul:-926888573138874/48704635267,6005840682571/273079429,81726441309104/13903294547:-5566745100767635280134365054/13300233988365622543 -qmul:169804184361113/49086554885,384285590061633/44857652581,=1:65253301182144623556398477529/2201907625429518408185 -qmul:-225793750988921/2498217360,=1,171352487415765/2208376327:50982817985646863065464744241/6241089977805369600 -qmul:-929534096793899/9204730148,8408973696/70382485,=1:-1954106942368753656070176/161962945392664445 -qmul:-27418637405473/910326852,=1,81707725335094/491085905:751781677172803165010353729/828694977472229904 -qmul:-223297515785450/193612253,-474964608127809/679335356,=2:53029208540474751774311289525/65763824408858534 -qmul:3933126433661/878772,9000930134181/1427513,476332935917525/79251326:11800598746094380908355547/418152818012 -qmul:703078612387607/27834381,373006385325321/46624543,=2:87417603935414581043747898949/432588431270961 -qmul:28193205330738/1040371,26659473685633/1938099,=1:250538671876152577201295718/672113998243 -qmul:449065926671750/1450887,=1,153785599009868/2460537:201660206497557548032248062500/2105073086769 -qmul:108938909775878/133591,917154127926373/709564,=1:49956885396372608707157715247/47395682162 -qmul:987814971089463/782828,=1,930147796775719/981962:975778417108476622509149628369/612819677584 -qmul:175113052851196/12305,-227591234473631/6533,64742021370129/15710:-39854195870849886350828812676/80388565 -qmul:-161174581471221/66310,=1,=1:25977245712423255688851230841/4397016100 -qmul:-1469325465654/4457,=1,582669979881900/2099:2158917324019343933647716/19864849 -qmul:102435434692175/7466,-187593100206263/1358,174025094651948/1265:-19216180764881294058412092025/10138828 -qmul:489625099725000/347,-332985825161621/684,=2:-13586518154314174697304518750/19779 -qmul:-832879871119661/546,=1,817644952915049/828:693688879716303117501780754921/298116 -qmul:810059612480081/97,-378237813607713/41,=1:-306395176716377100781960464753/3977 -qmul:-534858850780477/21,-597970346506983/25,=1:106609910777842848826760190297/175 -qmul:950469485177429/4,=1,423712356772633/4:903392242253446925539611050041/16 -qmul:463433346779246,599836163536496/3,225455874511593/2:277984080786941465486776362016/3 -qmul:2132350013169985/49772441764072596049,-6499905025666569/10288915167781867756,-272858606518027/93421129408183888508:-13860072567083760096603328731465/512104431003906236530336497276926096044 -qmul:2042725727410133/27578306884656676115,=1,-7376907052537410/47153921627935428199:4172728397423256990351591077689/760563010624301820302156974840011493225 -qmul:1904035906025563/789989122373815219,700724530060177/1554126856272208244,-1373172495932670/1505401488389199241:1334204665467465969877290304651/1227743311244058254809898816344465436 -qmul:6705450642041083/4046641113087645351,236666376333371/9320552548004534960,-6289242797407739/4040540787026624125:1586954705134139142713085880793/37716931137448960379165612296160970960 -qmul:-5772878945452494/146823071716041731,=1,-1872446183124785/135874056483712011:33326131318848699195882410820036/21557014388133933331867562533476361 -qmul:3589764099796053/928994578492406984,1705996612666706/892580995601505897,4870605263289071/654751374199986585:1020687565754102262148510551903/138200484296525657161313541766664108 -qmul:2824552679707636/22642111815107669,8553369491681540/46601368890320207,-8526667827191440/6342142386526223:24159442718258634195461218239440/1055153405151710120834997591367483 -qmul:35430767900375/179014168662113,8330204183383419/90063013345106792,735637729618171/16696810462910716:295145530984190781866218882125/16122555461179081195997749371496 -qmul:-749012909078762/116545251178673,2437513877538073/992308910607094,-4884979809735527/4653837505135631:-912864680167322642003505352813/57824445616769571297747653131 -qmul:4715463621576807/1060495506862783,-1063435887535687/201313562930691,8544123110589389/5820955775073193:-1671531080517925550574808003803/71164042986178638246892124351 -qmul:8571923230143950/770828515798001,731727930435031/3506899807300,-1965908269773871/252650249852419:125446312900823969405125054249/54064367470267094252504146 -qmul:9586220341682297/144114066713962,8236658921505002/167483669474359,492069171252854/82950316475131:39479213650415110088905890174797/12068376358063466929473150179 -qmul:7229812835375017/5756294662713,905126544819761/4153935003623,-5202620176105898/3258193118931:6543895511376548680891107310937/23911273890611781218009199 -qmul:9842204333944723/52899600131954,1723939662409201/39238775342850,4378255309793533/73130188348848:16967366416823040750958140596323/2075715525304341221590428900 -qmul:-4908316732166843/1357513064850,1991070604269898/8806978369757,4254810663841145/2351480888682:-4886402580931743595080769296007/5977794099398240809870725 -qmul:274318025224231/1931992361708,-3590098558074758/5846677514951,57908255856314/1134380359933:-492414373405713403344305530549/5647868150127621484948154 -qmul:735894125946707/55761889279,3377584488978728/61428633213,=1:2485544585328156063980584648696/3425376643783608023427 -qmul:-1690249237930933/34238968152,3446531515472379/225376230292,-428431726758614/563113867237:-66959738707265887616299668961/88697121507880524832 -qmul:-1626151698227417/13809511809,3803324818338850/20014571999,8945616470363923/70396608712:-6184783112252203187079466250450/276391468372271236191 -qmul:2032027608247493/71600869449,1568676792624142/1225766355,6648151008356102/92054212485:3187594551029383836749262776006/87765936759331588395 -qmul:8570254081381348/584635199,833484957898327/779308020,=2:1785794465549524494136774551199/113902724838748995 -qmul:-51136063956207/124926985,237718332836713/43997825,=1:-12155979871501058567713827591/5496515623807625 -qmul:7279740565485383/495827506,380399580451240/42684993,-8253225185096257/179789767:1384605128452256161054382112460/10582196811408729 -qmul:-3582542718233341/437814906,8075748423185005/259890457,473970333141547/96599174:-28931713707765825242358002251705/113783916001752042 -qmul:-4332079095957017/44663887,=1,-2662542824998505/6313513:18766909293627765704435111538289/1994862801948769 -qmul:3371800081330173/11806858,=1,9890158011622886/66900743:11369035788458161257397040209929/139401895832164 -qmul:-3682944955162964/2466265,-355431368138229/155860,-9055791203817172/8090387:327258541047840188915493337689/96098015725 -qmul:7504952243792624/7720459,=1,6076575545940466/7559395:56324308181607941582939516805376/59605487170681 -qmul:-538608400556109/199304,-938340266223845/397242,-646694290244130/361681:168465983322739554802492073035/26390639856 -qmul:-727793735158436/238619,=1,972430738127054/625301:529683720935867681422021966096/56939027161 -qmul:6931913813817249/19931,=1,=2:48051429122190398233188769928001/397244761 -qmul:6291923102424872/90007,5686581845796881/19366,5042254583042820/677:17889767844699633282716137212116/871537781 -qmul:-5554695053757275/6432,6945167426101948/8185,5702999642802475/2694:-1928914357464231764593229833585/2632296 -qmul:2346204224991933/394,1993188578793011/992,5657592821492399/465:4676427464769828756406351780263/390848 -qmul:10931191773819/59,9918357253026368/565,-1883501998767878/147:108419465214079847823899059392/33335 -qmul:5137390097848632/355,2441231132619748/159,3483872315060623/865:4180518882426831300124305994912/18815 -qmul:998295698183777/66,-66459889053732/5,-7667707076954093/93:-11057770224018624245927284294/55 -qmul:1731949876588457/12,7146744265770853/16,277946983627531/22:12377802849111091588166946843821/192 -qmul:4833330269678962/7,=1,=2:23361081495794907533662545397444/49 -qmul:4819457078692447/9,=1,-8437238110144547/7:23227166533358735275059214847809/81 -qmul:41244630307260683/19566167985724232189,-19443176533044379/82985325719207603055,-72237473765794569/82811331956111155429:-801926628104221886667557960850857/1623704823372057546563828915880965737395 -qmul:-37802618179190435/86632766813453833079,18052713986379148/47810592068654841423,7865481647337074/9519629220475921943:-682439853925221807159327605049380/4141963873896940191789582700970256831417 -qmul:19604614792857791/565916848676700071,25954734261578645/2626241461504040026,=2:508832567249237638495290647473195/1486234291758457454242685700381041846 -qmul:-50232902667050876/443948998116187511,-43501226416110749/2403446154007360893,1072605872716961/3220822759958359344:2185192872457833663604613633466124/1067007512097771979528373151836407323 -qmul:-14994187874938337/764476959662103704,-33213154437024890/559246869916170493,-82827329689594088/466257548265395579:249002138774046516984579242103965/213765673407031013718036719955403036 -qmul:5736891872168725/77162101379651687,62325478498146677/137153821651647001,-18320014200167058/208017523087093295:357554531025044304704709142076825/10583077090891052476054011258140687 -qmul:88925222453111571/10971132513398300,-1434252874823377/1536739410012178,-23821379824785146/29460096443622911:-127541255947683583837180699995267/16859771705805127088751164497400 -qmul:24175746316538219/53267154590314585,45382600351882515/10887587811518971,=1:219431646658389958690970919068157/115990164614361176557282717098407 -qmul:6404581190281274/1974919158789793,70447714998202471/6402341997956028,49530122164311697/8312624539331270:225594055187891770083262445914027/6322053936443940716188054611102 -qmul:92136543904285079/3155539462802804,15181471002529652/4087143424836463,25144211605663718/418936831080179:15204002929958740164475777811549/140186330078331141119949106981 -qmul:-97970673283608013/593909853478849,56972616762762010/241259986786383,19037324141894916/620131018874825:-5581645622976766094030156047986130/143286683402609773344371713167 -qmul:73158390938899175/379989099030207,71464686184078751/642455545049147,12129094284454088/244856744399541:5228241450180579956236327448930425/244126103730185933897852583429 -qmul:1586267657723262/7744841531795,15363089519026552/9850991413231,-22902559865915557/6801969550956:24369972026739044413538846052624/76294367426547369870179645 -qmul:18929755299266541/13128569349373,=1,-44651987164496438/25396774874437:358335635690109691215372562104681/172359333161296196535493129 -qmul:80561540824410061/2163952339904,=1,2086973582459110/2490108327963:6490161860003088890959828678023721/4682689729375996750729216 -qmul:78697609896523577/5434699087585,65526206295867334/2106565485155,456371042378372/32324922977:5156755821071294622615308595133718/11448549520109931362300675 -qmul:-47473161024846652/621907871141,-96761692332772358/887316304237,-65934541786023949/449412506848:4593583401150371824007100974445416/551828993796732548324417 -qmul:-14783030669421870/467861289269,=1,-23413922007662121/167402876249:218537995773067621857840034296900/218894185996450894554361 -qmul:63487097677098051/89903303933,-44532336344734228/31521473625,40321416288169527/20383337494:-942409595769175172584041963929876/944628207908139422375 -qmul:74416958364864933/47087590129,-26664478457249131/9883383278,9944734731289232/14129955379:-1984289383173946522947645546623223/465384700882276462862 -qmul:10292005168487623/3482492353,-13044085486904942/9174614883,-10587235554824230/4781845077:-618662650918986430811618914898/147237447796163547 -qmul:-6144278338130361/94748822,=1,4769179777732015/4767529558:37752156296417990780857029990321/8977339270387684 -qmul:42358656711205552/153537321,1887261908080343/399926027,=2:79941879288510016603861603664336/61403570783753667 -qmul:-46666950687843206/336186639,38668781410567001/444012970,=1:-53075121036644655437487007224859/4390330236961995 -qmul:37185667641742945/20035026,-22282077470907101/78670922,-91228561955942315/41271552:-828573927200719662619441817152445/1576173967713972 -qmul:42236447866339404/44996449,16229676747835589/11939847,15179360621924853/92208979:228494631949166233448275154749652/179083572201101 -qmul:14470604449517903/1841454,-26915603513076747/6747551,-30708091604466747/2448316:-43276116884198675180320043277949/1380589419906 -qmul:9101509000956136/4152121,20427468979289790/3465161,-3271799016139078/320637:185920792781758275773092222651440/14387767756481 -qmul:3901016944389149/228999,-12417812802023553/360344,12000955177317426/2675:-16147366050982125724725565208799/27506138552 -qmul:8669125566587600/469719,45940493589390645/423401,-42531240992326551/367483:132754635839146726987952004334000/66293164773 -qmul:5938430877112711/95612,6188074245922706/6253,=2:18373725585926676351062678057983/298930918 -qmul:21515481020492051/20064,43874545790741615/95584,=1:943981957243410623387527502402365/1917797376 -qmul:96468586146884551/4608,-79928708129965834/6685,-48993051068173945/9779:-3855304732922400319985402586215267/15402240 -qmul:-75478054000012419/5456,26589933777011524/3359,-72036212797226203/9505:-501739114369507496870468176529139/4581676 -qmul:-72899856135461282/473,5291266619094049/285,55496817136408/17:-35066597755120434743929959646438/12255 -qmul:41749939409527385/879,1093119177525389/32,-62509807806005818/473:45637659429077399966594328277765/28128 -qmul:32236549357972163/25,=1,-8149826384158677/14:1039195114508975474515043482898569/625 -qmul:24629347956178358/19,54301261705267425/23,24457116479256857/3:1337404668998534392792361387388150/437 -qmul:2790015469580797/2,17009277246386333/5,38190184436799791/6:47456146643806530617054620047401/10 -qmul:24781556873646101,42986775647721679/2,81575207729973183/7:1065279225528679999746318391523579/2 -qmul:515152885774965653/15080197507802975795,=1,-424832628935135224/94106513082678027465:265382495722274809438289573329716409/227412356874347082213525456257355882025 -qmul:846127691843273154/45393076460118791167,107731662129978485/4427725736529596013,856145822802565237/90388573766016577258:30384914205492685300912483332697230/66996030967574580526139479740140939057 -qmul:678813466845095843/4312328116586154098,456413709574125389/4100698962952630264,=2:309819772511642767874990940604657927/17683559435596311365398737033122421872 -qmul:189404516219742695/1881568644309026479,-990060962742696423/9938184412328540522,684558164600705533/1843391051573289937:-187522017676333112700620971556879985/18699376171598111009073165236722482038 -qmul:192924629174279610/915194634829559941,-505412960023216745/330833788805155829,115339652249094077/577677115897920453:-97506607892354095477504410264069450/302777308534814344556633116001046089 -qmul:530864983303082949/770272174330693891,=1,=1:281817630497382538228809007974536601/593319222548134880807536517544719881 -qmul:175427266863787420/37379184998319363,-737495252249552281/10171255350907481,433186573015158365/49314816010026687:-129376776427158427582783706960105020/380193235426716462103801903854603 -qmul:463395468161836969/36199229685681434,-381172902361185896/73861948752008031,951086817685754053/44721463664985715:-88316897770133955247493298327094612/1336872823952984931159738037798227 -qmul:388421361132459241/3796589587440279,-520242627647240191/4183488460948680,=2:-202073349549868206476119002444555031/15882988730014316745493183881720 -qmul:255643017739843159/5399110517536783,649866517463532383/2945752280295836,613430013767040536/234544931788503:166133837652459903075867976537517897/15904442118603209765181251735588 -qmul:155181948901437661/35620018080307,17101221587255570/264465563715517,-129836961434774282/466340126852825:2653800894505656514308728430021770/9420268161165298444608023719 -qmul:-839143559403582175/463688071748743,=1,-142780189059606272/172165382315553:704161913288513246519800221977730625/215006627882067436250122080049 -qmul:346621266229749718/59475689434557,=1,178397168700747228/42081103836349:120146302202715032285390908921079524/3537357633715875158385786249 -qmul:-375320695921875535/16168337083266,911110281599467718/34637020854445,777071986002999094/76066266020689:-34195854495148821384333396824647913/56002302873478088643121737 -qmul:-379308371310412479/968244496075,364865258770202694/8926182578765,249116584254479273/678952630517:-138396447051877776676786583577018426/8642727152849761420847375 -qmul:-10969933869374653/142543298333,=1,395828837569758458/4480744606673:120339449098453146428785278870409/20318591899650640578889 -qmul:357124791031669775/761802845389,917629329624700777/456858033563,774468512475077245/2887603961:327708182586752487826277715049915175/348035749907116661791007 -qmul:64954492028958167/95392360685,985096782515221787/715883047223,-29344192999567326/73661198051:63986461107637310581155676549984429/68289773848973303627755 -qmul:23618182683258131/18112927883,442655807275151908/16356517261,=2:10454725722029641395907751401163948/296264417565537688463 -qmul:732585647194345626/45048543997,=1,16467867097466398/1145670835:536681730475158241367430266345331876/2029371316249644736009 -qmul:157646812856286773/2982936935,123752181092126225/1627719293,-433800406988365539/1824179539:3901827386637546694386616182784385/971076799780357391 -qmul:18335836145139783/1476948589,=1,100294147058610519/4053918910:336202887141414537392732609287089/2181377134549090921 -qmul:-500900480985214557/585315200,=1,822543455056953279/726431948:250901291851219289979222443324706249/342593883351040000 -qmul:5430413424253854/29413111,737754500982617905/865566667,-431507384954955136/126635381:4006311945939711393067198205655870/25459008454371037 -qmul:69732083733340845/57018307,-850680479702859385/88346816,101371097024811051/77572577:-59319722440958347782449205312080325/5037385877160512 -qmul:935028252174165503/84545212,137808471873317260/91516351,=2:32213703647625121220176793216620445/1934317324190353 -qmul:350565565504682243/9619524,=1,=1:122896215717617656580228756399511049/92535241986576 -qmul:-470988077361736572/2840381,624215376275621564/9300947,748400046271858043/8643413:-293997999931687952811725899730638608/26418233140807 -qmul:238657877711036557/147228,760003504393876182/402581,40545524725498725/11806:30230137235265489411523617722264229/9878532578 -qmul:129309397398813154/103143,99499262875055329/104050,2865516124888405/1398:6433094861999752891251268341498833/5366014575 -qmul:576594622826994119/24550,764054211007945383/64450,196951790705325699/2321:440549549615502846208286120014202577/1582247500 -qmul:34307832224344795/5419,755936660033161242/53857,=2:25934548104649265347571596038435390/291851083 -qmul:-28093068552310343/6519,963611383601696677/3318,306035391422838526/3427:-27070800657309083458092703055830211/21630042 -qmul:144703609571824207/1943,353612545017871990/3809,419690158507626277/2547:51169011653965259593108361509261930/7400887 -qmul:533530159200500829/854,84950875994057867/97,561763750303203654/161:45323854393331697896795654407471743/82838 -qmul:786023983959036523/653,=1,35801962841884787/949:617833703358835705221613270447929529/426409 -qmul:977510365280960078/55,232111556352335897/28,846828806350115358/59:113445726117952006128263047051659983/770 -qmul:575356062531111409/48,127909051677869039/2,331562163778887361/52:73593248335467179491251257420765951/96 -qmul:223865459457586997/2,-255265991273068741/5,785308709687044221/4:-57145238420241926425388851168760777/10 -qmul:-89489266878597587/4,408356339430510509/2,320811062710131617/2:-36543509440864137915495881385541783/8 -qmul:6960121193016437767/41673724634003604035,=1,6854483270886536984/32457251506686121265:48443287021476560949924862262183946289/1736699324870758821080322609369068281225 -qmul:252294933101143378/671664801173160007,101031884553475048/1683990887624654527,6217560315186323017/75520308794957242947:25489832554501428241776271993432144/1131077404713826819460225518267901689 -qmul:95022283125541691/1892238412758904932,6220850886629533101/1296487687523964914,-3552806481592836635/292967787422034901:197039818077029516749136819680004597/817754601333936827050096136476518616 -qmul:-9650628580381886023/7106748638657239958,4387498480617035975/5131806125901481009,=2:-42342118233424867760904547954540677425/36470456199103234725545247832492957622 -qmul:933857454927346529/770907817024018505,2627554012834724721/741765905423985850,939220528406657553/251830131719517146:2453760903109972444306223754689843409/571833134893249499170644981258154250 -qmul:5863194086945812212/700078829279068399,9185022137361371361/111682660170098792,=2:13463391871060894578417924384075215133/19546666495663701071851276388818502 -qmul:-1393200667079143151/45785790746761243,-6119736754307708291/97236710970831949,=1:8526021328450249564289054954738564941/4452059701413814892014912979352607 -qmul:3607026924237321910/1072023164691893,248422707771439167/17526050077246094,942295846706978669/71124490430949583:448033697761760632546411047280624485/9394165834178976731308723857971 -qmul:2219105460493025188/4992146804272097,-654894851214548365/261880809182257,=1:-1453280740378971565345857635989217620/1307347444659395118592692582929 -qmul:5112830206310124118/4808519639244359,3895059152513717718/2399893258942939,2005821980379451972/672164805197423:19914776090336848562178934098195722724/11539933867717270078741058631101 -qmul:4465488275906636401/885680900323781,-1104529468377254183/50717559226303,-1531096850412298649/70636195562356:-4932263391432018452889201367737315383/44919573517776726756551611643 -qmul:5805379505512562993/802580360628120,7576393837591505509/381671212464334,827391747551350507/404055288015098:43983841510445403745585851020069028437/306321819340996990853337472080 -qmul:1568069089872115495/10344068691049,6482258105462122875/51585142886372,983293776583976867/13619011887634:10164628567748134676970172369881448125/533600261454209647780484228 -qmul:5123357244469621862/61996475985149,784192904118738215/19232930497666,7315968239528825344/72839297342337:105728957799431815835771283411022535/31378260887436578268293743 -qmul:310186678678899798/454385367511,496289849974746528/1664255858611,4370884482132758378/6990813743219:153942500225716088309659706960401344/756213509947294088987221 -qmul:6896960984221904702/8037366999007,=1,1507716158461831143/4162951083794:47568070817879184399769535232769708804/64599268276726789138986049 -qmul:4124205900530951507/699562645532,2446863765306479999/780453290054,2180063751257648537/428993105150:593609998745433301395350821902024029/32116233429666446066984 -qmul:1901990540997243863/309938083197,1828919653744696177/128932373995,=1:3478587881666366604445148811312811751/39961052858049029262015 -qmul:9909007556102284175/35699264171,=1,2257564478754303350/23996542561:98188430746892162461878914652455430625/1274437462350844317241 -qmul:7540576467990933273/59047654891,-667411621026349909/24648144492,49933771491922816/70442999897:-1677556121324992297591622679189540719/485138376555706170124 -qmul:7181294574913207518/3819238427,-5066099946607930227/3123415729,-1161733643221201723/183317684:-5197308008934802800386778397102263798/1704152767956145469 -qmul:-8059696125757072209/4595320696,6578165258606498110/3168033531,=1:-8836335508230093636747850255982004165/2426355008437709596 -qmul:1945331074426594741/151710177,23896636516777288/9647063,-8779812176082283037/763148559:46486869590364160149493061329042408/1463557635260151 -qmul:-3667612169703754992/456403523,-7174409726077474195/172294113,3512697218966135831/927221535:21444948999024227916663287692324720/64087726296137 -qmul:2801308578321040429/7008589,40646058755682747/3928091,2242284013880005543/86049101:113862153067235113557787361284778463/27530375373599 -qmul:7755272402005383603/37065862,7920705443805205865/32575293,-9791686678342842374/5250627:20475742777585438947450807922570143865/402477104982522 -qmul:-1833317998287765958/869351,2549513447231770664/4194999,=1:-4674068889686691615296143605162256112/3646926575649 -qmul:-9862573495076415071/3231099,-1012500145079952918/2881015,=2:3328619031542189525129501104301875726/3102948228495 -qmul:1848318375383620325/62739,2496061735601929291/71058,-3577860376337084987/826120:4613516772004977608237698310240439575/4458107862 -qmul:3935629218278546095/380289,272948451544220369/89992,728063154313892053/11066:1074223900981319628581080745604409055/34222967688 -qmul:1383092141504746774/6843,9725813952719193095/86512,9563731803386892083/450:6725848423871567383357583818792162765/296000808 -qmul:4310844810185467807/68701,5335008431625026234/79247,4165066621321185249/74158:22998393409766456521092748601937448838/5444348147 -qmul:-1231083168271826293/1767,2942557339085135869/5628,9747542072617181491/4658:-3622532811822443740742409486671603617/9944676 -qmul:2563045864459171017/1901,=1,=1:6569204103321259248191885398852814289/3613801 -qmul:3519211776742706458/741,3845395982348454948/319,-5561268787397081165/773:4510920942439923739354839714733884728/78793 -qmul:8737995292054242122/619,5446863961283262201/940,7037490695241026988/493:23797335825076532425122443838432315261/290930 -qmul:-6758789406646036953/11,3116671878311801932/31,40838395516557640/7:-21064928875125413266537275696088793196/341 -qmul:-2984260832879482631/3,-2187683625033562767/25,4114578793904862147/65:2176206185639821933770592463208266659/25 -qmul:228695312943600692,-8259900599013409474/7,1324126718913604639/5:-269857221767772356131493369277965144 -qmul:2275696080893255434/7,-1435737280894850537/2,294080994708276309/2:-1633650851662375193596252292396534029/7 -qmul:-84829337473700364773/56707961321161574960,-29927022646809239114/25185347367370413937,=1:1269344751844627231939227965424189665561/714104852184429966256312155357027108760 -qmul:17614709128893699831/24236675989376645657,4599289230585863713/53851416063001125139,55430594239089793855/41774891940497902166:81015141996423294341239778695297132503/1305179322688071182919814999640717871323 -qmul:67846551326033993002/4393005431010178629,-25740230532097127103/7368476450475338660,11432245987550154811/3453986965906439686:-41580615998568452669495076840090631743/770708501552589672691163995377845170 -qmul:78323538212378809869/7187022102980425966,=1,-32829495858735303110/2068874202909402271:6134576638105963615443551925372851797161/51653286708729184578994636138807033156 -qmul:12686256534955947787/123247933988654253,81930708153077686114/345994724232647617,16126072813581949987/95957301898986922:1039393981720550346819611040155758929718/42643134932647985540794888997365101 -qmul:90635825716321359861/838907685684947420,6188791645900690243/226601399055279660,-65993207203297829068/942167862280779399:186975413670826858643911432008098178741/63365885084811963416497113498492400 -qmul:4256124534146569459/8100972293435918,-36362420289668860861/78362919838311158,46047806868639334273/57305818998350828:-154762989115808645716121851999543044199/634815842442898538160822217373044 -qmul:60947370495538663/3595354440833372,20498068986391916397/59798876860276456,=1:73488435585690517250320078551597483/12646950439790760312580408864096 -qmul:57111050113208289287/8750146592672703,95339879919848747558/9349828098304853,63474468255902925315/5956909304899564:5444960659889742520776395286830698811146/81812366476457707866224945527659 -qmul:31476714111665882746/1411948296801679,=1,91546635306734179873/2545140299680338:990783531267546121976022657443420500516/1993597992841162212620657219041 -qmul:28478043672580107559/271169292774531,=1,-12639098468391030777/83575724512750:810998971417379900383655158076008938481/73532785343839310404002269961 -qmul:97963124075098523020/223158531052969,=1,=2:9596773678553147851290017119785469920400/49799729981718929459883714961 -qmul:38023234767709122291/95410827766256,=1,-80027616607132061503/68758430907707:1445766382200323790987914636817593088681/9103226055042166894572257536 -qmul:-6852061478866431364/19230239212017,31234498342946092331/39453881908226,=1:-107010351453709150647505423887409134742/379353793468927863275175921 -qmul:33119990811859699401/1776514189342,65254455762623773903/8901520474749,11459125607986399870/8150100596607:720408991763668201816403420648589510701/5271225810036644905308386 -qmul:27841303391142022233/8340519171100,=1,61584898160284417471/4425828128209:775138174517616267035460754520666306289/69564260043486631075210000 -qmul:-78679695834397046203/681862256264,22320479732932316543/573216980545,=1:-1756168556264938480239345612201392236229/390855023683251092383880 -qmul:25675370768619544394/174778199339,=1,-39853005701576084539/982343364060:659224664106082973870755584440136827236/30547418964183220036921 -qmul:-24756905032793568159/99453729989,14882817849764444595/70923843844,10502311373057494209/91914989726:-52636072589569046967201515845844521515/1007662973634739405388 -qmul:95117421914973587797/80826708744,-23193036682039936606/20563195751,-4893123371481302110/94686383639:-1103030927787525886919861317615127598491/831027716905967673372 -qmul:-80983109490183607947/8058699274,-15405016985195778462/2629510637,2177028333237582055/2780215797:623773088605123959908040865328237318757/10595217730683588769 -qmul:42899406282841568991/1560723895,-22471941706408087493/1005041792,22818416959151070688/2105105663:-964032957227532597560482503451723729563/1568592740248019840 -qmul:-10792553451566883852/995956003,86483521167692451511/50100662,91257203536302258983/95707725:-466689012441018414437879124662439450186/24949027536586993 -qmul:66678150407960284786/528696663,496074447844907103/89728426,17869991738879780164/44060669:5512887774491427594627575949932372493/7906519900407073 -qmul:96591001707842941940/16266781,=1,26004126355523142571/17591389:9329821610924518126580594334274210963600/264608164101961 -qmul:-19258452690165788842/64571275,55666814298088453153/92756359,54411077014502701176/23247995:-1072056709571980969162640959031807118826/5989396364987725 -qmul:-4640013132163513704/239663,-52209871104438592227/332773,=2:242254487553159440830522450019582378808/79753375499 -qmul:-56411630621727285797/272706,15691212266654685658/1914927,15271170464235431859/4561235:-442583435196820139258606231600281499713/261106041231 -qmul:62583023330306722367/644511,42379004056489714974/217085,=2:884068733194153019519400490169326874486/46637890145 -qmul:53067206328944584675/275618,=1,37102608540172266636/214843:2816128387558776183269875887008244855625/75965281924 -qmul:50636929045250773605/38387,30182307121185668404/29215,16057737093809242633/17297:305667868823489166641648659224001135284/224295241 -qmul:-26760988055984279099/53119,44684512572473420625/89488,=2:-108709246112676414811336722275383910625/432137552 -qmul:-17331655588145624486/2353,24408931125891445861/334,55315381482361596884/2933:-16271045674950697968739133244742498171/30227 -qmul:-9697670177570290081/926,-1158917529680599882/175,-11682447562930993064/1259:5619399982923492491507494162417185221/81025 -qmul:-24744828849467423601/305,706079506961442174/13,-12411541580915002667/54:-17471816553877228863576699595124348574/3965 -qmul:74993389160967099973/124,-20280570219362183984/677,28316389090053904551/13:-380227173716737042352800246412036858108/20987 -qmul:43291079967737078989/47,-41261412311052788301/4,81583584176718755579/67:-1786251099939557456367856008793532107689/188 -qmul:-63431471455230924013/94,=1,69816003657973600474/97:4023551570975775516902820423729780024169/8836 -qmul:10484919345725066249/3,=1,-37631393326791641801/9:109933533686359751306619094875438930001/9 -qmul:76285024187842291525,15471681970508023553/4,14287488305535091904/5:1180257633346808064019424884594192288325/4 diff --git a/polly/lib/External/isl/imath/tests/qmulz.t b/polly/lib/External/isl/imath/tests/qmulz.t deleted file mode 100644 index 233b1258c39..00000000000 --- a/polly/lib/External/isl/imath/tests/qmulz.t +++ /dev/null @@ -1,800 +0,0 @@ -qmulz:4/21116887005095188595,0,1/17609283250378275381:0 -qmulz:8/84271584737450207059,1,=1:8/84271584737450207059 -qmulz:-5/7724990270619098661,3,-1/8550465692384773913:-5/2574996756873032887 -qmulz:2/8610596429506001887,7,=1:14/8610596429506001887 -qmulz:0,0,-1/273384650324881125:0 -qmulz:1/140233715878844976,0,0:0 -qmulz:0,4,=1:0 -qmulz:-9/45090872528594267,8,=1:-72/45090872528594267 -qmulz:1/8811965128522223,2,2/1793564191974955:2/8811965128522223 -qmulz:-1/3188926048219934,8,-1/5467596237009668:-4/1594463024109967 -qmulz:6/640657208066881,5,1/137611762075086:30/640657208066881 -qmulz:3/82322597857883,-7,7/654813178322036:-21/82322597857883 -qmulz:2/3688100583837,-5,2/10618253469093:-10/3688100583837 -qmulz:-7/83059280440216,9,1/11745563556453:-63/83059280440216 -qmulz:9/6593641787929,5,=1:45/6593641787929 -qmulz:3/6450530990042,8,-3/716358093439:12/3225265495021 -qmulz:-9/518988418619,-6,7/365408602532:54/518988418619 -qmulz:-1/122175964907,-8,2/24455846617:8/122175964907 -qmulz:3/5927038874,3,-8/86686893619:9/5927038874 -qmulz:1/7836708131,5,=1:5/7836708131 -qmulz:5/498008886,-4,2/1679653213:-10/249004443 -qmulz:1/7271098513,6,0:6/7271098513 -qmulz:6/363428537,-7,2/874745017:-42/363428537 -qmulz:5/766453791,-5,=1:-25/766453791 -qmulz:-4/90120677,4,=1:-16/90120677 -qmulz:2/53848349,-1,9/89746135:-2/53848349 -qmulz:-1/58093,9,7/9595979:-9/58093 -qmulz:9/2605786,-7,-5/2800212:-63/2605786 -qmulz:-7/355662,7,-1/161621:-49/355662 -qmulz:-1/55532,-8,3/126767:2/13883 -qmulz:7/6254,8,=1:28/3127 -qmulz:7/22045,2,=1:14/22045 -qmulz:0,2,2/2115:0 -qmulz:-6/3715,8,-4/2861:-48/3715 -qmulz:1/93,5,1/5:5/93 -qmulz:2/267,5,8/311:10/267 -qmulz:1/11,4,3:4/11 -qmulz:7/89,4,0:28/89 -qmulz:1,-1,0:-1 -qmulz:1/2,2,-3/4:1 -qmulz:40/4765370066151782869,-24,3/17739079731156497618:-960/4765370066151782869 -qmulz:10/7947188161398728933,31,-29/17781982876586594643:310/7947188161398728933 -qmulz:8/970140630929619417,53,13/8387936313655403107:424/970140630929619417 -qmulz:3/1360678434809756573,41,-31/7551541168373851760:123/1360678434809756573 -qmulz:86/511769393768474807,-69,-1/14040574288485846:-5934/511769393768474807 -qmulz:56/95496257521849925,9,4/211197580286155545:504/95496257521849925 -qmulz:3/12596246629196159,46,37/18952775459563721:138/12596246629196159 -qmulz:77/94995682269709624,37,=1:2849/94995682269709624 -qmulz:13/113349891854596,-40,60/1320165562768511:-130/28337472963649 -qmulz:-41/8305688624807961,27,-89/2632217443748796:-123/922854291645329 -qmulz:50/294091273453599,83,31/297861651301595:4150/294091273453599 -qmulz:27/300155905937375,-31,=1:-27/9682448578625 -qmulz:-31/21736762942232,-27,80/61942176807321:837/21736762942232 -qmulz:59/71835777121419,67,=1:3953/71835777121419 -qmulz:9/1200430381838,-23,19/83497011269:-207/1200430381838 -qmulz:56/4578602367429,97,-20/776186296021:5432/4578602367429 -qmulz:31/25481124930,-86,=1:-1333/12740562465 -qmulz:45/421348839203,-96,89/480034443271:-4320/421348839203 -qmulz:43/18027020463,18,50/87497424067:258/6009006821 -qmulz:-23/3151206468,59,57/92709199715:-1357/3151206468 -qmulz:-33/718223267,-66,-76/2839068079:2178/718223267 -qmulz:98/8237370817,72,79/3563183593:7056/8237370817 -qmulz:37/508616845,22,72/569831387:74/46237895 -qmulz:41/364836167,-39,17/275414470:-1599/364836167 -qmulz:61/59566303,79,-1/1125330:4819/59566303 -qmulz:-97/83330456,63,73/93898689:-6111/83330456 -qmulz:-1/164718,22,-65/5152738:-11/82359 -qmulz:0,24,1/452605:0 -qmulz:-1/74711,-40,56/389891:40/74711 -qmulz:49/301825,39,54/550045:1911/301825 -qmulz:1/29,75,-29/23058:75/29 -qmulz:29/24685,14,=1:406/24685 -qmulz:8/4141,88,-12/2819:704/4141 -qmulz:26/3215,-38,11/500:-988/3215 -qmulz:-1/11,11,1/2:-1 -qmulz:58/779,41,-35/237:58/19 -qmulz:43/87,-51,=1:-731/29 -qmulz:-93/46,10,4/85:-465/23 -qmulz:76/3,36,0:912 -qmulz:73/4,-77,=1:-5621/4 -qmulz:432/74155281191151829175,472,=1:203904/74155281191151829175 -qmulz:43/114735919860201111,635,=1:27305/114735919860201111 -qmulz:301/3325247703900970462,388,=1:58394/1662623851950485231 -qmulz:47/344661002338469478,-106,860/1407842422947199591:-2491/172330501169234739 -qmulz:805/331439221582368712,128,=1:12880/41429902697796089 -qmulz:2/38222077254594263,-769,366/33431432349396613:-1538/38222077254594263 -qmulz:262/61689298838409327,985,63/11550912720533723:258070/61689298838409327 -qmulz:29/21271356349676377,424,920/27960990422138801:232/401346346220309 -qmulz:205/2415752549117554,210,=1:21525/1207876274558777 -qmulz:634/9928964068012837,847,95/1012378898508494:536998/9928964068012837 -qmulz:760/992730779954457,-482,=1:-366320/992730779954457 -qmulz:13/176143690239813,-422,349/7765280463032:-5486/176143690239813 -qmulz:-408/41555001527117,-384,-66/88241293613239:156672/41555001527117 -qmulz:27/282651453443,321,23/49707873373983:8667/282651453443 -qmulz:337/906250195499,80,-199/1511077632489:26960/906250195499 -qmulz:149/1870083861838,-448,281/4154228004961:-33376/935041930919 -qmulz:662/109646911569,763,126/297204337159:505106/109646911569 -qmulz:-887/964555633809,146,-947/9332491491:-129502/964555633809 -qmulz:188/73532880181,760,163/15869550943:142880/73532880181 -qmulz:-221/8950730813,505,=1:-111605/8950730813 -qmulz:22/13208815,793,=1:17446/13208815 -qmulz:193/637058385,-354,482/2363181035:-22774/212352795 -qmulz:921/151700978,356,-124/176851221:163938/75850489 -qmulz:-304/528635925,-222,259/831832289:22496/176211975 -qmulz:-4/3008665,170,37/7388125:-136/601733 -qmulz:52/12087973,-255,-249/6720565:-13260/12087973 -qmulz:-91/601229,444,125/4420518:-40404/601229 -qmulz:224/1546297,-262,-392/1085417:-58688/1546297 -qmulz:-184/301489,348,643/741106:-64032/301489 -qmulz:245/409686,380,356/35003:46550/204843 -qmulz:31/27883,-943,151/26608:-29233/27883 -qmulz:53/4847,612,=1:32436/4847 -qmulz:-105/3832,445,249/1553:-46725/3832 -qmulz:-930/539,770,=1:-9300/7 -qmulz:951/374,362,106/887:172131/187 -qmulz:-963/277,320,383/272:-308160/277 -qmulz:487/53,717,11/2:349179/53 -qmulz:104/5,428,263/20:44512/5 -qmulz:728/5,676,=1:492128/5 -qmulz:-100,626,218/3:-62600 -qmulz:8051/79574306408456131157,752,-197/7460413732106301606:6054352/79574306408456131157 -qmulz:-3008/38400803020121033225,9712,=1:-29213696/38400803020121033225 -qmulz:119/587342139200366012,-7227,=1:-860013/587342139200366012 -qmulz:3185/2510393047749702379,3840,-1461/382245232883802373:12230400/2510393047749702379 -qmulz:-8497/801072423164046277,7259,-2828/415904520883959335:-61679723/801072423164046277 -qmulz:2322/194611268129140181,600,-887/21344410544427618:1393200/194611268129140181 -qmulz:311/62962162974221664,-8282,579/2914497438443599:-1287851/31481081487110832 -qmulz:5073/93332615871851278,6836,=1:17339514/46666307935925639 -qmulz:2466/5537476809280789,8950,48/94598016177721:22070700/5537476809280789 -qmulz:231/1712288358365785,70,-6151/1963648192541132:3234/342457671673157 -qmulz:3639/430934070927460,5689,7044/387572482090793:20702271/430934070927460 -qmulz:1017/411489477643922,6940,7618/907239626952957:3528990/205744738821961 -qmulz:9453/75593644627417,-2623,-2593/2251196683387:-24795219/75593644627417 -qmulz:216/48287649084937,1544,=1:333504/48287649084937 -qmulz:-9415/2492316493411,3873,8599/637176704155:-36464295/2492316493411 -qmulz:4082/7751065050029,-283,128/8321097090765:-1155206/7751065050029 -qmulz:-487/249512316942,-9582,9041/750949778159:777739/41585386157 -qmulz:649/133850377085,-5935,=1:-770363/26770075417 -qmulz:6342/41044749355,-8924,-9491/43668795550:-56596008/41044749355 -qmulz:7139/68729276289,6836,-9917/81477149162:48802204/68729276289 -qmulz:143/2037944234,2833,4555/3599790156:405119/2037944234 -qmulz:-9325/7317954198,-9218,5503/6043847166:42978925/3658977099 -qmulz:7044/653529617,7307,4797/199351315:51470508/653529617 -qmulz:-673/115994640,-7148,559/911781164:1202651/28998660 -qmulz:3076/13783363,-9612,-2927/62873576:-29566512/13783363 -qmulz:-4161/34536929,3313,98/1321839:-13785393/34536929 -qmulz:738/526535,-118,=1:-87084/526535 -qmulz:2233/2825257,7157,765/8600573:15981581/2825257 -qmulz:107/83440,3370,401/179110:36059/8344 -qmulz:-1667/14564,-6138,913/586918:465093/662 -qmulz:-7994/44789,404,=1:-3229576/44789 -qmulz:-5363/98880,145,=1:-155527/19776 -qmulz:842/29,-8855,8672/6371:-7455910/29 -qmulz:2310/1103,2603,=1:6012930/1103 -qmulz:762/293,2709,=1:2064258/293 -qmulz:5789/529,7420,-6538/957:42954380/529 -qmulz:539/41,3855,-7655/53:2077845/41 -qmulz:-579/13,7973,=1:-4616367/13 -qmulz:883,5006,1627:4420298 -qmulz:3573/2,3540,4139/9:6324210 -qmulz:98250/53192196970205269513,57716,80717/96027247156109827970:5670597000/53192196970205269513 -qmulz:-6945/12166748375847716977,80289,23625/38713117494337198876:-557607105/12166748375847716977 -qmulz:-58986/296440433764715149,-18018,-97378/3396272899236095159:11679228/3257587184227639 -qmulz:-6149/262153684309837118,56309,89961/7445277782705094481:-346244041/262153684309837118 -qmulz:-15446/149480531273251391,31846,4749/106265662702068574:-491893316/149480531273251391 -qmulz:2451/55473133472349607,90444,20837/279735266283810098:221678244/55473133472349607 -qmulz:28710/35478143894265917,69724,=1:2001776040/35478143894265917 -qmulz:96358/34167706730231777,49135,-2041/69865271163769782:4734550330/34167706730231777 -qmulz:7283/1176116854930460,77815,62454/5465876769829379:113345329/235223370986092 -qmulz:99551/5426188854503002,-89899,=1:-8949535349/5426188854503002 -qmulz:7860/83586510191743,23843,-4213/144664072126997:187405980/83586510191743 -qmulz:-3898/13601562574049,-61855,4031/27837453043985:241110790/13601562574049 -qmulz:-6928/5371829731249,37664,4835/26749096759358:-260936192/5371829731249 -qmulz:76651/81457027187160,-85014,=1:-1086068019/13576171197860 -qmulz:14709/484402153529,30047,10715/9214198729207:441961323/484402153529 -qmulz:30365/5730836776783,61734,30655/2550068903118:1874552910/5730836776783 -qmulz:13241/55328034593,-80183,11617/428864198314:-1061703103/55328034593 -qmulz:35410/387788826057,45514,15158/46042980249:1611650740/387788826057 -qmulz:-41739/96062733370,-76701,=1:3201423039/96062733370 -qmulz:71383/88228655146,74491,74665/42443189917:5317391053/88228655146 -qmulz:-3181/8533129823,78945,19451/1917063317:-251124045/8533129823 -qmulz:-35563/2781995353,34546,99624/7403972285:-1228559398/2781995353 -qmulz:-46639/190543771,20318,=1:-947611202/190543771 -qmulz:57710/227557263,65393,41129/661804772:3773830030/227557263 -qmulz:-41473/34008654,19343,68754/48463157:-802212239/34008654 -qmulz:86172/41261945,23098,-67843/42705974:1990400856/41261945 -qmulz:-23642/477003,-74773,75259/5922193:1767783266/477003 -qmulz:-2299/7593,-55092,47078/3719425:42218836/2531 -qmulz:89923/436747,27372,38454/602545:2461372356/436747 -qmulz:35133/245788,37530,-26959/814296:659270745/122894 -qmulz:54300/83317,6506,=1:353275800/83317 -qmulz:-2710/16637,92724,49071/5768:-251282040/16637 -qmulz:-23308/1133,56278,=1:-1311727624/1133 -qmulz:12925/464,48445,5188/4977:626151625/464 -qmulz:-15500/139,75561,45107/89:-1171195500/139 -qmulz:68128/739,-47269,46324/271:-3220342432/739 -qmulz:-98213/47,41522,-7190:-4078000186/47 -qmulz:95819/64,12916,907/10:309399551/16 -qmulz:-1123,10413,63874/9:-11693799 -qmulz:30369/4,-41524,7423/2:-315260589 -qmulz:-269467/4029498660068277497,646984,265727/52332437650027766625:-174340837528/4029498660068277497 -qmulz:-206269/81809654998485085274,50405,=1:-10396988945/81809654998485085274 -qmulz:119347/1701867915016265609,618013,703201/8136517399464628384:73757997511/1701867915016265609 -qmulz:199044/306712361923985717,233710,201675/571526199709385944:46518573240/306712361923985717 -qmulz:267977/894840013682442654,-489375,=1:-43713748125/298280004560814218 -qmulz:12471/7140902397278600,350289,253704/144540771450708869:4368454119/7140902397278600 -qmulz:832882/5818152789924367,-80256,108955/22849940119123234:-66843777792/5818152789924367 -qmulz:494497/18234011706116519,-14822,68902/17499952371352627:-7329434534/18234011706116519 -qmulz:232520/1052550357505571,557021,32429/440602163340406:129518522920/1052550357505571 -qmulz:526093/2240655675408643,11119,-126354/4970690629417277:5849628067/2240655675408643 -qmulz:54605/174895846259434,-184199,544176/97043233594967:-10058186395/174895846259434 -qmulz:764692/11187705426133,576048,-646413/892215624306868:440499297216/11187705426133 -qmulz:593840/66545119469401,569003,81868/70640307758063:337896741520/66545119469401 -qmulz:109999/9745609238872,665854,=1:36621637073/4872804619436 -qmulz:-133443/8282237150,-495649,404461/485555508119:6012808137/752930650 -qmulz:224276/6824310584317,712269,=1:159744842244/6824310584317 -qmulz:787126/341737321975,925666,71517/134877228043:104087967988/48819617425 -qmulz:19969/20124955446,-804254,68212/739707535809:-8030074063/10062477723 -qmulz:-484342/14331066017,154663,640199/41001808194:-74909786746/14331066017 -qmulz:234567/15529177385,951383,104501/13280956901:223163056161/15529177385 -qmulz:447401/2005170496,-162639,25513/657762574:-72764851239/2005170496 -qmulz:88392/370535737,889107,=1:78589945944/370535737 -qmulz:69608/19589055,197889,391089/111921502:4591552504/6529685 -qmulz:-742188/976205903,-835265,198303/463857278:619923659820/976205903 -qmulz:30951/7100042,826901,37665/16004119:25593412851/7100042 -qmulz:-8717/23405419,749796,584744/90701721:-6535971732/23405419 -qmulz:375053/1615401,682230,-413113/4604306:85290802730/538467 -qmulz:-682135/9626652,-686085,=1:156000863825/3208884 -qmulz:459639/139961,-545993,55641/809527:-250959676527/139961 -qmulz:137069/131640,556346,=1:38128894937/65820 -qmulz:653137/44831,-33774,=1:-22059049038/44831 -qmulz:377111/93851,119783,=1:45171486913/93851 -qmulz:61290/967,223671,-198269/2596:13708795590/967 -qmulz:108931/3561,890354,99191/837:96987151574/3561 -qmulz:-566567/566,72845,=1:-41271573115/566 -qmulz:-856110/823,-344105,71629/306:294591731550/823 -qmulz:103589/16,-597818,73435/68:-30963684401/8 -qmulz:531370/87,698278,92947/30:371043980860/87 -qmulz:93564,802315,-69936:75067800660 -qmulz:254421/2,-51596,=1:-6563552958 -qmulz:5908447/27508951891576930555,-8046857,=1:-47544428101079/27508951891576930555 -qmulz:3067750/30055512795875714167,9308933,292151/5218560370048727971:28557479210750/30055512795875714167 -qmulz:5909595/1610510865059257451,1081732,8279906/1034011738653690921:6392598018540/1610510865059257451 -qmulz:7300703/4024857129457733561,-6809974,=1:-49717597611722/4024857129457733561 -qmulz:-411181/366261858643871279,-3873525,5670428/945102376345780573:1592719883025/366261858643871279 -qmulz:1840028/328098015717866549,7760,-1208094/324612123643160461:14278617280/328098015717866549 -qmulz:5902528/35455662246885099,9372866,-2383248/38025857091093589:55323604005248/35455662246885099 -qmulz:412808/8383418920359061,7136425,8412475/90427613237122747:2945973331400/8383418920359061 -qmulz:4721348/1016481387773127,-4909375,446916/600970820960263:-23178867837500/1016481387773127 -qmulz:346575/543489633400996,2082315,=1:721678321125/543489633400996 -qmulz:-54603/142207419353230,9721544,-9944420/520274639700813:-37916104788/10157672810945 -qmulz:9128453/94269601342538,-1680681,9401887/439581199104749:-15342017516493/94269601342538 -qmulz:327135/14576866729679,-981216,=1:-320990096160/14576866729679 -qmulz:-2772009/35771247225944,7269361,3999881/49166513232805:-20150734116249/35771247225944 -qmulz:7777936/4972983657531,932701,-1921805/2675875584873:7254488685136/4972983657531 -qmulz:-4107413/8839115797940,-7894930,-67679/4109002145737:3242773811609/883911579794 -qmulz:6418119/522734321117,-4364508,=1:-28011931720452/522734321117 -qmulz:-9554439/610908255599,9002767,5125943/687195405407:-86016388132713/610908255599 -qmulz:1541453/67134868472,9336624,124122/1242309641:1798995884334/8391858559 -qmulz:-4420171/60924329483,4658729,597333/76303665689:-20592378822659/60924329483 -qmulz:2321560/479530207,3712372,-8303185/3259591614:8618494340320/479530207 -qmulz:6497537/8003497458,685910,622458/2979408511:2228362801835/4001748729 -qmulz:8707355/324035343,-5890611,=1:-17097213714635/108011781 -qmulz:-6368331/430504267,6080736,2843024/389993407:-38724139571616/430504267 -qmulz:7148576/43643579,9752788,1882739/80695462:69718546229888/43643579 -qmulz:-78515/22600098,-9269764,=1:363907760230/11300049 -qmulz:6642519/3513320,6950670,4303599/4263095:4616995753773/351332 -qmulz:8291036/3791843,-6165764,187574/1468847:-4647324662864/344713 -qmulz:3378069/104710,4099164,-3130847/477201:6923629417158/52355 -qmulz:-1837947/540683,-7963396,4977946/317377:14636299788012/540683 -qmulz:-2439283/46175,3316377,4423369/90864:-8089582037691/46175 -qmulz:24851/4671,-9457747,=1:-235034470697/4671 -qmulz:-3996265/3851,5644784,2130071/6485:-22558052731760/3851 -qmulz:-8787752/5255,-8904351,=1:78249228308952/5255 -qmulz:1051819/121,7786465,-1689328/223:8189951829835/121 -qmulz:2910419/264,-4517287,4103/10:-13147197913253/264 -qmulz:1470867/8,9831206,3981716/39:7230198237801/4 -qmulz:4240055/91,-8952034,=1:-417111170570 -qmulz:327409/4,1172921,-3686633/6:384024891689/4 -qmulz:463486,9343153,-1978362/7:4330420611358 -qmulz:29585813/42067907033671980893,71292790,-70324603/70286665753964458740:2109255153188270/42067907033671980893 -qmulz:-65065601/40632930795671537185,4699856,7303041/5446641871295709464:-305798955253456/40632930795671537185 -qmulz:22287116/6961884952768846975,-61223561,47414597/4915453243825873928:-194928086562868/994554993252692425 -qmulz:13726613/4388684468226482322,5689324,=1:39047574389806/2194342234113241161 -qmulz:86674641/912048412696230206,9154212,418913/1017052367067494:396719019368946/456024206348115103 -qmulz:39606657/62493216618497137,-64895609,-93307621/528183512506792540:-2570298126469113/62493216618497137 -qmulz:-61860905/97141961244876374,29603964,95495204/34743879357106645:-915664002313710/48570980622438187 -qmulz:23026739/8268491868362646,49125662,=1:565601898538109/4134245934181323 -qmulz:74731767/2153002560742688,79046765,=1:5907304424083755/2153002560742688 -qmulz:-33040734/8080107924352231,16695468,87206576/5598768033775299:-551630517193512/8080107924352231 -qmulz:-85831719/652429006985885,-12207796,-56798629/203624822018813:1047816115881324/652429006985885 -qmulz:13811539/218314616664013,-33361377,41774225/444858687471486:-460771959529203/218314616664013 -qmulz:46578727/4151263590571,94131401,=1:4384520829306527/4151263590571 -qmulz:5864747/4619802266479,-14340682,9374233/85220400863050:-84104471737454/4619802266479 -qmulz:-20695/10292597787,19239092,=1:-398153008940/10292597787 -qmulz:-79354991/1226479246337,-85100492,-31036795/9391557241804:6753148776755572/1226479246337 -qmulz:13497139/220655551780,25874045,16158669/209860028875:69845116371451/44131110356 -qmulz:-14641436/673965441365,35697635,=1:-104532927640772/134793088273 -qmulz:42076810/47634122699,92555216,-99965382/7603386991:3894428238140960/47634122699 -qmulz:-2547044/961062465,-61423853,-64578371/3954121219:156449256240532/961062465 -qmulz:12398632/375040743,76607359,19460171/1399871191:949826452732888/375040743 -qmulz:99063929/927095607,-33074282,-31824927/5567689051:-3276468323773978/927095607 -qmulz:13710043/915838933,-63538218,-80907032/55218445:-871111700923374/915838933 -qmulz:-14266908/173792753,79812889,39774414/947866123:-1138683144577212/173792753 -qmulz:46031321/23827793,47288874,-29016530/26535747:94642145166198/1035991 -qmulz:90667631/37118866,68275195,25790129/31607133:6190350186713045/37118866 -qmulz:133784/168291,-36246595,-13384939/1286209:-4849214465480/168291 -qmulz:20243420/9836407,-29971865,=1:-86676150196900/1405201 -qmulz:55262636/961595,-79684445,-18606712/267721:-880714495779404/192319 -qmulz:18521596/447339,13342158,98234108/465429:82372686748056/149113 -qmulz:-52333722/83537,75454299,80265841/5748:-3948804307570878/83537 -qmulz:27849895/19463,2814646,51492641/14404:78387595562170/19463 -qmulz:2229413/2657,47131782,=1:105076207503966/2657 -qmulz:37693829/4546,76862997,85444575/4597:2897260665345513/4546 -qmulz:47895391/838,51616823,67901608/79:2472207919762793/838 -qmulz:94793222/407,45108781,26019479/298:4276006691482382/407 -qmulz:-28219652,28509688,-69052146/5:-804533473988576 -qmulz:89329658/41,24254853,43325377/63:2166677723330274/41 -qmulz:-28028843/2,57869496,97143787/2:-811007508936564 -qmulz:17180663,49123793,31747639/3:843979332814759 -qmulz:-440812167/25592398472985127969,-67895040,305636107/90241943612023813864:29928959710951680/25592398472985127969 -qmulz:469436899/89801410067219467595,339956414,=1:159588084783320186/89801410067219467595 -qmulz:624505646/8457866426911473529,55679196,735790506/1487411086627672243:34771972266740616/8457866426911473529 -qmulz:-530285107/6030437060176995577,933495870,999692847/7638706602391224839:-495018957307008090/6030437060176995577 -qmulz:811800624/481147127809268303,96179572,377106279/130131554630880295:78078636565652928/481147127809268303 -qmulz:-249975856/304587360170486515,826091985,851744230/630784049926628227:-41300610217022832/60917472034097303 -qmulz:-268512055/31691499965821404,202698168,125655067/11939065745546055:-4535575136201270/2640958330485117 -qmulz:52009618/27516701583858369,702923265,-368845548/80831610779378597:12186256831987590/9172233861286123 -qmulz:375702102/3296151167632583,-434951925,-521756507/7691136311577133:-163412352491446350/3296151167632583 -qmulz:-384209743/6191488089335748,227570856,78931552/6926107452102541:-7286245008170834/515957340777979 -qmulz:113980250/183755547250927,437813246,556573714/9774511713479:49902063232391500/183755547250927 -qmulz:-472996853/423024426303975,-368827764,986763127/429084644953681:58151457223675564/141008142101325 -qmulz:-23658043/2283802118115,740396103,17376279/1797109931431:-5838774280602143/761267372705 -qmulz:4078811/40918803323,-845485209,=1:-3448574370806499/40918803323 -qmulz:154841851/4593031526275,12617826,-972933704/2547790338703:1953767533435926/4593031526275 -qmulz:735542560/7626156428987,778206922,-293104268/2631653460189:572404311617600320/7626156428987 -qmulz:-457656798/567001008887,493454600,-366343915/981801223003:-225832852194370800/567001008887 -qmulz:-945200662/928772265773,975297818,34885945/9938748237:-83804740292795956/84433842343 -qmulz:104875267/28207551782,954147586,=1:50033241419577731/14103775891 -qmulz:609918635/17074425662,-224065632,-400611797/35807663040:-9761557458560880/1219601833 -qmulz:-864006772/2174255357,384303177,=1:-332040547429114644/2174255357 -qmulz:-109536551/482079758,63549943,-10441546/8480554803:-6961041572466593/482079758 -qmulz:512697337/200332783,429480437,6412690/26797243:220193476343496269/200332783 -qmulz:-789241399/555269030,318371906,755945889/20176822:-125636144246868247/277634515 -qmulz:-462528503/5399724,117919312,195760496/23231881:-13635260713537484/1349931 -qmulz:-768369531/84617918,630525111,869606481/10643699:-484476283822792941/84617918 -qmulz:881987483/8541727,899430760,=1:793286672145177080/8541727 -qmulz:435026027/9075006,667517326,-976648275/5125397:145193705141721901/4537503 -qmulz:-382388178/685121,90758124,-658289938/398425:-34704833675058072/685121 -qmulz:215727059/244359,-726765650,401344067/859586:-156783016256723350/244359 -qmulz:300168110/44829,-382517050,-848645422/63521:-114819419941275500/44829 -qmulz:240997441/17745,-160000865,=1:-7711959804557293/3549 -qmulz:497024455/1871,-967339431,891801689/2782:-480791353492785105/1871 -qmulz:159802693/5520,17435365,=1:557243656087589/1104 -qmulz:-503495399/548,350245727,=1:-176347112063910073/548 -qmulz:-10883201/487,215755629,756773575/299:-2348111877288429/487 -qmulz:366108695/3,980458645,-27946686:358954435022418275/3 -qmulz:890190708/5,-785135991,-213354065/14:-698920763704571628/5 -qmulz:10221149,961494206,348141954:9827575542162694 -qmulz:-44158489/8,918744696,-871474083/8:-5071297194015543 -qmulz:-2894598477/3168041449931268761,-3793825512,=1:10981601549038945224/3168041449931268761 -qmulz:-165305510/4444729020519250969,9650534485,2185861399/5133889833495479703:-1595286524815512350/4444729020519250969 -qmulz:-6642522053/7993901796893679282,2810456878,=1:-252277321501628791/108025699958022693 -qmulz:4075114142/2324601722262376857,7319061324,224603716/1867619918809913859:9942003435865881336/774867240754125619 -qmulz:174975715/284043772444194,6235601626,2532940399/455179300056502113:545539426482256295/142021886222097 -qmulz:9511153214/515183582083251763,8998409775,1916260097/49971689447357059:85585254052380266850/515183582083251763 -qmulz:9561479651/87091900188234189,-9070226563,-31724150/149115720086953:-86724786712084169513/87091900188234189 -qmulz:257684521/4786959313773388,7785131961,6853032479/92097657977675380:2006108000292075681/4786959313773388 -qmulz:-4787662186/3232352240839707,-4724762630,=1:22620567381476909180/3232352240839707 -qmulz:4815469783/4351554535472742,-3809867113,7127662378/9454193567725933:-1411253843068995883/334734964267134 -qmulz:-3134766359/276266993500284,-5054392552,-1084728996/261757765208747:3961084934297439542/69066748375071 -qmulz:887520891/240452975602433,8724686676,990724100/235457211073037:7743341692379348316/240452975602433 -qmulz:7273936918/90562759963967,3897937854,=1:1667844356487076116/5327221174351 -qmulz:-119387249/2501098635936,9536603772,7558585050/14605366326499:-94879074095175269/208424886328 -qmulz:1526390275/2230210659804,4788548573,9380637171/7768045927396:7309193973192327575/2230210659804 -qmulz:3728595181/1876804971571,9224083630,=1:34392873771958987030/1876804971571 -qmulz:4093958623/457077991802,1483219640,9490772153/415966894045:3036119917490477860/228538995901 -qmulz:2144803614/309751929683,2542484861,3609691879/286244057812:779018674059012522/44250275669 -qmulz:3560518143/86265554695,4399548470,-9491920365/12079543438:3132934429688578242/17253110939 -qmulz:-2249859505/6734537978,1110886234,=1:-1249668976269277085/3367268989 -qmulz:3262790941/1025060151,5749937770,122130955/253972334:18760844867269741570/1025060151 -qmulz:-4710833503/6631683846,-3411512444,=1:8035533558548305666/3315841923 -qmulz:-9032027690/956483333,9063301527,=1:-81859990354683282630/956483333 -qmulz:-266187969/112068472,6338182319,-7905751808/945700693:-1687147878646320111/112068472 -qmulz:4156902964/946699,6705660672,=1:27874780723015031808/946699 -qmulz:2651274071/91222015,-5032057829,-2464896493/13519125:-13341364445800251859/91222015 -qmulz:318661412/1743,370464187,-232620732/1501523:118052640924852044/1743 -qmulz:899914724/512321,5465209352,=1:4918222365607298848/512321 -qmulz:3131360803/353764,-2320875649,=1:-7267499035915786147/353764 -qmulz:6443807425/863022,84008208,110674088/12311:90222119078557400/143837 -qmulz:-3068580532/73491,8795547050,=1:-26989844445920030600/73491 -qmulz:696531051/11483,376305292,=1:262108320533621892/11483 -qmulz:9419114609/574,7568524581,1555156138/2439:71288800449472703829/574 -qmulz:6076760418/5639,3137249772,1485476093/6609:19064315235869124696/5639 -qmulz:3390029532/479,4688058595,=1:15892657084796427540/479 -qmulz:1638519591/92,3009448307,2877648480/173:4931040009121282437/92 -qmulz:516117057/8,8303497266,-9173174800/47:2142788285867733081/4 -qmulz:927642007/6,-2879248175,-3421337621/43:-2670911555708087225/6 -qmulz:2611149335/3,7293202790,1060208041/2:19043641615128644650/3 -qmulz:-4787695612/3,-5387504428,-8004477624:25793731309566169936/3 -qmulz:1237812305/631690268983111653,77842709902,51259842584/29388862631694313447:96354664171240944110/631690268983111653 -qmulz:5976818503/79879634485079515072,-2490419914,82254088463/65538055479070681595:-7442393911117434371/39939817242539757536 -qmulz:-17969301863/1215487409718772165,14907617468,39498072491/8401888749150831870:-267879478340623742884/1215487409718772165 -qmulz:62921948190/5765043819856032331,-39453740869,-1868833945/7119552876031525503:-2482506238860903577110/5765043819856032331 -qmulz:-15610313710/78152311777353923,92919343081,-49673392741/841288090131527967:-1450500095221527940510/78152311777353923 -qmulz:44648474983/288454490007214845,47861920531,11617817909/33454275945577992:2136961761466687575973/288454490007214845 -qmulz:-13826523213/28036931389675264,-88421093554,=1:611278151271612834501/14018465694837632 -qmulz:40547667371/53177876256600915,49909556335,9076503202/2880089154076223:404743217781153169057/10635575251320183 -qmulz:76668523587/5077067067443611,85512171223,-39577211701/3956684840165784:6556091916386158136901/5077067067443611 -qmulz:-80228153797/602596042922155,22421445270,24751353255/2432806998119141:-359766231894515638038/120519208584431 -qmulz:47062274633/166002450060687,86101072410,82448790716/626049533394637:1350704105318413058510/55334150020229 -qmulz:8841820465/21786582003342,53402955559,268303508/5469783598063:472179345353051714935/21786582003342 -qmulz:23713841211/21537439736900,-82708390631,-1600362701/2915831487207:-1961333642240894094141/21537439736900 -qmulz:56721050875/77459601877944,59578456497,32477270555/35734686972211:1126450887340103761625/25819867292648 -qmulz:8928356444/2663712341261,-3648881786,-28952940554/2770799359187:-32578517207427328984/2663712341261 -qmulz:18227203995/5958086852101,483256270,-90041196376/5523075085255:8808410615152798650/5958086852101 -qmulz:59211032239/570207052514,26723970763,-9542991461/881963470657:1582353894402086428357/570207052514 -qmulz:1776113132/40223369371,41111960068,44832213814/478452935141:73019492159034412976/40223369371 -qmulz:-15285833580/2156369081,34934254636,-90933367585/31370134781:-533999202607239476880/2156369081 -qmulz:91516992782/93740428151,-65378876169,-67776976360/2244262427:-5983278138453644812158/93740428151 -qmulz:72779505484/1621504307,-52125941410,5672754165/602683781:-3793700238707757692440/1621504307 -qmulz:11740145697/1515672656,87909174824,-48408939345/3034260044:129008315067100541541/189459082 -qmulz:79961831072/773650431,-41330850050,-74967019083/977759203:-3304890449760262753600/773650431 -qmulz:6884563893/49029205,40219988393,-23059747673/353633216:276897079867326893949/49029205 -qmulz:30501090798/47322791,28853148760,=1:880052510136961110480/47322791 -qmulz:-18451888579/10709259,11599135921,=1:-214025963626968546259/10709259 -qmulz:8926155052/4290885,75202195645,=1:134253291715621829708/858177 -qmulz:88656392423/4830649,47619732899,36734598432/8696993:4221793726972187424277/4830649 -qmulz:34368523182/239537,-72478917605,-71850709745/331701:-2490993359913710419110/239537 -qmulz:-7591160179/904815,-41442417941,84402195575/876773:314596032795194371439/904815 -qmulz:78012684294/13529,-92124971658,32782603063/49402:-7186916329549251739452/13529 -qmulz:-77476701398/48451,84100140997,84733570363/49436:-6515801511554267013806/48451 -qmulz:9785922698/313,99923625908,60518701590/3703:977844878839558059784/313 -qmulz:13272361617/790,77228020379,-14315026641/2773:1024998213435133392843/790 -qmulz:1977713551/2,92621074895,=1:183177954928027402145/2 -qmulz:-8125102987/193,40843068681,=1:-331854139338239250147/193 -qmulz:87788302687/10,73718602709,708527495/34:6471631008280390179083/10 -qmulz:-17073092947/16,82903130217,60258726452/11:-1415412847792085279499/16 -qmulz:-6943963154/5,67700561949,=1:-470110207678950427146/5 -qmulz:-86521942923/5,52316853740,74747686643/9:-905311166640643816404 -qmulz:-745167514955/75202612388076732241,992589631308,139312742559/34578187132141654765:-739645548931882026211140/75202612388076732241 -qmulz:27932224059/2111108032966941227,-779689866177,8856089863/3931386633265401342:-21778472038587689752443/2111108032966941227 -qmulz:140525061611/3407680707744152962,127477722944,169676929421/277484368047590363:8956907435367794151392/1703840353872076481 -qmulz:341584864563/1420632012141667135,55437156492,=1:18936493592077656192996/1420632012141667135 -qmulz:-999027740190/525162199932669211,400522397538,500019558441/907820980265694569:-400132985707868959652220/525162199932669211 -qmulz:-339453308372/462366486602163829,952918460297,-90778090002/71370169251458863:-323471323956568979706484/462366486602163829 -qmulz:-271650817828/7565295758442605,768776296466,16994985550/10329125142493:-208838709661769886195848/7565295758442605 -qmulz:225422010721/10111430949630829,746974776114,-168224996466/53086145704663327:24054936569926668959742/1444490135661547 -qmulz:349236361403/2805449982440828,193882264108,-1449692674/936603179147519:16927684114413345855881/701362495610207 -qmulz:-197651146031/4351789591405316,-808105729932,58049683298/4854765675888749:39930755908819394924973/1087947397851329 -qmulz:271384975109/452447489612746,354118404591,-732534914633/555297542185947:96102414415567326325419/452447489612746 -qmulz:88111433664/28798189724783,207968836059,-261683363229/138358019377265:18324432302591869690176/28798189724783 -qmulz:67604819101/43380824369659,884187650678,50163356115/7011438059051:59775346175424370000478/43380824369659 -qmulz:979853557479/27364774048301,185814534089,376723696931/23421481855538:182071032258409566401631/27364774048301 -qmulz:-129581462881/1185999957929,-649615443760,=1:84178119512510783072560/1185999957929 -qmulz:631378962263/4697504353981,356337990468,353616095948/3759830408947:224984310636568625709084/4697504353981 -qmulz:419208380799/252872515073,306292997739,313894879763/25683953874:128400591632237958013461/252872515073 -qmulz:59754817607/502657252480,-190176172167,111686020133/78750756618:-11363942481036514944369/502657252480 -qmulz:639847514587/81987662799,449279495706,76285885523/11877258141:95823456227461612954474/27329220933 -qmulz:699678831667/15232840363,-328557525533,412748319154/35151716111:-229884745600329961453511/15232840363 -qmulz:887054398617/2906111779,840756960767,-7837140210/882145159:745797160216227848059239/2906111779 -qmulz:-455315204427/506702237,-175722319764,101353072197/4927140688:80009043945732322395228/506702237 -qmulz:18629315637/336690086,163583642465,-428561144079/630858776:70870960663503295935/7830002 -qmulz:26610877449/497721338,494401478093,656965629789/571606768:13156457144137281224757/497721338 -qmulz:308447566844/63211619,626332529102,389974552910/53161277:193190744636760720294088/63211619 -qmulz:432089290445/43417161,381832677443,-993787713167/43836749:164985810665060426932135/43417161 -qmulz:259672928141/1911242,33898844506,477785491015/5001727:4401306106734735321673/955621 -qmulz:72860807605/947904,836184405122,132459766271/26668:30462535531947709276405/473952 -qmulz:8111715299/126471,73018318330,-966100886117/960478:592303809904713130670/126471 -qmulz:59136150795/124661,-183025911988,998950795145/902212:-10823447930714766230460/124661 -qmulz:-52072229129/344,24297646661,-819340099671/44129:-1265232624227073788269/344 -qmulz:462624622089/91900,463652425988,182901467689/69000:53624257088336635612233/22975 -qmulz:-12928412440/521,528884765734,937253218809/8798:-6837640384641931330960/521 -qmulz:27765652319/2634,-126780088278,=1:-586688642016512569447/439 -qmulz:-967104161735/274,750172960968,-709612304/49:-362747696286610257079740/137 -qmulz:66752761957/243,243055541185,151935508582/7:16224628683052114699045/243 -qmulz:751278773537/66,713221018437,659908640320/37:178609270664053141567223/22 -qmulz:-586344498928,-568318448089,521816699255/14:333230395676283284148592 -qmulz:161194888214,484546649439,184699645268:78106442990787850811946 -qmulz:793578182621/4,-808113765664,=1:-160325363376662447831336 -qmulz:561935468909/32803049500299178880,2101294187063,-3358814917919/26371576797557955745:1180791734323002866524267/32803049500299178880 -qmulz:-5868873358301/6442991402115355335,2339686618745,-1536954575653/43556673213605193423:-88589190087263739148079/41567686465260357 -qmulz:-7979894125724/9674261753856826205,-1852913383532,3286095553311/7067777496639467900:14786052624722387839177168/9674261753856826205 -qmulz:515507640950/169593134508951507,130457186386,9764491091569/7319120645126181160:67251676398821316106700/169593134508951507 -qmulz:-9365485392019/329669514832033195,2420807490629,=1:-22672037190376071733889951/329669514832033195 -qmulz:1709304465717/260423845962574106,2761288775682,-9625873444279/32296180368255957:2359941617703735036146997/130211922981287053 -qmulz:215090735926/98137745784701417,1193894989684,=1:256795751949495738187384/98137745784701417 -qmulz:2462657897367/2405626367061101,-6540272761466,956548940780/2817455913381063:-16106454366958522300460022/2405626367061101 -qmulz:242208253035/596343213619654,5151615220303,=1:1247763722818106293369605/596343213619654 -qmulz:228002384282/59111672575229,4689640217907,8887530790232/4265423449943033:1069249151107554031737774/59111672575229 -qmulz:1065463662219/36125337508585,-1135495312868,5987819337289/651384630027642:-1209828994480848476134092/36125337508585 -qmulz:6023110141478/670453839669919,5713937267309,1998947610187/134406089553918:34415673502497927694342702/670453839669919 -qmulz:-9838734646098/73658633070811,3898971866431,=1:-38360949586416063311336238/73658633070811 -qmulz:-2320378876107/3544145932211,-9742994143220,8635863424885/42773859269883:22607437799961906994044540/3544145932211 -qmulz:1282067863135/7152781512234,-430962905775,4287050590505/9492196607247:-184174563899134867034875/2384260504078 -qmulz:2972203649953/4110957928466,-1076925462656,6468360579859/5380802762138:-1600420895416743198827584/2055478964233 -qmulz:7745401204821/811506016039,-7138418453884,52955801256/2587064107:-55289914893229593626974764/811506016039 -qmulz:-4394166471713/351201211519,1682246763941,2661332639201/255305706936:-7392072327257235964900933/351201211519 -qmulz:242477453617/2530363014,7850634381002,-728870121674/37749087679:951800916991718980492117/1265181507 -qmulz:-4495597725068/18530739005,-295776565976,2058781523476/32738808743:1329692457130130811086368/18530739005 -qmulz:-627713346013/6292366913,8991851477846,-476950295807/2244817575:-5644305178010651601927998/6292366913 -qmulz:-4583081886485/1415176577,769919000693,-869103658209/9579044:-3528601826136720462334105/1415176577 -qmulz:-1182275059809/252123671,-904658392050,-8972966355829/539780886:1069555054567627520118450/252123671 -qmulz:4559690190362/241596515,1670678554004,7140063697224/280561433:7617776613940209657309448/241596515 -qmulz:1432554287/2209567,7757230863986,=1:11112654329451858207982/2209567 -qmulz:1106108950528/6849831,-6298163069823,=1:-2322151514472041772238848/2283277 -qmulz:5088803191704/8136929,-8625507078,-35324495791/106583:-43893507948591842880912/8136929 -qmulz:7539081819837/6889238,7284561918683,9960043148827/9194287:54918908326619940050314671/6889238 -qmulz:391441941525/125384,7929833985877,3351067478098/711859:3104069611402622309842425/125384 -qmulz:9009538508471/742821,-4924002212923,9527002197826/376781:-44362987553126188781170733/742821 -qmulz:-9259291631862/58961,4703549016027,9448940593567/14975:-43551532044151545221852274/58961 -qmulz:3476127453492/36715,3322870685572,308545119513/7234:11550722014520612585417424/36715 -qmulz:-646877695651/729,2845152282117,=1:-613488517344009605324389/243 -qmulz:-2520612775732/3305,5509026264687,4380524270328/7049:-13886121984613190802175884/3305 -qmulz:1963077614302/267,-825362596397,=1:-1620250836669127260869894/267 -qmulz:7889439316771/713,5863316933906,=1:46258283145047187204337526/713 -qmulz:8748734240327/23,6371236745698,-7157017762004/53:55740257070317659715363246/23 -qmulz:-1296384169421/6,2899800596916,464588384950:-626542598053244779017606 -qmulz:-5167288008794/7,-3300699869865,1931056190640:17055666858181330775592810/7 -qmulz:6696697914261/4,4069021265747,5631057961007/6:27249006223411589102117967/4 -qmulz:23865486379535/26918789012953275954,94873123748548,=1:1132096621302455418116582590/13459394506476637977 -qmulz:3092832570307/2006024783468333419,-69091492632924,9214275673435/28417924226192114256:-213688418746233489772987668/2006024783468333419 -qmulz:99742200190859/1397162492835988177,13135144429552,=1:1310128205228222025079865168/1397162492835988177 -qmulz:16157052816541/834217349232726593,19133269076621,18278786726642/1173386622722504913:309137239024056146385187961/834217349232726593 -qmulz:-15154486378645/471850975689269841,83584432024123,14569830702843/38977738569109946:-1266679136576350929552053335/471850975689269841 -qmulz:-70285613046769/438550102087486245,58305445024728,=1:-1366011315842564998875167944/146183367362495415 -qmulz:5620626946546/16483309748982467,18213910616022,=1:102373596810393507725160012/16483309748982467 -qmulz:-87110361266406/28658861993511733,50462053430058,8350373847003/21134055318706744:-191120334979871062479392676/1246037477978771 -qmulz:42263850161473/2487221560052869,70196784710879,=1:2966786390837768841769764767/2487221560052869 -qmulz:2305968062717/1295096854935771,89753857010368,-1448986636213/88097527127243:206969527771576926343249856/1295096854935771 -qmulz:54792800436741/962961846570596,81148189103692,=1:1111584132840379068733886943/240740461642649 -qmulz:118089073191/117603203952236,-88682518170219,8843505968368/446344763404861:-10472436378965178887498829/117603203952236 -qmulz:4370360581061/33937836375304,24828310773456,=1:13563583837330531311889602/4242229546913 -qmulz:44999946775270/77691532844719,19675574610517,90987690124989/70801686470002:885399810246118760377514590/77691532844719 -qmulz:7388469159437/80827214538,12962289697895,-39739510822103/1124530750930:95771477668585155318285115/80827214538 -qmulz:-4438357163019/354300196838,2800216938058,48604674898545/5905387400293:-6214181452518427865638551/177150098419 -qmulz:-1115976535244/90660833629,-84198411580247,81927230020875/605448344659:93963451628372333929725268/90660833629 -qmulz:-14354364205035/137076592739,-60231717901669,29779963372229/288489332426:864588015455483313484703415/137076592739 -qmulz:28410403793917/8317372959,94611442054559,=1:2687949272294801418906317603/8317372959 -qmulz:-26238968575867/81875709363,-41798837075253,94070973760679/3467355102:365586124175115989639573117/27291903121 -qmulz:49964458440323/3849731307,3475521417184,-94000433574238/5577825597:173652545407342463250710432/3849731307 -qmulz:63054816328381/8314862510,31407375891502,=1:990193159097540038129659131/4157431255 -qmulz:15690728254037/869383378,22615130488585,1475502145196/107482041:354847866925974243808667645/869383378 -qmulz:74263848858589/607431119,87079437180738,43892391010643/973943857:6466854161481322249396658682/607431119 -qmulz:23023853281324/23656491,66652947880105,-31945062874493/5458316:1534607692759273053987659020/23656491 -qmulz:3506276105087/11638761,41170764577395,440230047929/1761776:48118689355294122721569455/3879587 -qmulz:-93363094505152/3545929,76526518299725,24762745460028/9476321:-7144752560167469121292683200/3545929 -qmulz:-2458728669037/893246,74281956367289,10383331533388/299139:-182639175712408990493930693/893246 -qmulz:-5121601980421/33999,20660659077801,8112621331106/52165:-35271890816556237705911407/11333 -qmulz:25877846847031/404920,75489603155313,-38374243475879/901678:1953508388996337946045925703/404920 -qmulz:66471726351654/51695,28218300697455,-2687434510961/88806:375143832413983194158568114/10339 -qmulz:-3436425362877/67400,87107727529435,8150807016773/30347:-59867840836945902514756899/13480 -qmulz:64658311574074/1471,54380155658036,79155462122195/5662:3516129047983934816427358664/1471 -qmulz:9680963797950/229,-14929130816650,28202159724489/2789:-144528374970848369095867500/229 -qmulz:816481395175/17,-99383084980450,71300027130653/105:-81144439881633403599328750/17 -qmulz:638399693884/125,-59707159904100,34949260444218/785:-1524681304218419151860976/5 -qmulz:38337688583813/25,46682828260030,66019999840333/85:357942346408931005122578878/5 -qmulz:-4362866892015/19,43253153678106,=1:-188707752157445489971723590/19 -qmulz:80038414225429,58791342870753,-71193599831017/3:4705565853558550737752978037 -qmulz:-8931381288/7,27056505490713,37222461138097/2:-241651966858423345978344/7 -qmulz:-103292201629591/24903444183827008678,811061948698381,=1:-83776374339042161969543392171/24903444183827008678 -qmulz:-108233246344215/10921524390718392772,336628265620018,=1:-18217184999638624584411247935/5460762195359196386 -qmulz:-242546210473995/3227191274694658997,117559616638474,-200514522282738/1463600762469566069:-28513639520437479372093483630/3227191274694658997 -qmulz:346557608752347/7091232122596884343,-890608472719639,764299440148772/741441034955506561:-308647142640297959088714242733/7091232122596884343 -qmulz:752322662466430/796990587047794081,213680028681761,572521425296816/937517719580878925:160756328093765562145815783230/796990587047794081 -qmulz:34927180981080/55520878875379453,-865283782342577,989438973302993/881309897241401311:-30221923265872621723515443160/55520878875379453 -qmulz:274082612801409/53154246781994009,971799838064389,448110955601401/45559104250121531:266353438736673897727411924101/53154246781994009 -qmulz:-124555667888037/14097174308038652,829678276357628,125094809716795/35133120466800502:-25835282960979923394918724059/3524293577009663 -qmulz:505323718065074/2128598622243549,-277690520595781,914993855209755/9726536089876778:-140323606338886062971007852794/2128598622243549 -qmulz:-902895852073028/9135983164951921,833620594767907,842531169585879/9544376880879779:-752672577218593777816474712396/9135983164951921 -qmulz:811564634419288/453082972179167,60327882243393,51265177937813/73949934423745:48959975698149096053229764184/453082972179167 -qmulz:250179460716837/290886574637551,340496244659932,9798345091684/451481890082625:85185166865129977930011675084/290886574637551 -qmulz:-582653512523981/99348978999674,379317852190649,460594514303380/74887958609607:-221010878941933880917996453669/99348978999674 -qmulz:863679006697/1635434858422,924063163904185,-729545153826413/62812666295337:798093955526053605281326945/1635434858422 -qmulz:304709172702197/5457282848355,882318039223156,=1:268850399791912468175214473732/5457282848355 -qmulz:463908939133169/6691921051406,-552915136065320,-601471563981221/8781918044231:-128251137101367195825081299540/3345960525703 -qmulz:-752373946530613/846634747661,284479627123896,50536119796472/513050133075:-214035059766762852800707828248/846634747661 -qmulz:328225703018604/433509767335,197654409561196,-3782967558290/93869557971:64875257532950641256264490384/433509767335 -qmulz:184785598182871/11617410807,895346115182373,=1:55149022491561504431189910961/3872470269 -qmulz:192803285928028/90953336419,332075196148197,=1:64025188992566808558163965516/90953336419 -qmulz:-399599786249880/7362537623,-981001390019795,957969995178032/4517518129:392007945762745245102016374600/7362537623 -qmulz:82589051366095/1626512642,398617970248743,137619262887145/9949579469:32921480020321964131106568585/1626512642 -qmulz:-907650909511793/772837941,990867777654644,=1:-899362039594166707200599216692/772837941 -qmulz:-358503288380739/383532866,697173774576334,-51289684132425/110529764:-124969545379213895872305415413/191766433 -qmulz:275838241610846/67525047,469977259127432,28053789338265/5265202:129637700754795766556067327472/67525047 -qmulz:53930640918734/7001103,693055155395270,=1:37376908722499699209717988180/7001103 -qmulz:-681238687980343/5030205,-582879269862290,-990800444969909/4579368:79415981810385344493567393094/1006041 -qmulz:520602003913013/4593382,308897366106910,-466584092376547/2221166:80406293899354484531049109915/2296691 -qmulz:-405474039012091/243080,-154710965359365,-172296604865771/908379:12546256000744284661479016443/48616 -qmulz:588023971610839/411117,884974921870604,55791283769330/230429:520386468334344508549001876756/411117 -qmulz:540840030461611/7002,-380104715492010,-205957826883233/40847:-11420880328072259499071234895/389 -qmulz:-753807927054263/53929,915393419376816,35196013565764/3461:-690030815899551293936076166608/53929 -qmulz:237522311694659/6300,580421631136666,118641235907757/8270:68931543792582787509445633447/3150 -qmulz:-703556714392601/3647,26296886058971,559465758581845/6674:-18501350754406230744932073571/3647 -qmulz:240687231749867/206,-784485320110706,=1:-94407800022927047065270388051/103 -qmulz:-93887798635737/127,-575220251243142,-652322307871805/572:54006163119914161845877365654/127 -qmulz:-396521866192559/70,394474102270905,182300183108827/15:-31283521439418725353582639179/14 -qmulz:58431834428363/5,-485860188905084,792920518125413/98:-28389702113435038144004497492/5 -qmulz:94346378811421/7,897687299600400,=1:84693546022300913680256168400/7 -qmulz:606162442576909/6,95792984784316,-12377831317439/2:29033054819296832459303479622/3 -qmulz:-3880722889823905/5802853163792252251,6995189470105129,723671795237053/94804862094718615043:-27146391895292126926964647308745/5802853163792252251 -qmulz:-711255950576391/38557928701418837140,-8914163822970630,5504820920293812/83891195583846813871:634025206350065106283436439633/3855792870141883714 -qmulz:471011076275411/1268773388114902240,4280756402169772,-3446853649893419/6906782713522266814:504070920064710111468162769073/317193347028725560 -qmulz:7695205331550676/3582847162742099607,-144661167043645,1213893998753526/600058503660029491:-1113197383902599946494421254020/3582847162742099607 -qmulz:-3199289405937703/365472303862404370,5173907772378010,=1:-1655282832346770788786622711103/36547230386240437 -qmulz:2758027287264869/155052934325555752,-7564742138218573,-6257710286765285/771615064482957592:-20863765238329215589609266211937/155052934325555752 -qmulz:3955143821106077/91399737124804255,-7263645778507290,7804375725987635/91077647617338438:-5745752743913269680040361560266/18279947424960851 -qmulz:6713507007062553/74150811777510379,6266298995262737,528130351899129/2709757324123282:42068842213045420456548828987561/74150811777510379 -qmulz:-6877567017527963/1489247567416462,-4521311499760591,-115573898280262/923926913012529:31095622846723329241375147906133/1489247567416462 -qmulz:-1586799572294172/4730804077270513,2121219051102928,6786948620547679/9912102833874252:-3365949483032375529047866535616/4730804077270513 -qmulz:-9501087403079799/923245070947319,5606803416408299,1323793614080105/21826353763174:-53270729311181670439383462851901/923245070947319 -qmulz:1083936794899597/58977209646283,-8747830330029136,-4634270584400088/47878110359797:-9482095170257265523833204658192/58977209646283 -qmulz:-3719900694014304/36234265212301,-1494306375099641,-1975217081214247/65326075776641:5558671321803153433440279264864/36234265212301 -qmulz:1103608308470404/8630287542765,4527264291311725,-6050102349432119/65604233367649:999265297306599031900300137380/1726057508553 -qmulz:185603093644419/1285147223476,7441353681336558,961853358112541/9035783508083:690569132079175618373558684901/642573611738 -qmulz:7656576001713938/5697164099281,387954634853982,4891764604516329/9388026384014:2970404146976692276584364201116/5697164099281 -qmulz:-8608538284429615/24304320924,-9300930568944394,1012277413814075/307338098963:40033708441789768251278470914155/12152160462 -qmulz:-2298250489792159/192401665676,4151647369458953,4637677731066783/854611972340:-9541525600303367226221251749527/192401665676 -qmulz:-4958597485118384/18914385675,-8391716685524037,=1:13870381750888490254448674198736/6304795225 -qmulz:-8775066120996947/26819677230,8537625341965974,-8617075263155655/41305030346:-12486371148675098768666305313563/4469946205 -qmulz:8632423322860386/9616021081,5042628174507057,-6506115385718735/7975459194:43530101062127611384934782744002/9616021081 -qmulz:-3848534615760728/9274753529,2104642248786963,5619621461116310/5343995473:-8099788548249129154859453789064/9274753529 -qmulz:271301194709322/33552569,1917863106025352,-3970383512818995/409886044:520318551953609085962402731344/33552569 -qmulz:225678582778501/66976167,5457450818595612,-1586701099858817/141482387:410543255441342622436562179204/22325389 -qmulz:-5691916212714825/75531979,-3677441922214847,186124889390004/78334747:20931691298371858008446792006775/75531979 -qmulz:9683640970785183/21432671,6061708788245552,3666308965635053/8459353:4515339351909479419918957481232/1648667 -qmulz:8423905758112927/2462761,-1402202086438487,4991587911230636/4020141:-11812018229987130827123385021449/2462761 -qmulz:110629337771891/244490,5329540769616160,1715961548659264/49589:58960356597093007948570735856/24449 -qmulz:2768082072858327/11996,8431038603161226,=1:11668903406493550143637918814451/5998 -qmulz:-5632710453612631/282213,8269803080914635,-1089107539381719/990995:-5175711807020645232938163194965/31357 -qmulz:513164615298521/2937,-761654779947971,6308090089559589/34312:-390854282142280204811013250891/2937 -qmulz:2399352646293603/26699,5936082314225321,246326307317325/1064:14242754809253178957252862921563/26699 -qmulz:1917463706144480/173,2784408494403777,-5268002443544296/9923:5339002231099637846089019700960/173 -qmulz:-299651250103083/304,8512720924447435,1696619119714772/2041:-2550847466789346268098564942105/304 -qmulz:567861836090453/137,1194683804539166,398775012895933/117:678415338793138672840757182198/137 -qmulz:5855010424286591/141,-3387352251576542,-6842084179082795/92:-19832982743711308513005380748322/141 -qmulz:1839091525348225/37,4835017725039396,3258229037788442/47:8892040123028407522020743672100/37 -qmulz:689624656142569/50,-1436205069429607,1650564655275659/9:-990442427155607164133701640383/50 -qmulz:887987723713419,-3871030680937173,=1:-3437427722790206595690596024487 -qmulz:-6321481694612935/6,9155176113205281,-2076666497659035/2:-19291426070194927792191164303245/2 -qmulz:47535841066367704/25874740830854221899,20217596491741418,386741628388289/10612132664990412300:961060453575373318717870874364272/25874740830854221899 -qmulz:80223166731461168/79315578551274076339,19941312492318563,-6517563635718293/15173501904275140121:1599755236915441531514785120061584/79315578551274076339 -qmulz:-94966952144940093/814524592733157116,-8833229520058195,55047972140476464/8182255352181738995:838864885116638749899220148712135/814524592733157116 -qmulz:19023061829222254/8275414709591200245,42825769994498364,40342865387732273/6423424085911584926:271559090163131188965234998464152/2758471569863733415 -qmulz:-45164511230863025/205230894764003516,95431251431037353,9088808827059225/537242774047899907:-4310105827032399655884245201572825/205230894764003516 -qmulz:78978348840218612/30892480489678495,22023635711834354,=1:1739390383979149957558284891796648/30892480489678495 -qmulz:-148958689172671/102037781856410,18768909665863199,97201659871254553/14233090955064268:-2795792181027256577300375434529/102037781856410 -qmulz:-13899781468245877/210298830514748,-40323281693369663,=1:560484803620357867773725936629451/210298830514748 -qmulz:88175738959378971/4244405961829309,49633440309199351,91798871890211817/4618870882937021:4376465276359879854575633196247821/4244405961829309 -qmulz:-196047733461491/273753721482047,-28937490043883541,-8575700230869559/2512020324451605:5673129335167829946904412219631/273753721482047 -qmulz:-19132451907214205/25824658302078,18312961377925295,-48090033092819861/431889830006992:-350371852841826885918246052815475/25824658302078 -qmulz:69382145113501751/380297809139977,2745327554581026,12801801952051298/753948686518799:190476714776035644694264522376526/380297809139977 -qmulz:1915274245412291/3788421267711,48395753953886595,6801592121612027/29575658734452:30897047045063015615882544379715/1262807089237 -qmulz:-41044766089612839/3600558205679,20994850850464225,-35435905322101302/25097049433951:-861728742243613295588013670184775/3600558205679 -qmulz:42597494937030563/139066009314,65616555969864940,11098362865249168/1843997772651:1397550455355852172511957881080610/69533004657 -qmulz:74024369507729486/8798209628891,-48540197369243101,=1:-3593157506038970019752620879776086/8798209628891 -qmulz:-78176595124115512/936929521175,19202167121582858,-99925056698963177/191994309327:-1501160044569585652613332671093296/936929521175 -qmulz:82802252720820771/664875719702,97327360089498817,-27164056917268865/462863761311:8058924666781006338043050273527907/664875719702 -qmulz:-79012216554892489/70097745469,18109121557124146,-26372881204544091/13780169332:-1430841834090364897003709055939394/70097745469 -qmulz:-70054799672271272/45482963493,7787932643225419,22281182451081849/9895333688:-545582061182298824047255613862968/45482963493 -qmulz:38317664305319638/2445394649,31654407463814347,-43227662278819145/8020766369:1212922958982242534681702525246386/2445394649 -qmulz:91685907685022135/618530726,-65256514026907419,84454182812530114/7990613223:-5983102720917385677413600610719565/618530726 -qmulz:-9319036791983210/326561129,48383470752719549,-21563116260711314/160888617:-450887344068437052714708646772290/326561129 -qmulz:-10319092612953469/85265494,-55462305741126344,942196671950729/100675391:286160334735311815060828261043668/42632747 -qmulz:24190194708441624/10753379,88757165826516370,33675430745281060/75133189:2147053123112872034250339425384880/10753379 -qmulz:-11468596832661746/1766525,56376469108104767,96014028182502185/4186386:-34029420792098057856142633744378/92975 -qmulz:-40039747951909081/6069939,-55718774097961657,-38493857988408833/3718928:2230965671071745008018063888107217/6069939 -qmulz:-37290139983929779/799087,11981560139468355,-11746974507966646/3218933:-446794054826648164153652712643545/799087 -qmulz:41894225992589221/366814,74540431481275887,-66854308231170017/431055:3122813682061684114056083763414027/366814 -qmulz:4577566343641272/36389,56889856836673491,=1:260417093950126892755280695920552/36389 -qmulz:88284563154658136/23691,63742381682886541,-30323740102908723/9056:5627468321311120786042358530547576/23691 -qmulz:-35239011702626416/1503,-96377199381969204,-61186369864860723/42751:1132079085629190722429226942964288/501 -qmulz:6204324005181542/3263,9242869672214658,5888893248603815/2661:57345758184085853188298483442636/3263 -qmulz:13023563233102553/2092,-18292948555955590,78624947167647851/9735:-119119686119189830929040691810635/1046 -qmulz:8668988413765031/12,87487198824736036,24608302652702701/174:189606378241098583267909375589279/3 -qmulz:-88604450607713147/253,-57197213811690954,-65274907046510203/195:220344682872903450186081523772706/11 -qmulz:33666476522294146/13,67039261791546104,=1:2256975733177017899095506408307184/13 -qmulz:-19043783688556820/29,-46927274804274505,15813572639616397/59:893672870466066256149790569874100/29 -qmulz:-94396743394101937/7,29360199416108739,=1:-2771507210282078156031800042527443/7 -qmulz:32378539760159572,74380454651945304,-15922753341092935/8:2408330508326757024819007256049888 -qmulz:-515970186826451384/25959078573251600323,-481657180143660888,855482564716356613/45268895425503079014:248520745225026458245551027714268992/25959078573251600323 -qmulz:-130967478747895251/18589421418033360838,147641505075499109,-55563959724327169/34005532994986142887:-19336235678282698393435282075831359/18589421418033360838 -qmulz:-860266011517441547/2553655932637699066,-299807248907353740,=1:128956993120773018576083159450917890/1276827966318849533 -qmulz:145239559532108435/807509961508023596,576064609905367511,401973572562411248/7006133492934535601:83667370204691447066198253378055285/807509961508023596 -qmulz:-203788329869580393/934147712305627115,977955003052547263,34371785465644891/24153024504080070:-199295816759679001811043775610614359/934147712305627115 -qmulz:-305697857540446967/103403955365462673,-568720855877228261,=1:173856747180237996116028815024134387/103403955365462673 -qmulz:226166409746766031/13002990761630932,789981405518661663,-113466700430225377/10401766053678468:178667258252859769569650633510369553/13002990761630932 -qmulz:3220063708444885/86759191901981914,-436274250898667434,=1:-702415441123888629947969466687545/43379595950990957 -qmulz:-67396315446702174/385366352018695,935081661792652149,-625977217802097815/9842734508647274:-63021058646604060109741387184071926/385366352018695 -qmulz:24319453787590069/147313838530763,247065078929176318,=1:6008487769545396355634476406785942/147313838530763 -qmulz:100629482109427385/145102206127588,493200833830327566,587248475105746167/360845897573321:24815272242141808191386545620397455/72551103063794 -qmulz:68125647111849775/751431108442761,573247979073143838,74386340727896222/930067472967985:4339209947768671307372114758104050/83492345382529 -qmulz:315260234123867071/28724643212088,340944306756538261,-53419962261027213/66345800395925:107486181971265805844870978489503531/28724643212088 -qmulz:-236430702618704929/20104762237425,598324387971999776,114120042986736600/9261982109063:-141462255442126511362707327398095904/20104762237425 -qmulz:40711881042093025/722627757269,-916183636373594020,59862621134038918/36564773153:-37299559216753971995016222423710500/722627757269 -qmulz:-520309382707815761/931737166517,259750055972789770,-130681632611383930/845007490973:-135150391281522837582794926345564970/931737166517 -qmulz:-744723510370875375/104328014528,392776247476475915,645297290772722121/747416253776:-292509705810980823923192458654093125/104328014528 -qmulz:150326873930054465/220440980183,184204467758877126,446972731209163483/312751250617:27690881802141504054899212422667590/220440980183 -qmulz:115421167528373279/5250405410,771027268136349173,=1:88992867484509542530759922626948267/5250405410 -qmulz:84701761403492795/44355610023,965802039756702720,=1:27268377978159632125207673492300800/14785203341 -qmulz:894229992015313913/3163831833,-785572023936143576,681929403708376856/586412675:-702482064691871660107123412278372888/3163831833 -qmulz:74634858785325581/142443768,427912086580428045,263236478364528529/7486986306:10645719384821420242829855889439715/47481256 -qmulz:-332428641831574483/344279073,908684289900488822,-638499266082892652/390482433:-302072684345308192917372015601929026/344279073 -qmulz:415890959805425615/192542692,57300089077177939,200778229355831075/85157704:23830589043243917548894324983507485/192542692 -qmulz:806988421881608649/16389833,666714975759989998,994687425328887678/8586277:538031266133389292509645688390292702/16389833 -qmulz:99978136901356657/62362649,-421321213914285499,477860583712193259/43057685:-42122910004168208858812125922216843/62362649 -qmulz:134226773204000444/2213319,457929073299284411,=1:61466341865261143971298267726278484/2213319 -qmulz:203692403587646607/2530234,198709333320751525,654497348349770852/9852495:40475581719402713398336251356325675/2530234 -qmulz:1932413671793631/11008,605844360169614539,271988563133914698/256283:1170741924570827879369734025201109/11008 -qmulz:78300870419392545/300541,9938443225300603,474105168486707610/456971:778188755154752224021438282204635/300541 -qmulz:731791251673481239/82178,-375066073302435963,897701210637687185/8253:-16145298308367486968573476887023421/4834 -qmulz:-244865844794445459/20764,633837473482998794,-572503688932727221/18042:-77602574203395710948196720797888223/10382 -qmulz:-871079916851090199/6190,-933271236207286315,165562923533871377/1253:162590766166991424800556971016665337/1238 -qmulz:278477012608289079/6904,166601452640247459,=1:46394674827457467509510753167200261/6904 -qmulz:50351542334760530/697,74118063280217581,=1:3731958801024335445119077930877930/697 -qmulz:716113366657554965/773,292433182475186613,55790708408336567/73:209415310824688987980879304679683545/773 -qmulz:266171451721629402,838958222079312932,186531239281784779/61:223306727904647880295582119690026664 -qmulz:-191048663820313019/17,-335221912735777740,-104282880591219422/9:64043698511459908763402007212397060/17 -qmulz:918486165864351700,-754751323324354742,107963234237522909/3:-693228649141232227471800102650761400 -qmulz:-263050925547501061/9,429366864986261421,-369906620681745801/4:-37648450411354997741362101140289227/3 -qmulz:-8908762588791502798/9682457258957956871,6517968147068840217,=1:-58067030783541555611439264126370427166/9682457258957956871 -qmulz:7658247927733463351/71097873025711495885,2645904249530727710,-526743598589435636/3308522377463446025:4052598147189972001038980978729031242/14219574605142299177 -qmulz:35178382688557660/101323881670407613,7331418798392863213,232580837460702659/1407098737763013928:257907456139949700482063020643361580/101323881670407613 -qmulz:1263699762126537691/454699906557876874,-4542833552105116827,-2210388710075629538/661648401890741827:-5740777679175690401542804846573826457/454699906557876874 -qmulz:-1832647602190411445/226947754154888126,5643404261053171972,-1097284930177831457/619682865758859799:-5171185643605123184522851420511009770/113473877077444063 -qmulz:1823011844211832737/592442421313405007,-1035458481118632295,-6389536796987914382/963103956263803057:-1887653075268861046971124680746441415/592442421313405007 -qmulz:3241180647893831993/47706456259746618,401191978478284716,8203697741103525736/82629569130745973:216722612789009192825658264487286498/7951076043291103 -qmulz:669385746027781985/4358673572763459,-3232260578078726488,3369728187950184564/4211286946970669:-2163629158413418191796114556108718680/4358673572763459 -qmulz:-8416424642111725238/6365835551441079,4033684793967464839,623945245518632503/408732809111644:-4849886299779875487264451230199129526/909405078777297 -qmulz:1670670426691770676/933711771783465,4268278044364566390,-4259333158202693983/1474131926823072:475392393441177774546174414803811976/62247451452231 -qmulz:-2026621003312993155/235607922312922,-6449641809771356053,4984273563952773559/458950128766224:13070979555528254543461227718656817215/235607922312922 -qmulz:2110680248476630645/95785011231043,4324730695176379682,-1722968689643087720/615704293887179:9128123658289392651639137372596554890/95785011231043 -qmulz:-641839465597711103/9456066925611,1548277416348552437,-2507922761391944404/21340298450009:-993745549506159751964209714572608011/9456066925611 -qmulz:2741589907602153339/57948673895524,1590482362679123180,-2499147223466166660/93552475783027:1090112598435077963801396817107324505/14487168473881 -qmulz:1105127694202188183/6381230280571,6999165228541352101,-1962335544251498845/1250684067374:7734971330358035931095740815664422483/6381230280571 -qmulz:3388900892142215022/3450834628513,-921940083605878001,6734092499539471533/5162430112340:-3124363571833628263304768671241531022/3450834628513 -qmulz:-386348847054518292/323004206381,514411028349585069,3189676746121428640/214488726717:-198742107714991314988148399870582148/323004206381 -qmulz:2621996699851800211/639729174738,901100719762883014,9556760707097111231/962924737943:1181341556726180554328723203646757977/319864587369 -qmulz:-2049289271073576417/18016913114,7508216114633285941,-9469235071531039565/67942461077:-530569197538611262694579912395698393/621272866 -qmulz:1639764361637752909/49863322429,-3667535081176061352,=1:-6013893321168728538238660340400472968/49863322429 -qmulz:4212865081507184639/8422182797,5317645517552525584,826928849605057287/795440204:3200360445247176534048939736551329168/1203168971 -qmulz:4093224907870688472/8446810835,-4394239498678494479,221730631562040646/480114129:-17986610567140020861411212830180946088/8446810835 -qmulz:8729905651613329077/131452699,-9507557452223167406,=1:-83000079535201453087454918169138464262/131452699 -qmulz:4738064793602310889/451996055,4531489655540363995,=1:4294098319897772319607429689642408311/90399211 -qmulz:7744273453919740331/974912,4029995544880393387,5229428187412633641/38528578:31209387517632050003517673680169591097/974912 -qmulz:-8068802747587440815/29032004,-9849867648134802759,8503993416585326183/5318819:79476639142642740206984820735611208585/29032004 -qmulz:2861631232576326878/6980153,2635765392614151917,=1:7542588569248461690745630176942325126/6980153 -qmulz:-1779740841595132817/3012373,9922862571979507578,971621845586608480/521437:-17660123784887653006801622709167987226/3012373 -qmulz:4023122851061736595/781603,3458044068302173434,3738807635979349585/665988:13912136111164966581427463952914617230/781603 -qmulz:586647455438577923/33279,4526301832916840671,3608109198062688989/33159:2655343452827635863034403318209106333/33279 -qmulz:9196111739041159411/1211,3157226438241334248,-5764176110323692119/75991:29034207111522241973647178465501807928/1211 -qmulz:-128347641900306833/12774,-7554445682363002392,5759447892271827483/18544:161599214865874288341552651985490756/2129 -qmulz:836992725257147861/4133,-8611487193024899504,7678442646525158846/9511:-7207752134206937140419355427193560944/4133 -qmulz:8699549138022640117/5811,-6972026102209810211,549233631824230415/177:-60653483667750701802929732179724834687/5811 -qmulz:3156470757655913741/841,-6926959212561953600,-840701905979711979/41:-21864744193927041320056800380044417600/841 -qmulz:509258565369492935/912,8179603403105663140,-6092933483503672408/101:1041383273589253055649823422179978975/228 -qmulz:4260013411623757232/75,-7652070371810821485,=1:-2173194827373526007681124278141981968/5 -qmulz:-5571230682641213483/85,5687608093861986954,1592299486970268628/23:-31686976723362408587412758204074900782/85 -qmulz:1224310285715487476/7,7384878353077411745,1489674084056377327/2:9041382526430324573993691487042805620/7 -qmulz:532608537074668190,5378987672829123810,1299009834218541099:2864894755368193556998428824178603900 -qmulz:-16831183915817756170/2753858239387681579,59557538310440342273,14474171978684251754/88138472845001942881:-1002423880876383309855786104105657574410/2753858239387681579 -qmulz:-76852233908089385223/89591433315005827168,-16827322555441357812,-13261671210390977146/47829058560152879137:323304332269411910681014536231862103019/22397858328751456792 -qmulz:69150327729675178449/8650125162732904421,14293920797793407650,50884780102476306733/6026568253305189080:988429307709434226307578722449551734850/8650125162732904421 -qmulz:30499040613205460343/8988598618848438770,30570026052354339437,51811261931566266659/3748183226209013484:932356466117503990794086213419264446891/8988598618848438770 -qmulz:43819658523452866810/102194429295876731,70504335913014047202,=1:3089475924131090053789938711687559165620/102194429295876731 -qmulz:69656424488183436907/30102774811906661,984948427407800828,-39906369295800321023/155750850550041643:68607985758486503850804077075560358996/30102774811906661 -qmulz:33641878290673988917/12925928405761371,-5396171272119458800,19436319690765846760/70381750662978231:-181537337172274262921911758331238119600/12925928405761371 -qmulz:42954819767647340359/97571649192732270,38715654116595663589,=1:1663023944764940538514016228488546488451/97571649192732270 -qmulz:-99002754944524890631/7986465915924126,-97203975364529818705,12484199575939692941/2326957254470028:9623461352648180166996658939078383052855/7986465915924126 -qmulz:88352255172275736854/7933296505985257,42489727492090669013,98815810269903702196/2382358470880605:3754063245581654384182755776192399905102/7933296505985257 -qmulz:61590480972201025960/675375171340791,-75994828859228936809,-11049721719852020118/20660972971879:-4680558060840013232552967100229808561640/675375171340791 -qmulz:-27522646268475576522/580129834806571,5567162029085222334,74438237038085866509/799763096356799:-153223031245801313480018162391200442348/580129834806571 -qmulz:24148248964829892922/23286035365313,49985702383172830448,7055168644844378885/36672697526553:1207067185830748414507857319763501289056/23286035365313 -qmulz:52980189869726618341/71466611837586,38839808746354627533,32063023501001399398/95171990625945:22126241310599319846248909165943025621/768458191802 -qmulz:-80505026028619928191/8017291718590,-1533155918930949021,-3916532593760914985/326976214133:123426757159468755445689924468501751011/8017291718590 -qmulz:17292391457368334407/1571629061585,-63370707239731364623,43143296273586046143/3465594785525:-1095831076519720312454034284738713483561/1571629061585 -qmulz:-45604879788200428008/529616356051,53301018012216428706,-91229775748273485595/717004201262:-2430786519035835963440363052798417597648/529616356051 -qmulz:-50447424829663619798/988121155093,6780140438275382263,16659035028087001517/899562317168:-342040625094459896541992348672744842874/988121155093 -qmulz:3593845345146253521/41915442602,-63858823181329772213,3118916835826556491/676191095:-229498734436739670514786299133279211973/41915442602 -qmulz:16886813553311884569/11104775518,-56529259575299150290,73272925971647951646/32053123633:-477299533377423659452543589452131437505/5552387759 -qmulz:-36701646710377438096/4191403967,41311697381328283293,85676309288704030215/204223664:-1516207322295535412352618149227058530128/4191403967 -qmulz:-31991568945242380121/3326501360,49756427012706630969,=1:-1591786165245924544503303159456768567249/3326501360 -qmulz:25027541823211097487/727783012,72744111549984214188,27646550684503944351/772714058:455151573552390843680552331807189136389/181945753 -qmulz:-10660456145991522967/70536419,85257294987559072920,-49523716090045547608/476186017:-908881654340736383544975893469407753640/70536419 -qmulz:33128477737669316703/79965173,30163481878837698924,41486580218368730746/24538333:999270237913666562482186749103918327572/79965173 -qmulz:-88082268340996623207/91130108,-98498682060501497133,55248370490574572505/10033543:8675987344487603057841057039320991765531/91130108 -qmulz:-44828402098358201492/3408511,-69899774554986777317,53529539851460359205/7667246:3133495200335534468175721510741221156964/3408511 -qmulz:97775247222108446692/6123089,-93552521078990120186,-42751923423887600316/1557173:-9147120876749770652720919372526854124712/6123089 -qmulz:36516268542348216758/743177,-24090657731418051536,13560217582155473423/145359:-879700927082258851088293609160542840288/743177 -qmulz:13823011732367751421/140456,92159940210798638916,-70795417829842533145/263179:318481983697045021949324000379556224909/35114 -qmulz:21697263555618348560/7063,34463551544345103980,99869086375772085/122:747764760920293478397871020089083268800/7063 -qmulz:-40668672455972057307/50141,18865137997582967131,=1:-26455866140014285075027032694601012973/1729 -qmulz:-15581921553193083728/2673,-55246769898174604433,-17101679935689176965/8667:860850834620665736463709777467848966224/2673 -qmulz:5779320031390413993/7,19217000507739754005,25876817036248520828/8953:111061195977620116757818678920929791965/7 -qmulz:2423549793740192960/491,98696549719389277261,-8414536430516573180/273:239196002715294582270898075501080282560/491 -qmulz:27706287293558914219/676,32022217504768731686,-38742274862382707994/961:443608378981976875151437105221950621617/338 -qmulz:64017926203955613359/38,64555971256483309833,70053608548103954878/35:4132739403922228262726093720335950859047/38 -qmulz:53804889371534152691/9,-61739634189995994475,-2917407728537843404/21:-3321894187431722069404444190953042382225/9 -qmulz:-63773122944071670311,68924540068336860054,-11050684739856731468:-4395533167641640581052894142988833656794 -qmulz:91952574331161593349/4,-53703503362679036569,87690617237600059250:-4938175384800530690367847777470278179581/4 diff --git a/polly/lib/External/isl/imath/tests/qsub.t b/polly/lib/External/isl/imath/tests/qsub.t deleted file mode 100644 index 10d94ea4038..00000000000 --- a/polly/lib/External/isl/imath/tests/qsub.t +++ /dev/null @@ -1,803 +0,0 @@ -## Rational subtraction tests -## Generated and verified in PLT Scheme (see imath-test.scm) - -qsub:1/6908363373906559980,-3/3282386453454754261,=2:24007476575174434201/22675918354053873847004295306757074780 -qsub:1/38717857456042735841,4/21180041959354743117,=1:-133691387864816200247/820045845495301036647051443116443956397 -qsub:5/43729125372682174,-9/5619593033754393704,0:14245763648563054043/122869944158248625198135913829316248 -qsub:-2/2974810045372038215,=1,-4/6399510259263906921:0 -qsub:5/554668526872261904,=1,-1/110568531382495635:0 -qsub:3/342789991526278043,-4/498606462885016907,-3/85472740226188603:2866979354760162893/170917305187302413099656668837873001 -qsub:1/3516821512087322,0,4/43427709377638547:1/3516821512087322 -qsub:-8/99244619430310225,9/68745482383862908,2/20174595569499161:-1443165433943695289/6822619236739570045025636310634300 -qsub:1/4158186027003720,3/1924897427288305,2/873983495405445:-2109932130744571/1600816317113127793988749498920 -qsub:7/3877179943979588,0,-3/8937193062762751:7/3877179943979588 -qsub:3/6941436021947,0,-5/715763583943883:3/6941436021947 -qsub:3/164894601106681,5/983718669019872,=2:2126683001526211/162209897529226945840780964832 -qsub:3/97536769945753,-8/56666447486451,-3/355123038725:950293502025377/5527062252129064526472492603 -qsub:0,1/69397821325107,7/899954591994:-1/69397821325107 -qsub:0,1/881101320631,1/1676161462807:-1/881101320631 -qsub:9/5714833944922,-5/2130613532867,=1:47749691520413/12176102541138516914751374 -qsub:1/416320154010,9/647850043316,8/147151224525:-1549515671387/134856514904351145548580 -qsub:1/437091275186,9/260061434048,2/56787440467:-1836880021313/56835291917370078966464 -qsub:1/40450640622,7/70939336904,8/60816634845:-106107573725/1434770811533343057144 -qsub:0,1/44837423526,-1/89874392823:-1/44837423526 -qsub:1/320712007,1/384804019,1/5470204:64092012/123411269235156133 -qsub:-5/9120926808,1/893326726,=2:-6793780219/4073983841738135304 -qsub:3/355507838,=1,-1/715596526:0 -qsub:4/397576755,2/95841397,-3/206755309:-411787922/38104311613926735 -qsub:0,-6/63950497,-1/12602985:6/63950497 -qsub:5/57474807,-3/9692846,8/51541573:220888651/557094453130722 -qsub:-5/7525009,-7/6073612,-1/1008717:22307003/45703984962508 -qsub:3/1999328,6/812029,-6/2808949:-9559881/1623512316512 -qsub:0,7/738513,=2:-7/738513 -qsub:7/320723,=1,9/571685:0 -qsub:7/14415,=1,-5/47022:0 -qsub:-1/22106,3/90671,=1:-22427/286339018 -qsub:3/1135,-9/8459,=2:35592/9600965 -qsub:5/6528,1/1065,=2:-401/2317440 -qsub:3/100,5/979,5/637:2437/97900 -qsub:1/117,=1,-6/601:0 -qsub:5/76,3/55,7/20:47/4180 -qsub:2/5,7/12,8/11:-11/60 -qsub:1/3,=1,=1:0 -qsub:-2,0,1/3:-2 -qsub:-27/133467566250814981,83/42563959651039965219,91/6397136498252123976:-1160304718576896704336/5680908104622192257664942460644145839 -qsub:45/40427972021325393238,64/9751620923778714977,-18/31750379913563777419:-2148567267794782993267/394238257869097174193626565778845125526 -qsub:2/843174797904089739,59/3829064789486601609,=1:-14029727832456030461/1076190310012343744009826655225930017 -qsub:21/135302160124707707,=1,-91/6243239679870796216:0 -qsub:33/269586386932708513,71/663560078654965882,82/347777995721589109:2756849123391569683/178886764117376127330118719865953466 -qsub:-49/381369757179978313,-79/502081482360917424,66/15964802517749773:5526218181533332951/191478693012546642471803143103825712 -qsub:50/84007949326343527,-55/90680207033049248,=2:9154447564601356385/7617858237334741132727849157017696 -qsub:7/63509973628647649,31/6358426332168578,-2/8606093719923861:-1924300198162897073/403823488675725185285863631373122 -qsub:-61/3288737806026908,52/891085361745265,=1:-225370572979860381/2930546117568816471902431590620 -qsub:-68/686724622342265,-2/87939998369281,-97/6330897213879162:-4606470644426578/60390562168923894678643961465 -qsub:53/74615069808694,19/206431401793345,8/335314245039321:9523177968682099/15402893455516996957672341430 -qsub:-41/794425111656850,40/355792921374903,84/720131909879285:-46364514242645023/282650831289974168794338035550 -qsub:-19/9948614096197,=1,-17/6019916154851:0 -qsub:26/86905243242955,5/1105886678309,85/28690254896344:-405773162578741/96107350777587172015563095 -qsub:29/1328659476658,-75/8718935424058,23/3978732114658:88124647011758/2896124044385949895659541 -qsub:89/3664660122749,39/3752130456923,31/2507346317004:191017865878936/13750282860837702636841327 -qsub:-1/111730970852,-4/53644158721,5/525620687366:393279724687/5993713934436112600292 -qsub:9/134376727834,-63/680315135834,-13/19845761250:12619870308/79081766305636815401 -qsub:53/83663624339,-83/23745430735,39/22448823287:8202588649092/1986628796780784659165 -qsub:94/82386633297,59/60658096185,-7/3139891864:280349892289/1665805442295916557315 -qsub:-56/4452532283,=1,-33/2287829573:0 -qsub:5/4288753327,-1/207457757,-40/1852400711:5326042112/889735145545707539 -qsub:31/984155769,43/889343448,-34/317681033:-4916350393/291750828323850504 -qsub:91/918406649,64/20465291,4/3347977:-56915684055/18795459328119859 -qsub:41/61159865,47/95152545,=2:205348138/1163903361321285 -qsub:76/19895571,=1,=1:0 -qsub:1/1255098,=1,83/1479054:0 -qsub:91/7916464,-7/427858,=1:47175163/1693561227056 -qsub:25/630098,19/359620,-70/654341:-1490681/113297921380 -qsub:1/23261,6/84073,16/99379:-55493/1955622053 -qsub:87/25076,=1,7/10664:0 -qsub:88/76661,-54/49307,=1:8478710/3779923927 -qsub:86/1213,99/1546,=1:12869/1875298 -qsub:40/4409,47/6632,=1:58057/29240488 -qsub:47/221,-20/453,32/67:25711/100113 -qsub:88/281,27/221,3/160:11861/62101 -qsub:11/76,=1,0:0 -qsub:12/11,34/37,-91/30:70/407 -qsub:-21/2,9,-75/4:-39/2 -qsub:-78/7,19,=2:-211/7 -qsub:716/63229225130372968755,323/1041977709013285590,-85/5331036743812256792:-87453260788697584113/292815302862361288266503618244274402 -qsub:28/28432306149803878485,51/36062569591582234426,-327/8530238148665402747:-440295665075695238807/1025342019176473906318007480837287724610 -qsub:35/2651717833003975527,94/1600682896707796861,=2:-193237574917600809403/4244559382184525484529422270531420747 -qsub:386/5424883893029166991,-201/2832569452810712705,43/716839232710423233:2183773471283797669321/15366360400439276458941965547170320655 -qsub:971/506137779607436980,-690/134579589961574473,267/104999489601941375:479911849781820329483/68115814843630618803212580924211540 -qsub:846/926665120742753771,-693/971167451265042566,=1:1463786592444954374139/899947003487953107927067006372016386 -qsub:-160/248883036705679,=1,950/1477253685625391:0 -qsub:306/15329555212551109,173/93038341559131937,683/17162719883913218:25817719465323030865/1426236393814901458412317286668133 -qsub:-625/3476582462880142,-872/8679903101365753,437/9209000641481251:-2393359530722111801/30176398901707132402666142576926 -qsub:4/92742256929161,-206/1677519242207209,-29/1920847318304748:25814981896236002/155576920564392438731996521649 -qsub:105/440859258236711,23/114084068799213,859/777590483782957:1839064284473012/50295017947446948173484508443 -qsub:234/109710309040703,435/19164872307439,=2:-43239404312765079/2102584063574743486180689617 -qsub:40/98720052152257,200/37673731641681,195/18309401204:-18237061164784160/3719152752436883045979424017 -qsub:101/8139505456847,-896/64811418546951,=1:13838950162576963/527532894928902528173923497 -qsub:339/2503418324141,=1,203/710577119901:0 -qsub:-210/2286964112149,579/5338514331377,-895/8857700286753:-2445240230523441/12208990688052313177599173 -qsub:223/305810995184,29/35011322751,41/153998316063:-1060993886863/10706847453191530631184 -qsub:212/157864593381,817/922433484280,301/424913103878:6052775079553/13238144265171023231880 -qsub:39/74199525578,=1,86/3093865155:0 -qsub:-285/57499506881,767/82446691329,5/8259783887:-67599428806492/4740644095387518534849 -qsub:419/3764128897,129/517942151,-247/7249378910:-268554866444/1949601017553437447 -qsub:245/1908967167,757/2819581996,-985/2094042342:-754290556399/5382489455028325332 -qsub:-295/48205876,431/527424726,140/594985499:-88183513363/12712485470444988 -qsub:961/845688743,-405/870406786,187/421915568:1178964862261/736093220751009998 -qsub:407/45012097,=1,=2:0 -qsub:-58/619321,49/12338458,193/39820887:-745977293/7641466147018 -qsub:575/7245689,-62/7853229,=2:4964839393/56902054979781 -qsub:95/498463,=1,31/397052:0 -qsub:194/160465,199/12089,-11/7277:-29587269/1939861385 -qsub:266/45609,908/59061,-571/590454:-8567582/897904383 -qsub:131/55938,=1,55/8836:0 -qsub:199/46692,=1,964/70603:0 -qsub:382/8669,-217/474,467/5123:2062241/4109106 -qsub:147/745,528/8207,-88/5227:813069/6114215 -qsub:396/775,=1,-877/724:0 -qsub:6/551,=1,-435/346:0 -qsub:55/24,277/11,54/5:-6043/264 -qsub:10,-123/13,556/9:253/13 -qsub:108,-709/4,-92:1141/4 -qsub:181/9,=1,-941:0 -qsub:5864/87029719866427538623,7169/77056696318482378212,9879/50543130835616368106:-172055594510838358553119/6706222694429899607884755085022523682076 -qsub:5653/86895502758062177839,5653/8154794595245621549,-1891/10149086543140986167:-445121223244401992707370/708614976242596448503974984564128652611 -qsub:661/363701500997277796,479/2983031197662645683,=2:1797570602677312732179/1084932924111611507079868138271154668 -qsub:-667/1895442338469738028,=1,-1283/8749436718472928966:0 -qsub:-9697/818740708549198026,3503/102582377391327177,-1163/20328789690713125:-1287596671870513440149/27996122783345481707441743709517534 -qsub:5593/36797958092515142,-896/400288681159053633,1503/320767765005962056:2271785564173480536601/14729806114199011085303985442610886 -qsub:6797/6164537725975597,-25/1227246984675396,-8333/22072906026109818:8495711197988056537/7565410336121273997822462311412 -qsub:5972/68776879303523725,3471/59251132058857634,=2:115123212592966940773/4075107958209196684815674316366650 -qsub:-6611/9413167004921254,=1,-6256/7532100811974283:0 -qsub:1837/782359177742283,274/89188711189557,2191/8972155631565142:-16842250748723111/23259202250051923207502312877 -qsub:553/12771753856843,7076/381142689332759,4681/186762282268761:120398976909994659/4867860612493178112476219837 -qsub:3079/80223061021791,-3585/408207816163306,=2:1544471539729939909/32747680545640939721680601046 -qsub:-9557/15580233019419,6164/45700338424117,-8859/38230373237191:-532794690650984885/712021921714050551118928023 -qsub:-6948/27781302080773,=1,=1:0 -qsub:965/554586285674,=1,1991/3124819638593:0 -qsub:745/38448222313,1985/5666404010804,403/1187780069839:4145151266757675/217863161122667045869652 -qsub:-859/409102304936,=1,4163/697719670590:0 -qsub:958/328712574179,-6903/92390217229,942/905293648915:2357612727663019/30369826134301586329991 -qsub:151/12267425536,=1,=1:0 -qsub:8671/21057436708,2207/65025757482,2889/90207961763:36954612879419/97805412326212317804 -qsub:-563/827856356,2261/803220213,9777/7547919848:-2323996200835/664950958599723828 -qsub:75/325694386,7497/1661300549,1948/1110250407:-2317133270667/541076262268017914 -qsub:3501/918304436,961/56965645,=2:-683053839851/52311804503101220 -qsub:1123/310344294,2131/431751558,2307/53942272:-4902408080/3721989790303057 -qsub:1405/9784159,2196/25867783,=1:14858221951/253094501849497 -qsub:794/7899253,-2407/48403717,=1:57446053269/382353206723401 -qsub:1229/5474993,4511/2921328,-7447/1108510:-21107381311/15994250350704 -qsub:-7372/331741,-1691/1178944,5486/4648811:-8130201137/391104061504 -qsub:5538/47579,1604/905061,-3007/385287:4935911102/43061897319 -qsub:6299/305054,917/272126,5357/926074:358596789/20753281201 -qsub:-4585/61734,=1,3775/46277:0 -qsub:419/11735,-8692/17091,1813/23231:109161749/200562885 -qsub:-1997/1968,4543/2391,=2:-1523939/522832 -qsub:2071/1736,755/3768,4076/8723:405803/408828 -qsub:838/393,-953/227,-1542/517:564755/89211 -qsub:30/29,5248/27,=2:-151382/783 -qsub:391/83,-375/8,1924/15:34253/664 -qsub:3263/21,607/4,-2267/41:305/84 -qsub:9453,3109/2,6826/5:15797/2 -qsub:-3878,309,8605/9:-4187 -qsub:11222/48066783055662674131,=1,=1:0 -qsub:44095/11229138978726519749,=1,=1:0 -qsub:32172/9931355060831305057,-22127/1443489042124973960,7360/8565719299009119553:266191022894258949237359/14335802203762393030456814478941315720 -qsub:64044/4464944802393435647,12647/913738015734848205,80458/8255357897052863503:2051280563852837813411/4079789804104601810582916593980963635 -qsub:41455/753918793466056957,=1,38552/179247636782332451:0 -qsub:70832/329222465952924851,20242/279519391122527087,98212/275893153651362115:13134796356171733792442/92024063227018458748454302122939037 -qsub:16550/9390796490643017,=1,=1:0 -qsub:-52475/54547572128706592,17578/797685580288227,7736/4761258128626551:-1000695773704029186001/43511811726801235561284074892384 -qsub:-20996/6762826792669,-44673/3665405594824492,-89646/5844908573159699:-76656740107626131795/24788503162677927378327249148 -qsub:45185/5494693252958359,32663/2723960065506187,40281/8753885671043431:-56391030161481820422/14967324993264855317568567867133 -qsub:12788/20397625645595,85276/411854703134143,=2:3527370019125661464/8400858054907910680262050085 -qsub:5182/89854258440697,64615/978522088368546,=2:-735231447219831283/87924376618197880146621116562 -qsub:14899/24106539570023,26806/37583148137177,60169/20330813693322:-86248575618236415/905999647734893551001045071 -qsub:77/5504614030045,39585/32999174301133,41462/80693310429705:-215359209958144084/181647717837917119539540985 -qsub:82526/6888246953501,26067/1462753317193,18855/1955140329926:-58840753082241049/10075806080878164174842693 -qsub:48233/7425592622352,-67581/3978085226579,41398/5449697074565:693703959744755419/29539640309572506699893808 -qsub:5505/559716521882,37907/205803582655,=2:-20084225472465199/115191665474511303156710 -qsub:21476/65447686805,89325/499062486437,-40113/803762193086:4871751334864387/32662485308453336363785 -qsub:21526/16385258133,59161/53875727711,=1:190360658300573/882767705647956223563 -qsub:-19280/22598967893,14123/12257869757,=2:-555496952467799/277015205075018712001 -qsub:10456/7458705583,-25903/4591932494,70435/2217009577:241216096873713/34249872529756914002 -qsub:19521/861174313,=1,-5154/2978985245:0 -qsub:682/74110691,2034/18404407,13571/194261092:-138189339920/1363963320215237 -qsub:17065/678911302,47417/43292069,6893/55518891:-31453158049449/29391474931063838 -qsub:66870/71491241,=1,54717/26772383:0 -qsub:61950/53770049,38657/31651038,=2:-117806980093/1701877864160862 -qsub:125/24174,61922/4089943,14863/1071502:-985659553/98870282082 -qsub:10528/5066181,69178/5064619,8499/4855615:-297147960386/25658276550039 -qsub:73667/793622,-17081/241311,14485/728923:31332514819/191509718442 -qsub:-88059/511891,4080/46861,49511/313693:-6215048079/23987724151 -qsub:96249/64877,25429/18718,15172/33979:151831549/1214367686 -qsub:-54470/35523,46889/71763,-69316/98395:-1858189519/849745683 -qsub:44983/9496,84144/9341,30612/1481:-378845221/88702136 -qsub:43297/8081,24282/8963,-12747/9001:191848169/72430003 -qsub:-14149/568,-11037/95,10139/463:4924861/53960 -qsub:32022/65,=1,=2:0 -qsub:-5464/11,57106/13,-42349/21:-699198/143 -qsub:9122/11,30683,21590/69:-328391/11 -qsub:80394,-42819/2,78542:203607/2 -qsub:78738,81991/5,-92741/4:311699/5 -qsub:519349/84038265230060350539,362530/8834704951888139441,101653/2801162463496519815:-25878097111795625550359761/742453277976103030839734354712971508699 -qsub:-45313/4045263795932519300,=1,-897976/3871830745560558349:0 -qsub:-219497/3880705578320077638,=1,1955/195812018697132227:0 -qsub:-694177/1567385155785412134,749667/2535436916491658333,-965299/416081746175083596:-2935058919961612464886319/3974006186339362871680339779520412622 -qsub:26135/62576945582816088,732203/950441429248291026,=2:-1165513362953922339853/3304206755429125252534073692157016 -qsub:344416/442049470250620209,200643/69700793670676003,61742/228330350355985637:-64688063306615644345139/30811198918170109145079107043144627 -qsub:497397/42178943629236355,-221769/8144580724357867,=2:13405072168265547184194/343529811256455471792784946654785 -qsub:48033/18607268489677754,110044/5810062497436207,44420/6136363607606977:-1768543521738745430345/108109392831603170896668602039078 -qsub:556572/2349911949088169,-916879/8313100022391424,574574/9350618406931231:6781423623630450943079/19535053076582732528599605462656 -qsub:284777/1927882721172702,160787/3581064945969006,754048/423838688960001:19717401473028344033/191774256464747287423446257617 -qsub:892952/185949909151557,=1,175057/59061216301442:0 -qsub:-661714/491200735750687,450275/303031578402964,15122/4784925303203:-421695649161479509221/148849334267227909475125836268 -qsub:187069/55339769759630,621163/52226505565130,637525/3333974030852:-1230252861681887286/144510139666216453870485095 -qsub:219295/84834684101354,903655/27591730927967,=2:-70610557827760525605/2340735777083639503901167318 -qsub:-81292/3037742698087,279570/7725479008867,-183321/5178790607504:-1477281365692998754/23468017448410123176937429 -qsub:17070/729776002573,=1,494590/5887202393519:0 -qsub:480492/747354949451,=1,=2:0 -qsub:-199046/37296461289,419244/37303053961,-158450/158465916423:-23061341295366722/1391271908017914615729 -qsub:189316/25281354931,=1,=2:0 -qsub:-322219/71926874588,364328/31410801333,564494/88472961545:-36326131359614791/2259280768187274225804 -qsub:865470/7987112681,-75379/665073758,-53389/213996667:1177661952117359/5312019046322125198 -qsub:508019/5416093157,978840/4026946153,=1:-3255723468096973/21810315502870775021 -qsub:-355411/591634303,88/18167855,-400943/223386928:-6509119332069/10748726229930065 -qsub:-448810/805205621,80689/395020417,609682/664304967:-22023668155149/28915696379833087 -qsub:-295343/11433941,-409495/43207522,-681896/44977613:-8078897500251/494032257304202 -qsub:24193/2785136,19643/9724857,=2:180565038953/27085049325552 -qsub:260123/1810064,259343/3327309,989234/353681:396082171055/6022642237776 -qsub:81657/9557416,=1,74075/783308:0 -qsub:-379579/856742,338617/650312,4129/163380:-268476092231/278574801752 -qsub:625321/775536,-97485/252179,=2:233295951419/195573892944 -qsub:947687/23575,-30577/320,-279954/24839:204822523/1508800 -qsub:259621/46980,191999/83022,85242/3763:2089023607/650062260 -qsub:-109983/2035,269459/7712,=2:-1396537961/15693920 -qsub:495239/4609,169141/85,150340/2337:-737475554/391765 -qsub:181604/763,478129/150,491042/65:-337571827/114450 -qsub:88196/477,143431/288,-238297/503:-4779571/15264 -qsub:-570,200993/64,457558/27:-237473/64 -qsub:404456/75,=1,-923061/28:0 -qsub:-139593/4,318475/9,155531/3:-2530237/36 -qsub:-14344,290960/3,=2:-333992/3 -qsub:3264013/82557280791246853782,1806333/5633889739728044851,-2296597/13263726327210302219:-130736851332456348274354343/465118617189652853731071620663934976482 -qsub:-2980063/1992165262437351098,7376362/30250769500070022259,7703450/29762987155235234457:-104844131048250074763167793/60264532160038812168147102169858090382 -qsub:4464355/431626495996272004,3629338/7179109931450482327,3949813/156748150199903165:30483576874294500186500733/3098694064084008191204928519686873308 -qsub:-3555443/3617243579662686774,303530/2167413807252149777,2777975/533604037161157073:-8804058192833020476098431/7840063678755098878650516823284949398 -qsub:-5552437/989682869077264596,=1,326173/620111908036849741:0 -qsub:4895607/926011931053273421,-1175537/233388199725215284,5091515/239597642395083213:2231138191686733898359465/216120257512593662347946882140166564 -qsub:-2773250/45398131003067227,=1,2736089/95411568076119212:0 -qsub:4006296/68939728562838647,2292964/17013091088520595,5733592/97158552976704111:-89916836988785049713588/1172877881657458911248848921434965 -qsub:515144/49193197792111,=1,1856594/2763661324543529:0 -qsub:8325234/9817785169298149,775935/6180815223492473,=2:43838769910997775719367/60681916035376625680601994332477 -qsub:8627988/156641134252337,=1,3184877/121316717056413:0 -qsub:-3680933/800181047302935,-234725/6902800483321,1839349/73481955705762:162413750236709199382/5523490120067003681501847135 -qsub:1566629/16292772606875,7730144/88872981722417,=1:13285512072409282293/1447987282098298252715816875 -qsub:-7275809/32705732310204,529237/33225169211346,1246554/16046220459869:-14391614934727197959/60369638343750779183798588 -qsub:672357/665582539507,3252537/4040790284267,=1:552021796858428060/2689479459017642288036369 -qsub:-9287113/8904358895491,-1605430/1566913557651,9964765/2264645576736:-256778369548735433/13952360675535131712451641 -qsub:-7651618/4395153917,-1710285/172432083914,2275814/176521974301:-1311867471236936507/757865549031089791138 -qsub:1899605/130650302531,-4840329/426407852458,-3076004/154973753433:206056705252578827/7958616417890244567314 -qsub:2052129/29055355967,2964502/48925195457,=2:14266151553094519/1421538969758186241919 -qsub:2602385/95672384206,3573881/34551770887,7452346/64314906595:-252004705858757991/3305650299298749410722 -qsub:4133338/19957331,8985416/288073487,-848120/288429411:1011380169324910/5749177932383197 -qsub:-1320449/3975283846,-7547086/2795237793,1985723/1567287621:26310840111643699/11111863644241591878 -qsub:3012/50622749,=1,-3880764/539469199:0 -qsub:3415313/456078745,973889/57988958,2014841/282103745:-246119630775451/26447531188497710 -qsub:2670463/29405389,-1058573/52085339,8775931/27268718:170219721491854/1531589654491871 -qsub:8583563/83502235,=1,=1:0 -qsub:-2291635/5535573,5441924/9510935,4978191/9285940:-51919759091177/52648474990755 -qsub:-4162723/8479109,344312/1648925,7433795/4104773:-9783477000783/13981414807825 -qsub:8751329/789348,=1,=2:0 -qsub:8924261/337441,670861/129305,9868269/414227:927575561904/43632808505 -qsub:2681459/27003,=1,4549337/93154:0 -qsub:8680180/14441,4554745/21934,4059413/27440:124615995575/316748894 -qsub:-4518181/5562,-2276489/226,3678862/4781:2910180728/314253 -qsub:210295/1363,9437631/8144,1068488/1033:-11150848573/11100272 -qsub:5745218/207,-7575883/59,=1:1907175643/12213 -qsub:379339/704,=1,-7001184/173:0 -qsub:6487539/2,639662/15,=1:96033761/30 -qsub:402577,2061668/19,=2:5587295/19 -qsub:-3105019/2,3111189,867043/4:-9327397/2 -qsub:1261450/7,4029231,=1:-26943167/7 -qsub:56324553/19397300916635452498,-35924092/46902696457421385061,84175915/39224029534660703473:3338603835139839372201484549/909785716986214223068528185651632332378 -qsub:71555823/5836071212068629344,=1,=2:0 -qsub:77442257/5545018942084673068,42879535/9528293896880000587,=1:500124750930929791835741479/52834570143949387832940624231543090916 -qsub:1882546/587096528196767501,600949/3758491116151436011,-57408520/7215298889224654953:6722717345223102023805557/2206597085550901708728088609445878511 -qsub:18533295/259544696596588724,29260803/65551904123652131,8066314/468460265894896593:-6379593459872191703783727/17013649067101965587047139053170844 -qsub:32814976/324705085482999809,15878615/126957830524485142,48012589/448457761496522203:-20198956719461136022407/841303126799778581810770681823222 -qsub:73425587/76876862799514627,=1,=2:0 -qsub:42901263/91461268846245118,59358212/33469972365725591,25272929/7921365826117970:-3993073298899687352887583/3061206140818023006999579911414738 -qsub:-63644711/8497399665364222,7797817/1098486658784562,56710153/9438426287422742:-34043508375517625313739/2333570041690749863451890185191 -qsub:25665970/5646791945789527,18692206/1353307528791823,8000643/4532947645247332:-70817047855093605963252/7641846053757994531550156637721 -qsub:-29275899/499819621292276,8512344/446435883937597,42654021/421680780818527:-17324448402522389929647/223137414440972214604482100772 -qsub:10506641/183030842318251,56266904/341432867278395,19138129/13903991433546:-6711266271665423143709/62492745293100236702806487145 -qsub:40020635/13147436598409,=1,95925753/47588135567153:0 -qsub:64062683/28830327884364,35024477/22435119389260,-3892716/40203147434419:53435848201618925869/80851481014652251447941330 -qsub:687674/747723187903,75114792/959745497435,-6008972/779187819521:-55505079707707644986/717623962917648709528805 -qsub:11227721/638144654215,83818613/2696629423889,5802172/903741356827:-23211396997849476826/1720839651253640565542135 -qsub:68154693/605106523822,7149707/547148784630,-89487120/164245654829:8241105773166237109/82770824770222860613965 -qsub:5295524/207408901727,=1,-20716229/60404143771:0 -qsub:-49715976/27289320239,1751391/3004904467,-59390244/46731089623:-197186028226367241/82001800287564607613 -qsub:78299509/99826075029,4177685/5327015769,=1:20274296809852/177258358612286710767 -qsub:-1671167/695155932,-66109555/7854377639,8291158/4963791901:32830472604295547/5460017207919004548 -qsub:35734579/4659787581,=1,97009779/704152619:0 -qsub:30397277/925127047,-10856719/255060817,82870995/232582799:17796998694774102/235963660436617399 -qsub:5543155/496322152,-87192627/129840895,=1:43995360477497029/64442912424006040 -qsub:4832663/6516999,1014585/45500272,66517292/12541481:213275431553921/296525227123728 -qsub:-61572274/59677033,88452583/75989018,9276799/22909073:-9957404351913171/4534799134823594 -qsub:10222701/4964078,=1,44891997/7795153:0 -qsub:-12931066/33763,=1,-11768212/629261:0 -qsub:40097296/352421,81636923/466815,-2827835/59378:-10052546808343/164515409115 -qsub:-58131798/713399,-10445579/899533,=1:-44839605037313/641725942667 -qsub:82683100/20953,11064248/17087,1257553/185:1180976941356/358023911 -qsub:-80145609/17039,35705967/4424,=1:-962958145929/75380536 -qsub:24043257/7198,56987892/9335,-75350352/8581:-185755042521/67193330 -qsub:14613190/1321,24976151/4199,-77272282/6003:28367289339/5546879 -qsub:-95371537/443,32446316/271,28275075/223:-40219404515/120053 -qsub:94947713/221,57161945/491,2069553/455:33986537238/108511 -qsub:-18909223/59,-948326/3,-48280688/79:-776435/177 -qsub:88798812/19,23507525/86,=2:7190054857/1634 -qsub:-47127907/7,27516609/8,38296261/5:-569639519/56 -qsub:31326068/9,51645326/9,=1:-6773086/3 -qsub:898471353/97040476457400255673,774658681/12204618595061363031,=2:-64207747314147492788222196370/1184342003445601583509560261503270224863 -qsub:249093288/12417260530710049873,-801966629/44332144897015616603,=2:21001068305718331000060348781/550483793071430964691988116237976841419 -qsub:-134206127/1610240404875467236,97309922/1581131192036203833,53593907/846433764211142925:-368889861761752296658200383/2546001330825606997121589113609115588 -qsub:421338764/3148326051373083753,429845640/199253189241064703,=1:-1269341134003247764575839828/627314006506815051070753494111070359 -qsub:52740675/795085501889262583,149708345/329574924655249317,2466699/30866271646478867:-101648930631943883299486160/262040244379634804277810209144405811 -qsub:-191594029/598205858083829268,446816852/164644010257658459,56048321/893326266268239982:-298833267632957457898965647/98491011434545366397536822011978012 -qsub:-575491297/25955098472036838,-138975931/6423674226330072,-340643144/90343407636590953:-4979702092675981002067/9262616505371226069222196177352 -qsub:-473218836/46012936562560027,926673527/60598178499774699,=1:-71315169705438365692335593/2788300143116822172490338163356873 -qsub:-16401255/53884896854597,845057173/2931801378584781,=2:-93621040622862865174436/157979814883206214102194088257 -qsub:-78818865/905572899138638,481887257/926039606509552,=1:-254686715554792714417223/419298185592029277399259635088 -qsub:116637517/435071997593711,431546961/511014413627938,-757699852/228015168261633:-128150546020991644612325/222328061736285879181642697918 -qsub:-108955903/383831042493702,422517039/842122710676085,337667995/131589026243929:-253929395929242726868133/323232837946423896536774516670 -qsub:-838736295/92052976509482,-126995685/98224611661102,=1:-1039620824328469286940/132968645145476678498140723 -qsub:692740952/65411481215877,935265461/38090055601935,-384913949/18100942097057:-11596852584880885994059/830508985505893916304640665 -qsub:-860091341/514295231452,256640967/7499412024638,-53504958/4042771540931:-3291084285252876276821/1928455921482556068257188 -qsub:563680440/4169101815059,=1,-402824439/859095166759:0 -qsub:987037827/249183535720,-9882433/691842226,729392866/51288203029:1572707021916944831/86197846017537656360 -qsub:427594973/45174550465,-168845346/330313786895,27534398/79447419565:5954721095702106589/596871073414937326247 -qsub:242570638/16753352417,33473267/19130627213,798544080/26148870871:4079739009798235555/320502139657639523821 -qsub:-376284203/51060506886,29964175/4314022267,946743721/88569137724:-3153284394383157251/220276163670510830562 -qsub:74562538/3217746607,101790049/9743999086,-125780219/323630553:399002717325726525/31353719997587601202 -qsub:42296349/1360874,206369290/316181321,=1:13092472899137569/430282939034554 -qsub:140753986/202352937,938572056/619643731,-19975553/199697682:-102705487079566706/125386728861487947 -qsub:285566114/446058601,342294325/851420566,454403609/475658768:90453534672561199/379783466532588166 -qsub:-161678013/7988168,=1,=2:0 -qsub:4509787/2436277,-428747855/91437693,820266458/82427847:1456913057137226/222767548388961 -qsub:234853231/269701,164588489/2987771,26310281/83858:657297992766312/805804826471 -qsub:-31992898/7754101,-108145397/2546307,471535535/4631202:757106590895411/19744321655007 -qsub:-668796933/155882,935009291/130380,48837623/940728:-2840839785661/247852380 -qsub:456817877/484064,62463895/102249,201875360/879883:2353235462299/7070722848 -qsub:174324995/23089,=1,-75895555/10708:0 -qsub:-40050163/4536,-337645492/6227,218198970/84373:1282167586711/28245672 -qsub:-486371763/6677,832463275/2822,668314177/8066:-6930898402361/18842494 -qsub:323293648/4923,451897472/6255,1266843/26:-7499610608/1140495 -qsub:-867092722/717,317941119/130,-414616612/433:-340685836183/93210 -qsub:817008963/673,332237585/116,450682823/188:-128822854997/78068 -qsub:364631942/71,-521194704/91,393312056/29:70186330706/6461 -qsub:-366929570/43,-318888401/38,12434704/63:-231122417/1634 -qsub:-960895081/4,-86364312,369915274/3:-615437833/4 -qsub:-88689682,-50232394/7,220772295/2:-570595380/7 -qsub:5045827429/82586019977510276867,=1,=1:0 -qsub:1503080467/4197901399132742687,-5426267647/98427189918387234069,3137956632/34196804706756691007:170722923135437211172114777712/413187638271101955385621594687817003403 -qsub:1357458555/213194631658339198,5860802023/9743688404730714679,5343163284/4333989766915232599:1711023093391439556544861613/296757437205742197184000936677098206 -qsub:-4868419043/1874304123005359675,-6816693713/4442416679029074571,5495574701/476000389079390237:-1264426975083621632892461754/1189491413944567430701990198321617775 -qsub:-1647705544/574150473752043335,=1,1879152786/115463808794482409:0 -qsub:-6055562447/487155696631523136,2938185647/317996041759500124,-4728956063/923230126390049652:-839249691117625070582468105/38728395812354051261713195025217216 -qsub:1426529236/11670702563243101,9841949531/91619079682399779,1403083816/16150846549726251:15834830123605943657503213/1069259028091357016655804645674679 -qsub:6837809671/96275996695534461,3411015807/98409047856427193,96187735/946145664954649:344503392583431867018558476/9474429166236077065902521068997973 -qsub:-1004764769/8655312988255579,2879315998/2504870158905897,-1660768037/5076443781115095:-27438186441369551619395635/21680435220272026384233246249363 -qsub:-1613849677/5578341227875998,-681199447/9468113018720909,=2:-11480148177455803120623287/52816365202520317549788821842182 -qsub:7085065306/241255838198475,9871968965/122428691848806,9976645636/596673705145837:-504751623414488774067913/9845545557175498481373256950 -qsub:277829246/34194391207887,945644619/248861822737406,507960871/53401800544381:36805350523599913065823/8509678523390688833157121122 -qsub:8778198607/68845960402604,6712013093/80288466242958,-1204808691/92342273421469:121346557454831419932667/2763768283874247206479931316 -qsub:576607227/41894800028798,=1,=2:0 -qsub:-8197300862/1066469371293,2407397879/7628604144700,=1:-65101379433675314418947/8135672666041382998097100 -qsub:433828061/8105976668621,12288275/146073601224,-3529694919/6043133675158:-36237643265303572111/1184069203423191947992104 -qsub:2306893742/244897997045,=1,9806514683/82914371649:0 -qsub:-6917120851/658194979071,-9884712310/347680431211,2627577543/430392157826:4101120451789026783449/228841514144320400184981 -qsub:4348960295/47252752559,7472787551/90699413377,-104990832/2615837561:41338366482986273206/4285796937549835581743 -qsub:92405095/21190566348,1628334368/828240675,-4846323983/71007937340:-11476264601192136313/5850296325233268300 -qsub:8741146531/1488923836,4234232059/588146433,=1:-1163374887262484401/875705243152076988 -qsub:-7225160297/450834154,-10918713/11024261,3391394031/6088513222:-74729524142841715/4970113381410194 -qsub:2938592113/331333420,3934937063/187151085,=1:-13705735495420961/1127443800904740 -qsub:-2273685624/814502443,3041871576/168756109,=1:-2861310168939737184/137452263051674287 -qsub:3296666020/58254199,2646013137/43895953,=2:-9431079168795203/2557123581356647 -qsub:531031879/25049980,=1,=2:0 -qsub:5011008152/8879109,=1,8455979085/128459:0 -qsub:6770210010/3190157,-4380377540/4239579,3903233564/5705791:42676932255859570/13524922623903 -qsub:7663675612/749679,8111469146/393203,=1:-3067617836238898/294776031837 -qsub:4928169857/385836,=1,959097302/535523:0 -qsub:-1033483668/35795,-5074071593/2166,2441844767/6292:179387867046547/77531970 -qsub:-7344953203/83791,4312882738/17085,2299543269/590:-486869282973013/1431569235 -qsub:1418881373/3187,-364599262/733,=2:2202017894403/2336071 -qsub:-9933599930/2319,-676583006/3991,152888566/817:-38076001329716/9255129 -qsub:3939072211/317,-1768855994/157,3228818149/267:1179161687225/49769 -qsub:1276721019/328,1232959715/379,-1601655315/2:79466479681/124312 -qsub:3256070519/2,1845522973/18,5526750176/99:13729555849/9 -qsub:5966979829/5,27542839/7,-425197375/6:41631144608/35 -qsub:3307015390,1197592867/2,1660312324:5416437913/2 -qsub:5489019241/5,-3873449097/4,-9097250437/8:41323322449/20 -qsub:-36147389137/7366455075149766236,36459659324/31660854497077511625,17927437097/85118037223370314774:-21090084632556843838855432867/3481018840202610972909309235691380500 -qsub:-43262536631/6771439507252414257,9845873437/16005003509293583369,35333513871/31102122701082443005:-759087786974806113821731281148/108376913076544103155525491523953691833 -qsub:1879439977/100949624469036789,38241797291/3160034691975528111,7272414554/1249028818965241647:692866817752736748847051616/106334771821352635019895345254225193 -qsub:-23480972450/1429132014458260453,=1,17730739651/3229879048891135949:0 -qsub:87672655831/185695396976817387,=1,=2:0 -qsub:19335279285/86985857831839459,35182894985/296532209461553487,7819401698/300283568935056049:2673118785659508665734403680/25794108614783931312606692925643533 -qsub:105573770/9591706978551267,-91012289917/82779886875572184,-95699623013/92086977963850524:293900867022815896407896173/264666806209370051637912001052376 -qsub:81888799513/62677875753838689,42525624315/5887466452325273,7440075611/13710507286638085:-2183298237216013854166130986/369013890803736912387239799887097 -qsub:45845595582/1944435405423019,3957631182/8503827262812577,=2:382167667398204481110256356/16535142811414295102976398509963 -qsub:70073122775/9889502421893828,49758775289/4581689842004485,97971868835/5554125313499619:-171036213915285631762370417/45310632788869704568457369818580 -qsub:35007906083/96744217462517,41582054123/195125002566641,4259598485/79647205603988:2808094477684438458969612/18877215680681304677212095397 -qsub:53616094879/804153146230066,-40630189441/409120361012696,=1:27304165381945598904758445/164497712747569959659181458968 -qsub:49936923088/1008159757073,=1,=2:0 -qsub:-54774651067/87557778501674,14552025462/34442391625465,32721932085/17018898896738:-3160713005350324584244543/3015699297010375993083528410 -qsub:36944437609/1522384186532,-31109095589/1913990492988,-90340980434/4550319003301:7379456095901269524565/182114303731094876877351 -qsub:37427798265/3644867199671,17190258551/4857734158151,15531453562/538438754347:119158084549871401271294/17705795897765998009168321 -qsub:-1297758412/359023140343,-13169443469/334495854946,62942721054/868305110777:4294040141274688464115/120091752274429528686478 -qsub:64548705326/965177946721,99400187824/233208667431,-40288901926/927917471935:-80885551634177312487598/225087862788593125943751 -qsub:22792905511/831110170,=1,2899870693/1104812470:0 -qsub:-4225625539/18480348712,12201952952/28791900419,=1:-347160135247248998665/532084359824298910328 -qsub:-2659312874/1644066659,16956954950/4918000213,27389168623/355474397:-40956865552225654212/8085520179148198367 -qsub:47019333517/2453731385,25608075613/4795411666,-79908243099/4320471629:162641721633895395317/11766652108859337410 -qsub:79879022561/451475806,-74196589329/217100545,-15269666465/326484577:50839744301821669919/98015643536914270 -qsub:-96216336903/275984570,5409672454/132808555,14083109727/56233823:-2854267759507727989/7330622388799270 -qsub:63979921573/4858216,31476961600/87404319,9515612291/12422366:5439199596284968187/424629061034904 -qsub:82582224886/74464385,=1,10918064727/56241685:0 -qsub:-46341807304/5147537,9784020329/2675947,44710947790/4319699:-174371826881996561/13774536192539 -qsub:-18674665469/1251399,-11269265668/7443487,57599246809/9830290:-124902281860180871/9314772188313 -qsub:58536600266/32903,83073082013/333030,-39859237469/373423:16761090369112241/10957686090 -qsub:35519852107/330820,53390770345/780257,35509809151/171706:10051878599918599/258124620740 -qsub:-63435900802/6951,=1,62381742036/76259:0 -qsub:-81473653859/71229,11757463559/6248,38764522219/56443:-1346519761155043/445038792 -qsub:44117486351/5857,-2571472421/106,=1:19737567523003/620842 -qsub:32241620201/9076,32252415098/1479,=2:-245037563152169/13423404 -qsub:-3547397518/617,24052413914/841,76689146655/466:-17823700697576/518897 -qsub:-7334508913/948,39473373047/321,1323910388:-13258378336543/101436 -qsub:-3196198423/2,-20901693416/31,16678712262:-57278764281/62 -qsub:-62722671643/56,=1,=2:0 -qsub:-24012149879/4,-24290006742/7,57308122924/5:-70925022185/28 -qsub:6872078720/7,-32246825481/8,58358089888:280704408127/56 -qsub:-959881635801/62932017065985873602,-493229779705/99840110881639578512,-80856942953/6609275501579816959:-32397372018886953016823147330351/3141569780936631939917776357106693620112 -qsub:-332008736903/30374537863168416351,682789260493/54319888411218401110,959961568525/17615592824200222523:-38774085785529920230015532683373/1649941507269636595870960818509000549610 -qsub:113948825097/9684396113323745389,=1,10627090663/610867879165779530:0 -qsub:163071738121/654459680340198322,272886493781/4350646667188036069,-795490699161/9312605941419401831:530874306479618083947510650867/2847322827081031281338460249149276218 -qsub:76846819557/104316101165717458,371275948758/843864366174376699,-256575092889/873170706343972834:26118233246947241582284285179/88028640591990321004129490292711142 -qsub:389764163769/207967463890639277,143006030005/867552974642992847,452774579891/377044461928347543:28036405300529641258282732178/16402071993389391564815603942568329 -qsub:580979558458/78741205846222619,33032926279/1750557646838547,12997506366/8714829535529515:-1584014239122301048375024175/137841020015393107847327312494593 -qsub:224741963637/14683522164236398,-960061639375/75273715504183749,=2:31014248993459091498049306363/1105283269990107068967870865896102 -qsub:807804997047/7249998154317344,9105704912/112491433689913,26073756553/3602151159257410:24854798453934594011093183/815562686628381139953493751072 -qsub:191337323199/6659274625984151,83413589251/1210878215905176,-306099086431/1081677916528086:-323787801810171460500982877/8063570578334296950020294865576 -qsub:-331867978975/508606776667332,85749318495/2137585782677,377450159524/218818801378045:-44322080754745095885121415/1087190614777265014877407764 -qsub:262259669890/904860545418883,782901326213/392394092067508,308978360414/335667028727945:-605507375993851106638145959/355061932167352680139373953564 -qsub:815877865693/66519087957156,-546996067745/51276831144013,29432156288/2425613695755:216679532121401094151189/9448443326960766943517748 -qsub:-562619974684/10325037296475,556872690819/57561686137409,595241901749/85716594322193:-38135085699491971638916781/594326556216735906721333275 -qsub:569774646278/5879076793409,-721915496161/392079169147,-50551273318/7061973297467:4467593410196183185587715/2305063544511209685752123 -qsub:-558695968419/8022121294387,-777164712527/4870971993346,733030717073/7075271044115:3513117174644727699545975/39075528152183639071148902 -qsub:230578421654/363657556093,=1,36043149487/191906623355:0 -qsub:-442745155107/891737442305,209381515609/66199123967,267993885312/121209167453:-216022678603831030588214/59032237489164205223935 -qsub:191691349919/14156267513,63217315803/9723609341,-128345831172/10660892885:969010566700217585440/137650015023101638933 -qsub:4645100745/1355591564,-122150924616/84421443943,321940027501/7149085070:557732875097854576959/114440997229829696852 -qsub:444175516387/7975146669,-45314342690/1470525299,290828709372/1185708607:1014559863205550574323/11727654940000079031 -qsub:789307912523/3728805469,=1,424506863658/9402774203:0 -qsub:-502776486811/539515375,235504157527/997755438,=2:-628706087676449005843/538304399290859250 -qsub:5577709792/27083659,72210181067/64923595,840185174073/737144356:-1593590948783541913/1758368508034105 -qsub:185204908129/17512100,=1,397024789371/90565963:0 -qsub:-59165606754/7623599,=1,410439347980/15967881:0 -qsub:821602843151/5722683,192153300265/868108,739244189764/864319:-386392423858282687/4967906893764 -qsub:-321094052171/8002674,=1,63324198409/402344:0 -qsub:-787087016971/706048,314711556301/97333,461259945208/201559:-298811005526046791/68721769984 -qsub:264872646016/44135,-306557419723/722285,-978795728169/729376:40968690169428233/6375609695 -qsub:165112253012/26681,68785586791/12017,-119718397615/15426:148885703274533/320625577 -qsub:17528604773/6611,-99181928610/39343,-52006507697/18356:1345319627624849/260096573 -qsub:871912524148/5723,182323508186/1091,203321662049/9639:-92180873503010/6243793 -qsub:3526953029/731,=1,-108468202939/365:0 -qsub:313486413069/844,-262666586523/625,-366626397895/982:417619607193537/527500 -qsub:-428607477029/682,=1,=2:0 -qsub:90255143123/14,=1,347531313509/64:0 -qsub:32303888109/19,818375118441/16,4032541865:-15032265040635/304 -qsub:292300807915/3,141298658917/2,331142787887/2:160705639079/6 -qsub:-319866639686/9,263653231334,940025135092/3:-2692745721692/9 -qsub:8034198041699/17592454670005017397,=1,=1:0 -qsub:640259140119/57494394354649546144,-8575402433581/98527174739603547922,8981144595803/52261736819163067566:278060246721630225656578041972191/2832380119564115796138164460514727156384 -qsub:1236159983468/2961715085662590789,914344518503/2225413786553289931,-5038738670790/9117790154416123369:42939515651941188118242991841/6591041583476387621705131100927045559 -qsub:544927281821/225573104564678752,1983999095212/528108855513999917,=2:-159755912219641308519411726567/119127154086392326185226159659663584 -qsub:236180252739/93711559633857505,=1,-875119448860/197150931692089343:0 -qsub:3448258604904/101878636218756661,-9369719313239/333311169679336117,-325685803073/239541171961239254:2103917334342722557318697252747/33957287403409359538552421651625337 -qsub:-7939222138274/86505941453702773,-7521663898635/32404928066636033,=2:393398694553935776247333587813/2803218810143866461870349953819509 -qsub:31222491771/28663266692274319,3403082415831/7352452962268472,-4014317624213/42643848690867324:-97313896958642034025767600177/210745320099903543783491148970568 -qsub:-294177603665/4628696580309847,=1,=2:0 -qsub:-9743813636414/8886484266786635,-857487733127/2872659401368146,=1:-20370606598428196700274910799/25527842574094742730786067528710 -qsub:-255869133971/251203098733934,=1,51860449406/2731920492095:0 -qsub:-2551627469690/620119144262383,795142214972/32216229353871,3950813535806/548061345549077:-575286725704502987095668266/19977900578283148512980734593 -qsub:195247370817/63337336480054,1748779495123/30608951696454,-5591675662514/14668720736915:-26196679492456802179448431/484672368225006676058382129 -qsub:-5602181260057/40083459443536,117096388229/5768970730471,2776946949919/9603782260822:-37012448044623646265634591/231240304305780581099185456 -qsub:1645392691271/1862974141789,-9156882237455/3971219830691,81994652595/616265197207:23593250912635096190105256/7398279855937023607846199 -qsub:-5034167196133/6608304488230,=1,=1:0 -qsub:-2111179317912/94974899629,-2734989223771/337151252491,341842794161/202199642400:-452031424253078525037833/32020906365124361225839 -qsub:-3760876499263/10213162407,9612839350222/220968981509,-431780312153/723158370431:-929214539099496136632221/2256792095060796932163 -qsub:3321533964667/20955327844,-462499260819/4621872673,-7406461174035/83827773626:2276684609255051253557/8804805192358146092 -qsub:532057790509/3873792604,5011839386945/38790613612,6678622123429/35927572362:76501363831601540858/9391674507174207853 -qsub:556360173467/244347911,=1,3477739385301/4086080128:0 -qsub:377956900679/9728280520,=1,1041480439146/9369959143:0 -qsub:1811463975309/425739298,=1,7893909438664/413369383:0 -qsub:-8501443522317/437865641,543359387910/555098507,-9540116747492/861158281:-4957057013263567681029/243058563585697987 -qsub:8568564545305/64448189,=1,8670374182673/15999622:0 -qsub:2886469384143/37100146,706817551959/70885648,2821141489561/36201922:89193109177047996825/1314933945052304 -qsub:-5397172720924/583973,=1,5493925869599/2184027:0 -qsub:632128111787/9181877,8269779184000/4428251,-5293123430135/8227357:-533816593733572799/296785810271 -qsub:7690264089163/217441,-454719683537/54069,3844686753380/33269:514679591744923064/11756817429 -qsub:194395407442/487085,7382213747658/754049,=1:-3449181920691764272/367285957165 -qsub:-6820161889575/40973,1260560268388/12497,3951119679544/19667:-136880499010680299/512039581 -qsub:7733127302799/541,-6375441080647/51092,=2:398550053779236535/27640772 -qsub:8552562777105/6802,4122196848132/6401,6588275470270/5237:26705771375255241/43539602 -qsub:892706337045/1181,7525927198633/6084,3376981309819/6148:-3456894667003793/7185204 -qsub:-6525943779397/22,1169543393537/155,=1:-1037251240464349/3410 -qsub:5679159008921/101,2475493569771/410,-6099782991203/439:2078430343110739/41410 -qsub:3105196603053/35,-1561253366581/11,1543062844359/70:88801030463918/385 -qsub:4851198644302/41,5582000284949/83,1538859614246/61:173787475794157/3403 -qsub:7388598539023,1819068317039/2,-1736481275601/2:12958128761007/2 -qsub:-3766516642396/3,-2830365650207/3,2537215743415/9:-936150992189/3 -qsub:-3499529401917/34680274552088347393,49898319429097/81175729919276761270,=2:-2014564271063470770932585857648711/2815196600566690542230200403343687869110 -qsub:85499989069177/86185277165079792548,-54755717014977/95062349548332003740,=2:802935405911321108881332428232086/512060933986668223303815291051772508095 -qsub:10480741720249/6956596051054816346,=1,59792433694419/619860836842181132:0 -qsub:5440922563791/8096299805235361768,21427106892442/4734770642360508925,=2:-147718760937640942166837597622781/38334122629577497138638724698967779400 -qsub:36141945949905/51170764877853868,68289830259221/944862420318148725,=2:30654723677491802840116592104297/48349332752019923728004548840518300 -qsub:-65660705848034/432686937944828595,-14162742932711/370354589759953089,=2:-6063236635081033520164429735327/53415864465682424679265419115259985 -qsub:-10234488359092/9219723369459949,11490568299383/78007645593504592,=1:-904308201825094205011706861931/719208913074983700054297291585808 -qsub:8824638624671/49117783640687736,71425056890483/80617302142742478,31478624534929/82599814978820418:-466136988760823218273617123625/659957200723862808591316843474968 -qsub:2271907634573/5997198598392443,=1,=1:0 -qsub:87118386941689/6769664747763328,-92703763358616/5951838412401733,72544030367331/9826030071433516:1146087960619838557486271181085/40291950684819664403468341047424 -qsub:-38735368831/390121272239902,18518285294580/100122679213001,-3887528092655/74244322705899:-7228255307730681475045702991/39059986994643540045829365902 -qsub:33507643620217/383472784483096,94120308754159/452308027073903,8479974951625/419952955125076:-271906502553380052184822069/2252569072546560464977223944 -qsub:10914633574213/46775840995232,=1,=1:0 -qsub:16227980458171/44733418409925,=1,14382677933809/3568384653206:0 -qsub:19887329250905/3446066449222,-41404484338255/2669125822468,50077337796229/2478834856350:97882194184456020343960575/4598992472779525554359948 -qsub:-23925661872806/841256858717,91800998586059/100553852929,76785865874845/4626636784081:-79634037182778870157375077/84591618446941749632093 -qsub:29336106782491/175641800187,14997313674741/788809675295,41848999082110/169597375583:20506449693715551470283278/138547951373736740280165 -qsub:-6749631331552/100780901939,22080836367893/122987967423,28833497035036/165078850509:-3055450043045906849075023/12394838284534289533197 -qsub:25051511362687/10396488145,38509696040707/88706839049,-60514064785671/63433114810:1821874788029306610246148/922239600553351574105 -qsub:48606586904983/42071764992,29823112345620/42059865901,-21691164849293/4231585639:789675553193949088149643/1769532793781906337792 -qsub:-77589654827242/9817530799,8253947272810/520292243,=1:-1178666768036851921932/49592088544983419 -qsub:-13743493332261/1526967682,37506929991611/658645334,86046505206712/7222464595:-16580989426095086858969/251432534729523947 -qsub:-51679389983753/476057441,=1,66423598858706/714202649:0 -qsub:-27413822608864/942542701,-17319180355605/124314974,69101034128319/135803866:12916118386616536859569/117172171368704774 -qsub:16033466371942/6275041,3173224097293/838266,29304504765697/93980195:-6471801590959231441/5260153518906 -qsub:-14788927543191/5343139,16116445186754/71171839,-4194013841977/34472148:-1138667576905362979055/380281028662621 -qsub:-11863377566581/698789,=1,-4578191177718/4105669:0 -qsub:11442715386293/9531887,=1,35378701532975/8123906:0 -qsub:-15768066912479/362615,92363606714861/652333,67857319926071/827985:-3979859967466135002/21504157345 -qsub:-846557698591/239267,-53144962049294/166663,=2:1796392255561165095/5696708003 -qsub:27268730445959/36577,-13465608951811/44542,=1:1707135370154296725/1629212734 -qsub:-9770756513988/9073,7801336502379/467,4503088681454/9263:-75344469378117063/4237091 -qsub:-7026119147779/830,7101024857299/2048,=1:-10141671323104781/849920 -qsub:21638871622139/2468,-42476176597401/7406,-16930478429705/1639:132544343537973551/9139004 -qsub:24211191920307/215,-80284684935585/301,32429769785659/56:13276785305118/35 -qsub:28102057542845/404,10141824152597/778,49924151629427/38:8883051905342111/157156 -qsub:69683068555423/53,19160487574994/75,34686281737182/41:4210724300182043/3975 -qsub:4481580939807,28880719200344/47,12531106213795/71:181753584970585/47 -qsub:-4015047513343,-99632851064851/5,84319873837035/7:79557613498136/5 -qsub:54919395403009,=1,-97138101140295:0 -qsub:210307390461968/47213629337306710429,115035466737199/13799438784982683745,53333082063959/13664786811438045265:-2529117926464810402732988541238211/651521587857026504089626304754000276605 -qsub:-297705233604298/34583872960377931369,77978617195104/5299999273198438663,74378398780959/5075493209379777979:-4274640112431569633737006160990950/183294501554390171572563143412570119647 -qsub:504589485072677/8294597886664545269,246812476335976/1300669888373460411,681100309448968/2603298518001254955:-1390905895394928956894286988007297/10788533707350714724434632367288845559 -qsub:-78507045905186/4052782705070927105,-26333160825061/378849069158294234,245855933356429/7915638278155738995:76980257498111295165827733680881/1535392955316954446563765566755812570 -qsub:158467575315099/42867668947782517,394831131302747/679471751533163594,-48561231318802/281924646264500261:90748750733599226955741824631607/29127370104093594835779192094086098 -qsub:113675246712051/200230549051637699,388686281013415/708939569436428256,=1:2762013003465965719694013380971/141951359232687658393740425918422944 -qsub:73765282645495/1035056942801718,922427291192222/42055305183418997,-56658710176289/49777804321460907:2147456701619161856688029631119/43529635611742911300567485436846 -qsub:11558926182346/2193559666056113,-471907499361325/65178860043302296,906292398921179/61879479804047118:1788554888598395874379208496141/142973718470504311324402957735448 -qsub:272316495707495/5727398323662772,165581996805511/2159650095677579,=2:-360245704923343561937821381887/12369176337681911126512437388988 -qsub:-342373342517849/1018510666353060,=1,349084421810221/2519615499139835:0 -qsub:107181823655878/330213883798891,603343425900400/335568866158937,=2:-163265492894049375913454174714/110809498576332828976950338867 -qsub:186420967060580/27505382732689,107841057765734/938888436801099,150317703871619/56186192325509:172062280782312586790437698694/25824485797510315886178425211 -qsub:277369102524627/35009202732584,-58922735852011/29409493631158,-114354072702623/27524533096262:5110061429589788410990577245/514801462397924199102126136 -qsub:-208415718182346/82232835696833,-149287320962885/17528744477017,144393102539827/5550994994610:8623053867348966063892901323/1441438364550307853348187161 -qsub:885772499510025/2385708677677,1981679910892/945475145135,-927158264975185/51617668049:832748171571039374752920491/2255628258276490509651395 -qsub:199709343421874/120107420805,250421330523511/911998437151,-85756219123893/3387032230561:152057148961466103844594619/109537780064397502326555 -qsub:229005499534863/114476975336,=1,7933977177406/971528526457:0 -qsub:913313238746453/105012167131,998890143666531/308838539768,-340536941048242/129794732609:177170708293018948806450343/32431804354611205965608 -qsub:202747896046111/4130383286,-326610886734874/924106823,400325691919789/22798999151:1536388861680468580631317/3816915376197760378 -qsub:311867860118047/14615054044,78891545894795/49519747784,=2:3572653392028586160839217/180933447527102309624 -qsub:-187714403734023/740833429,506207386211644/6706938891,-756195691891397/5384742450:-1634004388516894022835769/4968724536712987239 -qsub:509320078163086/994171477,-149792211533821/1161942848,919509848550973/7287718870:740719966348074014332545/1155170437385746496 -qsub:744782913412383/35221159,-843622816486697/241699112,=2:209726742160051637325719/8512922853910808 -qsub:110124296861427/126487978,781814771935103/735468241,103648920994391/217349966:-17897246768566789251827/93027890687306698 -qsub:55559598357120/4133243,136581368630879/43479449,-46084945523102/26713943:1851176737404882616283/179711128223107 -qsub:245122390741101/24043876,-76258811060014/21938089,448115170340604/6879827:7211074221005454870253/527476691592964 -qsub:100716567078550/981447,=1,-106552246729921/451809:0 -qsub:-896329574019135/7303813,-344467277086635/1213327,261333607789282/121043:1428383703404051827110/8861913515851 -qsub:76900938369059/75326,993229733624034/890555,-908067780499933/8580:-6331507745706647339/67081945930 -qsub:995595550040069/769920,-34334285476045/592726,=2:308275010533383252247/228175800960 -qsub:10750797928613/490,364135307090702/81553,469882435848719/39098:698333522997732009/39960970 -qsub:318012047587094/63457,344774587461563/88455,=2:6251394672767996479/5613088935 -qsub:-161244027390189/3742,967621707258700/3013,=2:-4106668683088694857/11274646 -qsub:707755729590189/3985,-311896862542891/2746,890911807982825/5104:3186406230688079629/10942810 -qsub:-62494041004924/7,-6009036767325/88,277826134449449/209:-5457412351062037/616 -qsub:313000944443410/187,-424215294038191/492,-69562914630308/101:233324724651299437/92004 -qsub:-214477481502137/44,812058199759953/13,-233671238320360/3:-38518768048965713/572 -qsub:54243114068304/29,862438291931992/63,26733981451778:-21593394279724616/1827 -qsub:266687619713649/8,-362755079043871/2,389177566612001/4:1717707935889133/8 -qsub:653323126774499/9,703678334484790/3,-319996079506951/4:-1457711876679871/9 -qsub:2559305963434670/8990269372406324049,=1,4982250095086138/44081334052072166999:0 -qsub:-1992239658448600/48178503938440461483,=1,-140689209800518/56784446808413335831:0 -qsub:939937733606495/990699059564945896,1384063287837877/148639317667949967,1401228942153371/4899174789530501904:-1231478494265723021017590198267127/147256832228013279266729677589985432 -qsub:2427308943763117/3926876732707845738,-3053828283650605/3709355702828503657,-6851889315460370/7456794982130606687:20995759505827045845208479606590359/14566182602774409222023359782524863866 -qsub:1132187368153827/166386612794510246,3559319078115267/192456340011573829,-9701789017274666/34504738221262233:-374326408180256253543105561132099/32022158525354344242032513725951934 -qsub:1011380512372054/229809286711122957,=1,785057330967873/261864117017722910:0 -qsub:-6373636813888041/82626527312705989,2824358117452821/9660944401937999,8376921479245765/84777299790282297:-294942254029695997688528161214928/798250286493264100581508493976011 -qsub:-9564803757424938/80601591821040757,-5966553227630720/32402706800195057,3062333169701829/13649400405257704:170988156078760300221549229123574/2611709747406183624616884346938149 -qsub:-6645498550927964/1641651956201489,-2448344965334987/7285796471405420,97763428336761/717874275284599:-44398419591282543726427305969237/11960742029768613657228526670380 -qsub:9428078639060/796311207574343,487570664734529/270542984787885,=2:-385707284276751727768550801347/215436410917207812839223234555 -qsub:-8945032146859492/173832543857525,=1,3904355716222363/11348996463718:0 -qsub:-314682518932207/411979868553284,2079866721697896/66512597834021,4675528081388171/426553668427461:-877793570440583492839563904811/27401851312797413669226474964 -qsub:-8416034028506899/32609965027765,-2867068576526460/10471107007973,=2:5369813117494012224678656173/341462433331984537021370345 -qsub:2553878719400981/21754385300349,84746758238377/1863679896278,-358102168359771/6286290072209:2915998795206632613088155145/40543210540146072197201022 -qsub:4236427671394109/2859515833221,=1,=2:0 -qsub:5583901594900219/6147672416839,1662784468995713/977705344691,6565243303664406/3132796116919:-4762843781630684936693623878/6010612179352927527651749 -qsub:5880633088314980/144288094133,445227880160405/385441741948,=1:129552963472585426795492775/3271450255587089340652 -qsub:7123796066897691/646623152591,1738054940928918/811478311493,-465948486952257/36744411995:4656939438506791528261936125/524720664036825168028363 -qsub:-2868399842871272/39606511493,-7967653324405171/45882725248,-4382209264799369/87703483877:183960951073424117991854847/1817254684865073275264 -qsub:2456186256319560/3308343473,=1,3527461933566325/44562489087:0 -qsub:674305784927060/4912146059,-9009832420557345/1095083558,555087666246961/159683002:44996033995029100460532835/5379210383705397922 -qsub:9556395264243127/5642678959,2704206989021393/1653137405,3456993987111567/2767730221:539062590553413975895548/9328123651529361395 -qsub:1913172323114056/317852309,1923331312586217/68059942,5111100924241691/235015288:-481124901330381924280301/21633009715106078 -qsub:7396974207537751/994805053,=1,=1:0 -qsub:284214608834666/15371405,8605121290252485/36320753,7299109191726065/1345108:-17421416545731139652561/79757286323995 -qsub:7309254006136367/43026806,=1,=2:0 -qsub:3445238551293254/7474347,=1,-935490243888754/754065:0 -qsub:-4928287873457776/7482701,5635600141645415/1697376,-9526446027760/22031:-50534668372988554461691/12700957092576 -qsub:-8478337945368580/589969,6645220551921478/525883,=1:-8379087917520827410322/310254667627 -qsub:1719300936213092/194297,902706986884743/48626,2385654314953825/180074:-91790532106447099079/9447885922 -qsub:-2129417266022053/3839,6573034386134051/14296,9786617326073399/94956:-55676028243419891477/54882344 -qsub:-2187293709879460/39491,3573469347555406/99807,4017132988613391/36830:-21142770665073517798/231851661 -qsub:4464053162985503/909,4551500989123885/3361,84727686825382/35:10866368281680664118/3055149 -qsub:2535331877045977/3627,6763176539554039/4483,3870940332291032/173:-13164148504165384562/16259841 -qsub:2507736196654456/51,3033138651383092/821,=2:1904161346232770684/41871 -qsub:684175263169205/133,=1,2378871296865361/491:0 -qsub:-646739283957087/8,=1,1100407856892355/16:0 -qsub:4793571136533963/92,-5722502959595165/61,4757322618112904/15:818878111611326923/5612 -qsub:-7552421230993378,4948198001592823/4,5729503250754923/5:-35157882925566335/4 -qsub:-2755491483441304,=1,-7933615614234907/9:0 -qsub:321721693263421/1424970458268329442,4783029016817033/9976530684162778611,-1284537047056835/71620015235724957994:-400667633933462179077276150388595/1579584611215498321716283384428796118 -qsub:-47606652409415837/99944870827944430499,23322967894703462/17256392723432667009,17445922268336980/1262651123373099837:-3152530103785264263460897588705709071/1724687941699758103837340929139210707491 -qsub:-35800247390542268/3022381832969706807,27658822050080425/3538855927509428196,7414524545924163/4386817849214572582:-70095812989943154324914458022980501/3565257954933885823399042050112976724 -qsub:11270912894283697/4254771338147418239,21165198074272866/1790561357737218389,=2:-69871817037702583386330221699898841/7618429144094642739542804241664796971 -qsub:-22475320938058069/200115960226568483,15533995839026021/419448235219902685,-7677187468882297/691145254573545404:-12535834196951596319645500834511408/83938286356370387266153122748076855 -qsub:6144083459003009/341129592319435505,=1,28739569462221666/606069168271474349:0 -qsub:22546360696472435/24894286772021269,84274062567114482/52430302346827669,-1685672888973312/2330511345390725:-915830172852329009982850908113643/1305214982165707736650909145691961 -qsub:4376832304770209/939333180215946,3715739686394692/26867721681796733,88210818404099477/4648321047973775:114105194635987182911079063768565/25237742452519050348798217304418 -qsub:9647062281850006/4819913902499121,26298077512843496/1999760481189285,=2:-35820885167446167638178828727102/3212891114984188905357249039495 -qsub:-59102942672072861/9022665222289159,37341501938137229/6463207427444592,843867142853825/330321510152954:-718914448947247239109480525418123/58315356880045303166891874778128 -qsub:-48186053317977182/524586203313577,=1,-88203767474302754/222044585954625:0 -qsub:2980158547616795/16459590834659,=1,55614737163455091/802181444522069:0 -qsub:27674141753240653/30123979153216,-69911536707649590/61364291872711,15121999849118525/43270921417874:3804217786223168944052276101723/1848536649125408180638288576 -qsub:-8139585494164199/22694171735055,16416172833245775/23356807697711,-82721251840807344/24795330336689:-562666178636295181890388591114/530063405074508024821959105 -qsub:40963317287207743/9100834089657,-89978521261181858/4614790398485,=2:1007916716937791923695301312061/41998441775154099246969645 -qsub:-22418658716107103/2534171344870,-19948846211000086/637313996471,34428844071591534/7978524432977:36266069449253256094105625307/1615062867541388503953770 -qsub:8499094378194009/144881993257,18142016047956879/328774983548,51933573865337015/728907876721:165838167635160267022399029/47633574949471621935836 -qsub:10952289218891361/410721990889,11230753555935868/494713123343,3356713875262630/76566376963:805523747555915071545833171/203189558938352379221927 -qsub:-48383763418441148/36254620229,7147640525044487/65513778698,-83702869612157193/80045858746:-3428938161941039381724192827/2375177166462740081842 -qsub:-35618330302934381/40720985765,-70406046479991145/43883735712,=1:1303938222964954498988736653/1786988977243374139680 -qsub:19345365507179985/787013497,20346629715849781/1124536845,=1:5741504087980952707553168/885025674888796965 -qsub:25916947948395837/4727212922,65968479175889910/4243635367,38561855794849199/1001864541:-201864970286444028592649841/20060567943138612374 -qsub:-83872784258426507/338189336,72676607354297993/258443836,-31045469397994216/211178075:-11563714420907729197990875/21850737322533224 -qsub:29002323373127602/104867985,31657958092331122/399470525,25010437022653087/448628233:1653133413945169069200376/8378333804728425 -qsub:17927870354086417/3556758,1245879275137696/8208269,-3178672357614557/3197484:142725491384586358632605/29194826431902 -qsub:-62585597691019581/32367872,61984767454961662/87347591,-3097688625515242/23912601:-7473016208537687574702635/2827255644996352 -qsub:-64134232347614188/1287231,5681700507230407/3441090,-22197438767027251/8198005:-1333364483126750936947/25903378490 -qsub:80521535865700778/4914387,29629877920205801/5735623,-31675469441529533/5832635:316228486243991867655707/28187071108101 -qsub:-12089212581249183/367213,39065393509910584/485831,61520933914433223/513745:-20218634584515667108465/178403459003 -qsub:35626200118349978/22677,3226283532016027/401890,70294093126508565/985048:14244651133908145214141/9113659530 -qsub:-42445465189342283/64064,52962797531106583/66292,30509808145126571/40195:-1551700859841172689487/1061732672 -qsub:94842682855165703/29546,-21781294090030679/19071,-98420376085320606/98821:2452294919914911563647/563471766 -qsub:21298039427969457/4529,41390344046065517/4944,-47466303948648638/1437:-82159361252749731085/22391376 -qsub:91816424325919179/1700,99837657326420362/9975,=2:5969158521569033561/135660 -qsub:84285557657486063/501,22158640591353121/907,1409871428669941/18:65345521859071945520/454407 -qsub:-74339750859264619/932,17864819649304693/421,6794209676711141/199:-47947047024902378475/392372 -qsub:-78194010431589383/58,62126554703583997/90,93510406253215651/10:-2660200277912729074/1305 -qsub:71106157246341874/49,-1886317442316576/19,=1:1443446542354007830/931 -qsub:-39663070419423940/7,33868806617110099/6,-19327938437654750:-475060068836314333/42 -qsub:52313046276155719/7,90139156444699943/4,49168703277366491/5:-421721910008276725/28 -qsub:31764659627457502/35459829258840257855,125864014273474351/30437232401502771513,-438810788001077539/21929003917091975594:-3496288128734077196451731372945036579/1079299064068928704074589544922068484615 -qsub:40163813719117127/12253004736518941871,-39840230360733540/9868332108049144213,=1:884512383820142074541633838441289391/120916720061468118490436389825843042523 -qsub:616147121341955963/2895479716224140287,529082239113522161/2438652913112833925,=2:-29377919201006207047359381264955432/7061070044829121412952661959332836475 -qsub:150980224993479452/371034742997570395,=1,97628589854512901/1461818398649717323:0 -qsub:828501131055695330/861555563679753833,-968363844399576751/400987885360876602,4318808141772773/272140134925135118:1166518174369888540148356746507605243/345473343600842551070257384449515466 -qsub:997737191667232852/878873090216825721,-215309181373978527/178339642478000642,44112408043295555/167730641087926307:367165539635142230228004432374783951/156737912692804302819698495840112882 -qsub:-874288368924506038/33067894686016771,172933382638695999/15746943377378890,=1:-19485912325748182437244211303337049/520718265229834381226960561364190 -qsub:113445092902670316/24432013651972039,789628644660942395/81838347379866874,-253719530063131225/7192012672525274:-10008058904834319340307600738181221/1999475620439737613479475390336086 -qsub:469761512155527237/7409272817081662,644368433953482322/2796535736601265,-743279324916258749/3941987500967613:-3460596665454235362140115831224359/20720296215197195433635837502430 -qsub:8261654401496347/568538524395616,-778532546601001661/1096269337597285,-306562427101658699/2779592495957628:451682743636680727605399921736071/623271351537719810570227502560 -qsub:461974279165354118/107945644045613,=1,-4203580865175374/431296441354377:0 -qsub:999567545272721386/528172429856767,-306849659405574946/410631585483429,58620020684173871/34198792094556:572523536122080656350523300672176/216884282280719425778922014043 -qsub:838953299025019215/26401444256374,855300290662954227/88914568043701,-233880940259636371/26804240414928:52014007245249037196988469721817/2347473011785344971879800174 -qsub:-84648269690239765/7748568048141,86620759660993385/4650491023414,740584294215236889/18424376078527:-1064842868956861583564451404995/36034646152192259510173374 -qsub:144119271324804795/7593869059598,-862271465889805512/4817698847465,30615084012712336/133690674221:7242299853153814002244162498851/36584974216225407996219070 -qsub:-514146414782774671/7780370709815,270344156048491787/2722967818331,219882280138478/11635197457:-3503381894653098523553024083506/21185699057511364438618765 -qsub:27542214966861168/383672867,287936038111037884/394023185191,231925740783907885/236839247989:10741798023203186757550669660/151176005126702912597 -qsub:-202417103371781662/185891935843,-75016780652064931/26395556610,539072986943728448/794028543247:8602102465239973123041336013/4906721115886394572230 -qsub:146159764562795268/26252940211,5977449519968967/15598248256,=2:2122910667826975950339620571/409499878861103022016 -qsub:92905251016109811/18087473051,861913285707088178/49029015865,575397421398561364/35847357407:-11034780301515165605154539563/886811003175238954115 -qsub:43007028131858062/2453663475,=1,=1:0 -qsub:-99491213767410734/5448033345,607696219524202834/7914352487,932551377887323725/7825731284:-4098157802713052856358895188/43117656253259679015 -qsub:-693848599167966481/337019784,451296938813827771/190206672,138269118881809795/286360117:-11836276239937430206424279/2670975479699952 -qsub:885539919667431975/906601532,=1,679476927167924457/542648272:0 -qsub:-4563620543259161/50948374,877797754583710364/85678397,871721618807362291/51516582:-45113371989553804002793053/4365175014076478 -qsub:267267974303681854/59860387,643485159739694623/65130620,-346322759520229537/79392976:-21111941818232071960829621/3898744118749940 -qsub:-292697070229916239/6469138,451527711321523043/1713209,-690729392819742293/7199521:-3422446330354619505247885/11082985443842 -qsub:109167064549424855/933921,-974615071639008317/9073576,-141072367242930847/2470173:1900749139206286464552437/8474003171496 -qsub:-442186452566118477/433250,243224124572764479/694402,188939975597921698/84623:-103108002251492003298126/75212416625 -qsub:504154364259376845/839918,-816470041468996533/562156,932823927594899937/948502:484590642542575439841057/236082471604 -qsub:58385990303797466/4715,23346464312197309/7769,-83189886883209658/1309:343522179438192201419/36630835 -qsub:-31667255028373761/6166,=1,=2:0 -qsub:264267843061809424/1507,=1,780372905769447077/8088:0 -qsub:942357538510813910/7893,-485153351303873623/1639,-20022501530390273/127:5373839407460698504829/12936627 -qsub:-42475017998288473/153,147697152269679268/85,=2:-1541649460418555777/765 -qsub:75774035481832811/18,340160682114414248/343,=1:19867601892209197709/6174 -qsub:74102130227248217,144497961842228027/6,-998137158213905035/43:300114819521261275/6 -qsub:821735055204387778/45,=1,=2:0 -qsub:-57815587457821904,51008807915322849,-147281045102225347/3:-108824395373144753 -qsub:454222567912329981,22540753838160371,18269107333524567:431681814074169610 -qsub:3210043239752875243/72149763518252375009,3261470914498557412/93230677190142956657,-4064987413615246181/33645849737189283754:63960149849071755625510420647536825943/6726571311915340136410812262723596984913 -qsub:9804073501780182793/38766744515505567422,=1,=2:0 -qsub:257063569033647893/47627381308050634,=1,=2:0 -qsub:1552551009049725266/1621244061592046727,8268958120903544781/425547204494853721,213262382085564484/2263543462839420049:-12745315507331426593439792125381167001/689915878214377929840178814861821167 -qsub:2934623879325117949/357068238595800494,9728045374534083071/521016049535609725,-804894226755345532/55644798067314489:-1944589886386070523678697500282383049/186038283087822502456659294746204150 -qsub:-3413740827484155595/35201790823660144,=1,=2:0 -qsub:5742873913112182553/61766168241911339,3984407637182474330/61987278332263327,448424158078834703/1851056518481567:109883531216609955256617440787705961/3828716662328761978044444335164853 -qsub:-5538305489874918085/47200167153328601,2292592129732611685/3752960621013977,-7047966941457980339/13001528931023405:-128995774148430971478100961252376730/177140368631719625362323294856177 -qsub:2647084994940083287/8257587043096855,8517457859612680059/8568918876347054,4335833152174662442/3522517188924281:-47650993081224012631875300587027947/70758593486671494919389915915170 -qsub:-2174815554300743477/1055854216058324,1106694427573230889/1439497035446960,1663682898924590039/6228481982913678:-1074787130075326655568302535462489/379974753470032846369692123760 -qsub:-673256166894368145/58357219332101,=1,-9850462360230406692/697272419401589:0 -qsub:-7350812074670262181/353785488987714,-9161255025310493969/644044224968076,1118265777181240006/160586465643975:-82951609813686583656885009057605/12658527836669113872289234348 -qsub:7934622905365481543/24281747034726,=1,=1:0 -qsub:-4406459203030692110/40412972154809,-328394051086803323/17512120371320,3271184521881465212/24850026200233:-63895064332408368266126902654893/707716832937818605603677880 -qsub:460352415792245815/1067976849408,-3006172239763431339/8488209165760,=2:111220155509497494992102376433/141643920030694887966720 -qsub:-8685801779232576472/5545683151339,-9379688590927802729/4661614228739,-1045039004738707304/2306882972179:11526923821437860566165526575323/25851835486360019500131521 -qsub:-1099655652591638878/2758191281,1569957311481795188/313204152767,4679104365556960009/172279461301:-348746959573478031289777831254/863876963334931424527 -qsub:7376706437670791929/273943068790,6472278838608399241/616870830740,-2499089563512667949/302238168048:277743910121812542672687030907/16898748841995226660460 -qsub:6865154371318865863/58818463172,7515040679922839317/98572518047,3436930220114417551/26193376471:234692409694146480303501596037/5797884022518774865084 -qsub:1254860182105767734/5016375113,=1,2599681765080769493/46385850085:0 -qsub:4216394462161257127/7652601313,154087255858661733/228011378,=1:-31111774998800660662723489/249268595808819902 -qsub:-8218805797153900006/3225230965,162240217381132332/3267619919,470501772660009028/17345893:-27379195706038716372068879894/10538828944609591835 -qsub:2993035686422028942/288390385,572871629063315065/300592553,-6417147951768049106/301422311:734473568540558494144018901/86688002087802905 -qsub:-413167836327757837/385147459,=1,4223408874712268336/273008947:0 -qsub:3297442160967679169/69599199,9036377343550866545/45162311,=1:-480004516594753739709297896/3143260670588889 -qsub:368876976532110737/16510688,6518851187565474853/50791699,-1104665290033392205/7386446:-88894829716274002481356701/838605895178912 -qsub:-2062139936169240279/2037445,=1,252666902590280893/289459:0 -qsub:7094134562467803247/3012150,=1,9333233846214751643/9878490:0 -qsub:6076762026375939088/714143,-1173122156103211995/424924,=2:3419939003221785664774597/303456500132 -qsub:-5491034419852196360/519619,715863173404931/44,-3750063252517296119/253359:-613581620774993481129/22863236 -qsub:-5533397069224776206/61493,=1,1084791347634995311/940:0 -qsub:2610588148432509992/29651,=1,-1360998239306614670/89179:0 -qsub:3100610288438845270/1619,9307237399334731519/4955,9392825838002497590/8501:295106629691547983589/8022145 -qsub:3368071818378567709/3813,-3776828995456884473/1454,=2:19298225383599537944435/5544102 -qsub:1898435934717526073/873,4308565906715352586/295,=1:-3201339435820832616043/257535 -qsub:1300690053258900179/243,4943814111367222345/439,=2:-630343895681577851254/106677 -qsub:251833946462887840,-869006720570670337/8,-725021352968265541/99:2883678292273773057/8 -qsub:626008792964496823,3012267373701938935/3,-1881182483045937043/16:-1134240994808448466/3 -qsub:8909701403779037643/2,4263103087268485691/6,-4865092756990722784/5:11233000562034313619/3 -qsub:1563790691172262117/4,4953143499970208620,6661387731632814693/7:-18248783308708572363/4 -qsub:-5421505027803143917/29277316475549977927,-24881453522128465658/13193126736034804489,=2:656935586207185980835950093591652887553/386259346752930686132136354247710514303 -qsub:43002545629357992251/65752963968398524190,31308403854434073804/48746580693008293241,1726565764440537923/12956415087885593469:37606709977597341370212061004874356731/3205232163890005466586601709015151999790 -qsub:-59751660477015957831/4286192839388269021,11974517458086843067/1241046631081301617,=2:-125479687920496057578907990371068840134/5319365183487609778049805813238306957 -qsub:-49461165347668030699/208457055709777407,52105901053159218571/6869817428870197111,-36441364311401291685/8657876687713166642:-350651018476287040134985140793799735986/1432061914485994468255463550024471177 -qsub:-7581437680655861221/49307213191711325,-32918301279907528476/380204896359543505,-62274249636519514774/637143890847264601:-251878005702543064394570301716545781/3749368776266504127275465347738825 -qsub:88463778015782255603/611086942952818386,28997739596524666645/367897090074176869,-81867305184567355447/440111079789875727:14825426466392080175430281904511312037/224817108094666407622918422599113434 -qsub:27845231969167468634/7852896265044091,=1,16619399537337723559/18069459979251540:0 -qsub:-37414950961700930/7204075375675961,-11821234740040951665/4482466888001314,-23524535630982071810/37803027645100347:84993354822012222699375201588403045/32292029330133121955123006212754 -qsub:61321523796737027359/5452182446309742,=1,48591916429664483052/1740855337030687:0 -qsub:5363425484789562617/1756465539350314,-40936806728242699939/5412202567319265,-3599607803259833000/278745158021617:100932035487606021271304492855347351/9506347301479586913476715999210 -qsub:33564895484794792189/136772489172128,4571443108763064643/186748602496254,=2:2821474835811978960085724681544851/12771035606414468103340604256 -qsub:-94258077286598647991/474232208430175,98462449436025151993/228502005075011,=1:-68232224497993790090895883442041676/108363010497445522187430856925 -qsub:34061962820425097482/24899834941843,1855142409964422527/902056706202,14293533188899209595/42267239349684:-15466917813159310212214440113897/22461063092612364807410286 -qsub:-73929207028429916638/21372812626357,-66185303844781311744/59463089468249,-6818430024504790355/20557416897032:-2981492954155214407839662609790254/1270893469389188176252038893 -qsub:57077240876377553179/935097318175,=1,42604601978623894017/8385603091453:0 -qsub:7077386151750173156/1231852917417,40471318485412028642/1706097941603,38461201962265231448/5304200381911:-37779997802536821420601638448646/2101661726762794047599451 -qsub:-37489576712437584437/499625554669,60955914069456492767/885230799387,50229679483949978567/539847952020:-63642060339139483486584581919242/442283929153812140187903 -qsub:3147094074418762156/310106471081,=1,-3700969786876628910/15570398827:0 -qsub:12329606272247487589/40674617665,-77828250896400397795/50092227757,-22437013421232931285/13509778618:343931981299121509240432077868/185225655636734138855 -qsub:49832350382626108453/8964749413,=1,2620089939108140247/2413101797:0 -qsub:50952962315511975411/6309290837,-16012147625149581763/1214855186,49964518797252328078/9043690267:162925766803109858544836037077/7664874693311730682 -qsub:348630015993655559/4656837405,26166625137687604221/1177967663,47073618836385117951/1978562296:-121443043818605211479526497888/5485603874938834515 -qsub:17078935151701402183/29370735,-53438577236731723122/493863599,27771088952431040471/715856601:10004194671903945161352471287/14505136892375265 -qsub:-82659381362807119713/632881567,29388144547912909553/176840848,11667678020670746965/17707269:-33216770068059835487916346175/111919312991848816 -qsub:21029165726302721351/47748016,59722770221895701365/6011409,7537524523228744530/7443449:-2725228872009811783253348281/287032853114544 -qsub:-1377712971222794171/46200083,67781278282353575281/46204616,=1:-3195157381284400868447041659/2134657094183128 -qsub:99498503205328073847/8536940,67748617769009531540/8445211,-11519205096064985138/4045881:261919968776203677676409117/72096259594340 -qsub:4104972121385207947/636151,13294784517447053191/977547,13689829596826434020/1075639:-4444687283214714461541832/621867501597 -qsub:82730974983634629799/122118,-16204666767231941581/177953,=2:16701106687543563518610005/21731264454 -qsub:-10650367180325946520/50547,1632386827276484871/118112,-75101239763743917691/649672:-1340448425361002676144677/5970207264 -qsub:77412383597894642193/47240,80267467079572070186/72803,-25049349718395484959/22130:1844018618238539039990339/3439213720 -qsub:35230904033764128322/11419,95208581964982041789/24788,1540889192878250023/4339:-213883148269184722342855/283054172 -qsub:-83663795012357893939/1322,-18656774262532233660/4619,54887210177965383636/8713:-361778813587013499205721/6106318 -qsub:39695783291112421139/8771,=1,27510059665458841174/5277:0 -qsub:19248997287659952171/173,73630829417088216857/778,-16684093916667265360/351:2237586400643181272777/134594 -qsub:88156024379250020383/629,-6327178680410193049/304,=1:30779226801270017624253/191216 -qsub:-11930537715494417409/2,80328608387065532851/43,41042034234564284791/75:-673670338540391014289/86 -qsub:36406323599126203370/21,48085922416521160270/63,=1:61133048380857449840/63 -qsub:-13809041632683030117/5,28242141662062188361/7,=2:-237873999739092152624/35 -qsub:7450923073218275163/2,73871343095222710643/8,-1203953812110244763/4:-44067650802349609991/8 diff --git a/polly/lib/External/isl/imath/tests/qsubz.t b/polly/lib/External/isl/imath/tests/qsubz.t deleted file mode 100644 index 7af689db540..00000000000 --- a/polly/lib/External/isl/imath/tests/qsubz.t +++ /dev/null @@ -1,800 +0,0 @@ -qsubz:1/89666066690010668869,8,0:-717328533520085350951/89666066690010668869 -qsubz:-7/92370362169890168582,0,3/10759595446182824504:-7/92370362169890168582 -qsubz:0,-6,=1:6 -qsubz:6/6514124205427226147,7,1/7791165451225637150:-45598869437990583023/6514124205427226147 -qsubz:8/927453510429432507,1,-7/939604332333807555:-927453510429432499/927453510429432507 -qsubz:6/791634116823984509,1,3/166448493180216857:-791634116823984503/791634116823984509 -qsubz:9/28379125138664429,2,2/1928364957970427:-56758250277328849/28379125138664429 -qsubz:1/4792771676887137,4,1/7102881482139131:-19171086707548547/4792771676887137 -qsubz:1/6412666850016412,5,2/3998647479596483:-32063334250082059/6412666850016412 -qsubz:1/2202724091118898,7,8/2921444666229659:-15419068637832285/2202724091118898 -qsubz:0,-5,=1:5 -qsubz:1/52166421933102,8,-4/458542817737975:-417331375464815/52166421933102 -qsubz:3/70257684761911,9,2/38216141537789:-632319162857196/70257684761911 -qsubz:0,8,5/16844906665344:-8 -qsubz:1/888589420311,-7,=1:6220125942178/888589420311 -qsubz:-3/9029660826470,1,2/1660505018071:-9029660826473/9029660826470 -qsubz:4/175194964803,2,0:-350389929602/175194964803 -qsubz:0,3,1/28737296870:-3 -qsubz:-1/7337600358,1,4/48392570781:-7337600359/7337600358 -qsubz:1/627219895,8,7/75038497999:-5017759159/627219895 -qsubz:5/6927289812,4,-1/1790030470:-27709159243/6927289812 -qsubz:-4/2649530011,3,-8/6194440675:-7948590037/2649530011 -qsubz:6/83079221,8,=1:-664633762/83079221 -qsubz:-6/331542793,3,2/296815681:-994628385/331542793 -qsubz:8/66065289,2,-1/4328527:-132130570/66065289 -qsubz:1/2350655,7,=1:-16454584/2350655 -qsubz:2/3582747,9,1/2075528:-32244721/3582747 -qsubz:-1/1935616,2,8/4881029:-3871233/1935616 -qsubz:-8/465389,-4,1/262387:1861548/465389 -qsubz:2/240549,5,1/4804:-1202743/240549 -qsubz:3/48194,9,0:-433743/48194 -qsubz:4/27421,0,5/29029:4/27421 -qsubz:4/373,8,3/1025:-2980/373 -qsubz:3/1183,0,-1/3894:3/1183 -qsubz:1/106,3,9/871:-317/106 -qsubz:1/371,2,=1:-741/371 -qsubz:-3/56,5,0:-283/56 -qsubz:-5/91,4,-1/34:-369/91 -qsubz:8,4,9/4:4 -qsubz:4/7,9,=1:-59/7 -qsubz:67/67063488163100893306,-90,=1:6035713934679080397607/67063488163100893306 -qsubz:93/14983550478036855485,-67,69/28718649239616874679:1003897882028469317588/14983550478036855485 -qsubz:-8/1154267369681644285,87,7/1422761935805056072:-100421261162303052803/1154267369681644285 -qsubz:37/9228347282193695562,-68,32/723121468170916937:627527615189171298253/9228347282193695562 -qsubz:70/67740456883245887,-44,=1:2980580102862819098/67740456883245887 -qsubz:-4/290534225323804529,3,14/82856366067157729:-871602675971413591/290534225323804529 -qsubz:46/92984464090082831,31,37/3777138432527707:-2882518386792567715/92984464090082831 -qsubz:-1/30135296523120697,19,39/50227831157182621:-572570633939293244/30135296523120697 -qsubz:5/1204201678805616,27,-95/8641770984922113:-32513445327751627/1204201678805616 -qsubz:13/221269253819147,-51,85/902323678584334:11284731944776510/221269253819147 -qsubz:16/197386558463723,66,11/188936591024340:-13027512858605702/197386558463723 -qsubz:-33/364958822489692,-68,29/670095439482948:24817199929299023/364958822489692 -qsubz:2/69405413649461,25,14/58807481541667:-1735135341236523/69405413649461 -qsubz:4/151019996133,86,-7/15591256924134:-12987719667434/151019996133 -qsubz:-20/2213441952101,68,-5/766058099692:-150514052742888/2213441952101 -qsubz:47/3397682774754,62,-27/825236302529:-210656332034701/3397682774754 -qsubz:-8/300999779133,-8,52/319011801871:2407998233056/300999779133 -qsubz:78/930349215041,-94,-16/849840150359:87452826213932/930349215041 -qsubz:-62/78781195345,97,63/94454224597:-7641775948527/78781195345 -qsubz:84/67865566651,10,40/38840532741:-678655666426/67865566651 -qsubz:97/9037713489,26,=1:-234980550617/9037713489 -qsubz:55/8758626548,-31,-23/3424652585:271517423043/8758626548 -qsubz:96/712280131,76,-47/143760491:-54133289860/712280131 -qsubz:-34/979750323,86,18/751431151:-84258527812/979750323 -qsubz:0,40,49/28166996:-40 -qsubz:11/655774,-79,-5/2552876:51806157/655774 -qsubz:38/4762681,-34,-38/4640209:161931192/4762681 -qsubz:10/759353,91,-79/8482283:-69101113/759353 -qsubz:52/658491,60,-10/24871:-39509408/658491 -qsubz:47/356452,48,-52/327287:-17109649/356452 -qsubz:-23/1045,-17,40/36411:17742/1045 -qsubz:29/57207,74,-19/15711:-4233289/57207 -qsubz:71/6841,24,27/3695:-164113/6841 -qsubz:41/2,-28,-8/503:97/2 -qsubz:1/992,69,-79/335:-68447/992 -qsubz:-80/873,58,55/97:-50714/873 -qsubz:-80/59,25,-24/29:-1555/59 -qsubz:31/53,4,83/16:-181/53 -qsubz:52/5,87,55/4:-383/5 -qsubz:64/3,-44,86/7:196/3 -qsubz:217/14857025609834400288,407,-29/32222540400290548019:-6046809423202600916999/14857025609834400288 -qsubz:-2/3173544479029088453,617,=1:-1958076943560947575503/3173544479029088453 -qsubz:599/8002882171639730594,194,994/7112031035139432061:-1552559141298107734637/8002882171639730594 -qsubz:226/1547262749305138445,841,=1:-1301247972165621432019/1547262749305138445 -qsubz:-21/33650083175862080,-295,-192/250269714000112853:9926774536879313579/33650083175862080 -qsubz:371/195117884451651598,98,-31/6936245079767325:-19121552676261856233/195117884451651598 -qsubz:490/84964164487466941,-621,85/1727659786593371:52762746146716970851/84964164487466941 -qsubz:73/2114768125726396,264,371/90346751835547482:-558298785191768471/2114768125726396 -qsubz:-67/754047118019190,473,=1:-356664286823076937/754047118019190 -qsubz:428/1757703052948383,545,-929/6392239532410133:-957948163856868307/1757703052948383 -qsubz:-187/146639276395956,379,49/117345807572527:-55576285754067511/146639276395956 -qsubz:574/304011640895343,117,31/939392861513114:-35569361984754557/304011640895343 -qsubz:281/28071632904233,839,-779/61474591794274:-23552100006651206/28071632904233 -qsubz:-451/21089251676176,966,-402/36593676777599:-20372217119186467/21089251676176 -qsubz:447/699261969911,217,305/9706389468401:-151739847470240/699261969911 -qsubz:921/4456064406581,-752,-25/13909101793:3350960433749833/4456064406581 -qsubz:57/94353144617,914,944/766019154987:-86238774179881/94353144617 -qsubz:317/388136152543,159,423/224732026858:-61713648254020/388136152543 -qsubz:545/36819534187,-885,=1:32585287756040/36819534187 -qsubz:260/75651626533,-80,142/23885409609:6052130122900/75651626533 -qsubz:308/2920452939,386,176/748052249:-1127294834146/2920452939 -qsubz:956/2320741999,604,=1:-1401728166440/2320741999 -qsubz:229/136668710,-720,=1:98401471429/136668710 -qsubz:697/821017209,-389,877/710813436:319375694998/821017209 -qsubz:70/9998911,-414,409/41910723:4139549224/9998911 -qsubz:-137/4902402,-780,0:3823873423/4902402 -qsubz:98/339603,579,751/7297217:-196630039/339603 -qsubz:843/8995763,-683,=1:6144106972/8995763 -qsubz:-68/25519,874,97/240532:-22303674/25519 -qsubz:-407/183461,-958,53/66366:175755231/183461 -qsubz:353/72580,466,747/59113:-33821927/72580 -qsubz:83/41954,447,884/15765:-18753355/41954 -qsubz:-931/5272,773,5/391:-4076187/5272 -qsubz:81/167,110,19/123:-18289/167 -qsubz:456/823,345,870/7:-283479/823 -qsubz:688/747,879,678/181:-655925/747 -qsubz:-849/62,395,=1:-25339/62 -qsubz:-433/39,676,=1:-26797/39 -qsubz:220,191,-109/5:29 -qsubz:32/3,-877,655/2:2663/3 -qsubz:4482/942383524654707545,4232,9844/42644717112858614311:-3988167076338722325958/942383524654707545 -qsubz:1875/2912377751134048423,-2847,=1:8291539457478635862156/2912377751134048423 -qsubz:3804/6718901259124469983,-7372,7774/3759543365401515053:49531740082265592718480/6718901259124469983 -qsubz:9425/3546445994609032698,-6247,9653/7954521365876236362:22154648128322627273831/3546445994609032698 -qsubz:-5435/351267797941464751,7271,4323/405081904237732000:-2554068158832390209956/351267797941464751 -qsubz:4747/334289067072715219,-9265,1271/365223131014466030:3097188206428706508782/334289067072715219 -qsubz:593/11020543433206946,-9783,1692/92769627960132841:107813976407063553311/11020543433206946 -qsubz:58/71759187206685567,2562,=1:-183847037623528422596/71759187206685567 -qsubz:8176/5868555722851603,4639,749/1128170091785729:-27224229998308578141/5868555722851603 -qsubz:1048/2494671804723743,258,-9823/9523787627049892:-643625325618724646/2494671804723743 -qsubz:4016/437682693132675,-5554,9263/342594970246293:2430889677658880966/437682693132675 -qsubz:-449/124840348021110,-2661,=1:332200166084173261/124840348021110 -qsubz:3767/38680047773174,-361,3480/41604972731513:13963497246119581/38680047773174 -qsubz:8637/56843071105219,5929,9928/45360343092035:-337022568582834814/56843071105219 -qsubz:42/1232757862481,3179,4357/5496968152610:-3918937244827057/1232757862481 -qsubz:546/1614496289405,1603,2191/3651782433017:-2588037551915669/1614496289405 -qsubz:809/91979873066,4972,-4804/368689337963:-457323928883343/91979873066 -qsubz:-3210/152298659683,-4089,541/44970493080:622749219440577/152298659683 -qsubz:7246/21217273455,2308,=1:-48969467126894/21217273455 -qsubz:2397/86866068995,7381,-2866/3975744919:-641158455249698/86866068995 -qsubz:3087/4683188920,6673,9169/306325723:-31250919660073/4683188920 -qsubz:990/4768458857,4306,4877/2755124455:-20532983837252/4768458857 -qsubz:-3658/338788855,2880,5674/71884221:-975711906058/338788855 -qsubz:-9886/839837613,-2330,4083/690099413:1956821628404/839837613 -qsubz:7337/91119486,5300,9061/80090081:-482933268463/91119486 -qsubz:6273/50364475,-837,-1696/28323419:42155071848/50364475 -qsubz:648/537779,-5873,8567/8273739:3158376715/537779 -qsubz:3179/1733392,4267,1178/6835527:-7396380485/1733392 -qsubz:2567/620512,4677,7019/800989:-2902132057/620512 -qsubz:8643/360838,5106,-8302/971695:-1842430185/360838 -qsubz:-2586/31991,-5074,2570/21109:162319748/31991 -qsubz:2023/2705,2980,317/96960:-8058877/2705 -qsubz:-1301/5346,4188,-7061/2853:-22390349/5346 -qsubz:-6732/8017,9992,31/59:-80112596/8017 -qsubz:-3890/853,2695,962/263:-2302725/853 -qsubz:2329/43,7457,=1:-318322/43 -qsubz:1601/82,2574,301/13:-209467/82 -qsubz:-1347/20,4147,-355:-84287/20 -qsubz:1381,-456,5461/3:1837 -qsubz:1267,3358,=1:-2091 -qsubz:12513/10252103968497865097,4751,58924/7482016308047316835:-48707745954333357063334/10252103968497865097 -qsubz:-8397/12043175373779318638,32237,-75596/84316290023168074765:-388235844524523894941603/12043175373779318638 -qsubz:2207/1864898564933133421,-268,=1:499792815402079759035/1864898564933133421 -qsubz:93903/5738092942308156928,-98800,=1:566923582700045904580303/5738092942308156928 -qsubz:-22733/84967665346179535,83373,37597/787951056254403061:-7084009162907026394288/84967665346179535 -qsubz:-86661/144430519608110792,44749,-90279/140207959688288608:-6463121321943349917869/144430519608110792 -qsubz:483/360261339188405,529,=1:-190578248430665762/360261339188405 -qsubz:-38143/29201842630357283,93563,=1:-2732212002024118507472/29201842630357283 -qsubz:62857/8632026056772207,-87080,-91675/4159937477960427:751676829023723848417/8632026056772207 -qsubz:23972/3672679577284837,52253,85704/3937432008899357:-191908525951864563789/3672679577284837 -qsubz:-14599/133661353793289,51189,99045/961552885468912:-6841991039324685220/133661353793289 -qsubz:62703/884965957527142,86064,=1:-76163710168615886385/884965957527142 -qsubz:64258/63053331939447,29993,33125/6340027354888:-1891158584859769613/63053331939447 -qsubz:20336/70880915457155,41846,79118/19214581682805:-2966082788220087794/70880915457155 -qsubz:36038/5027873766967,8156,18212/2385080863253:-41007338443346814/5027873766967 -qsubz:5053/326394695366,-96066,48835/616131440759:31355432805035209/326394695366 -qsubz:-42352/85957538425,63707,=1:-5476096900483827/85957538425 -qsubz:98097/378312685672,74927,-87935/235046263733:-28345834599247847/378312685672 -qsubz:547/343462127,45098,71335/96241407069:-15489455002899/343462127 -qsubz:-60477/84209971088,13484,11423/1932234184:-1135487250211069/84209971088 -qsubz:78087/178203607,2768,99674/645255053:-493267506089/178203607 -qsubz:5795/9287277564,55525,94160/3355805697:-515676086735305/9287277564 -qsubz:18925/113809474,-82623,=1:9403280189227/113809474 -qsubz:24851/454133872,99932,41237/85240886:-45382506071853/454133872 -qsubz:32911/22337158,43967,9767/5792458:-982097792875/22337158 -qsubz:4426/88473719,34001,302/1024805:-3008194915293/88473719 -qsubz:19589/4824560,27427,-56021/4154865:-132323187531/4824560 -qsubz:54075/7773166,56830,-399/153359:-441748969705/7773166 -qsubz:18078/738403,66012,86419/302521:-48743440758/738403 -qsubz:2510/112811,-47375,17956/599429:5344423635/112811 -qsubz:-69109/5420,2635,=1:-14350809/5420 -qsubz:696/5261,-27292,12449/12093:143583908/5261 -qsubz:6568/1031,5374,=1:-5534026/1031 -qsubz:307/167,87414,=1:-14597831/167 -qsubz:14308/171,-77499,92955/236:13266637/171 -qsubz:-3325/3,-32369,-9967/90:93782/3 -qsubz:62901/65,-51444,-55475/13:3406761/65 -qsubz:94982/85,74494,1763/15:-6237008/85 -qsubz:-15489,36907,29337/5:-52396 -qsubz:-44489/6,51924,=1:-356033/6 -qsubz:866110/92140247631008473461,992450,-12311/75887274686890544356:-91444588761394359485503340/92140247631008473461 -qsubz:286002/21377811703132112171,-707482,=1:15124416979355312983249424/21377811703132112171 -qsubz:205249/6361297615099533875,893207,=1:-5681955558890209353681876/6361297615099533875 -qsubz:602071/8282499324515240138,143540,=1:-1188869953040917568806449/8282499324515240138 -qsubz:-157822/195585936483662037,948292,47401/94049003322925483:-185472578879964840548626/195585936483662037 -qsubz:-485225/770852827673995413,462391,451203/793998272131521284:-356435409841006413497708/770852827673995413 -qsubz:832061/32966123055937780,297720,-38054/4240951695865905:-9814674156213795029539/32966123055937780 -qsubz:378475/97089199745880654,-144939,804700/47910921928599697:14072011521968196488581/97089199745880654 -qsubz:168809/1173744791921052,993504,123481/4027191055766810:-1166120145752732677399/1173744791921052 -qsubz:984079/7930167991939240,207285,19678/312910315596939:-1643804872209124379321/7930167991939240 -qsubz:268867/66218854685878,-341636,=1:22622744639464885275/66218854685878 -qsubz:-265818/703448681374513,-608432,516434/935917451239689:428000688106057427798/703448681374513 -qsubz:30312/17555819170721,-807531,837647/26238515163476:14176868210751530163/17555819170721 -qsubz:273401/67808858597950,255506,47585/13599555299396:-17325570224927539299/67808858597950 -qsubz:861384/410255576291,400497,402375/1586446068433:-164306127536955243/410255576291 -qsubz:76471/2810776113738,700348,=1:-1968521429704104353/2810776113738 -qsubz:46697/205225703,-877191,-693829/982561781845:180022139686970/205225703 -qsubz:694597/894706887191,189537,-5500/6992098541:-169580059276825970/894706887191 -qsubz:190839/96993581741,-48652,-262577/87880831891:4718931739053971/96993581741 -qsubz:926735/37595457632,309200,228538/46784730005:-11624515498887665/37595457632 -qsubz:-289777/2914954976,-922880,-785617/9421248912:2690153647961103/2914954976 -qsubz:146291/1692030840,816085,-21414/520023815:-1380840987915109/1692030840 -qsubz:149175/195113702,21897,=1:-4272404583519/195113702 -qsubz:-798035/275024051,342,=1:-94059023477/275024051 -qsubz:84407/78878758,-202254,414137/15080286:15953544404939/78878758 -qsubz:99099/5326786,776103,-250532/35421237:-4134134495859/5326786 -qsubz:820103/1983152,83528,386969/1852538:-165647900153/1983152 -qsubz:-277421/4047779,-724923,-962247/9651313:2934327818596/4047779 -qsubz:300716/83775,791615,597967/22363:-66317245909/83775 -qsubz:913987/585082,571734,-207060/17131:-334510358201/585082 -qsubz:286582/40727,479108,247602/7559:-19512344934/40727 -qsubz:969635/90993,547019,-27576/16163:-49773930232/90993 -qsubz:484543/4803,-13377,17384/831:64734274/4803 -qsubz:3392/77,159299,=1:-12262631/77 -qsubz:272609/60,-479733,5158/5:29056589/60 -qsubz:-63573/145,944778,245967/77:-137056383/145 -qsubz:684504/71,664239,-229408/35:-46476465/71 -qsubz:-86273,-276646,-115497/7:190373 -qsubz:355634/9,348514,373603/7:-2780992/9 -qsubz:-35219/3,752707,462886/5:-2293340/3 -qsubz:6360943/76846663141823723315,-4919575,2604527/5657014356260399834:378052922825937443633752068/76846663141823723315 -qsubz:183663/3383815743880203737,3975537,7064811/78463982107211848135:-13452484690978273523798106/3383815743880203737 -qsubz:4452901/2427919735747339403,2077568,=1:-5044168349557128424359003/2427919735747339403 -qsubz:8188529/976933204663543185,-1819612,=1:1777639382404239150132749/976933204663543185 -qsubz:5989009/760314382917671424,-4531658,4299344/201823238781745367:3445484755863929055930001/760314382917671424 -qsubz:893159/325858362948738303,4913385,=1:-1601067592636886545992496/325858362948738303 -qsubz:-1545535/21298499245651851,4547022,64678/4463799054157215:-96844744636962372383257/21298499245651851 -qsubz:297441/54069528036684176,-4566133,1740182/82453971200884283:246888656262728826908849/54069528036684176 -qsubz:6314549/8139443267727551,7518036,2558291/3365437156048481:-61192627506733360295287/8139443267727551 -qsubz:-372197/9493061230738691,8349035,2681821/7376683826021902:-79257900472580407385382/9493061230738691 -qsubz:2058974/610730967434339,-3873084,=1:2365412338274461490450/610730967434339 -qsubz:1047887/255819069867599,4832574,-2588613/40555255514690:-1236264585746341321939/255819069867599 -qsubz:2862299/15444378077100,3725846,-3488340/75081425094083:-57543374281047864301/15444378077100 -qsubz:189642/13804468201471,-9916920,=1:136897806796531978962/13804468201471 -qsubz:9152299/2631833515647,7403594,-1874909/1403676750221:-19485026825433883019/2631833515647 -qsubz:9157819/3680087499503,6393090,2353381/629919919878:-23527130592188476451/3680087499503 -qsubz:-9202064/585608331143,7948050,3400424/545300178161:-4654444296350323214/585608331143 -qsubz:4941532/944567169683,3506737,-5183542/977397734325:-3312348642907712839/944567169683 -qsubz:-1132569/74601321698,9858377,-2217591/82351435039:-735447953998296715/74601321698 -qsubz:-6722621/70207951128,-2574827,4755161/88553923140:180773328172332235/70207951128 -qsubz:-131623/1102596343,4262329,6139281/2146761991:-4699628368194470/1102596343 -qsubz:-1537871/2076518121,-611135,3524466/1036431631:1269032900339464/2076518121 -qsubz:1873496/94557071,9574995,=1:-905383480166149/94557071 -qsubz:6133681/175761766,-4032589,-1323487/51867812:708774970325855/175761766 -qsubz:33618/108073,9301994,=1:-1005294363944/108073 -qsubz:99693/1649666,4815171,3560665/23554903:-7943423783193/1649666 -qsubz:-1476863/6094467,1954168,6826155/1513109:-11909613865319/6094467 -qsubz:9947161/5499663,-7436262,=1:40896944926867/5499663 -qsubz:-3188500/101159,-1362013,1715658/206461:137776684567/101159 -qsubz:1661723/438801,3554863,397247/83229:-1559875777540/438801 -qsubz:6730319/39072,-7285917,-785583/26039:284682079343/39072 -qsubz:881050/8251,9977014,5611562/26365:-82319461464/8251 -qsubz:-697786/267,9879500,=1:-2638524286/267 -qsubz:1563831/1594,3690522,330707/648:-5881128237/1594 -qsubz:2617466/799,4838440,1742596/21:-3863296094/799 -qsubz:-5575739/795,5654259,241335/887:-4500711644/795 -qsubz:3099833/23,1330008,2467779/32:-27490351/23 -qsubz:-119153/20,-5081644,-9942949/35:101513727/20 -qsubz:4981844/3,7468100,=1:-17422456/3 -qsubz:4124549/2,8822966,-327579:-13521383/2 -qsubz:1379187/4947079973483919932,39455371,85787924/46398781838625356921:-195188875720478223449975585/4947079973483919932 -qsubz:10309279/3518090035798479574,41783212,55881853/31567898190111952667:-146997101800855461307802409/3518090035798479574 -qsubz:7964765/7203559539360591689,17787685,-3457138/299200161568971109:-128134647964891306369585200/7203559539360591689 -qsubz:3870874/16190098037406359,32189441,=1:-521150205559307782184445/16190098037406359 -qsubz:57899009/680974553755525868,95258028,91102702/899472329944903875:-64868293108931388230769295/680974553755525868 -qsubz:36574505/725775689525814263,59424702,7088419/54125181064287425:-43129004068916033849550121/725775689525814263 -qsubz:-1339365/1352359843453361,37294708,32650165/49041162900322251:-50435865472518811452953/1352359843453361 -qsubz:64855889/55163734975059261,-50495551,10273592/5300232731771161:2785523192783588706703700/55163734975059261 -qsubz:87062294/350231041000041,87531372,18935971/2964729931492256:-30656203535721753723958/350231041000041 -qsubz:28654577/4766700414359347,-75710062,18946345/966631458761659:360887183906571880304091/4766700414359347 -qsubz:98899630/25197967410013,-94124519,=1:2371746562245248308377/25197967410013 -qsubz:-60951681/826245104735740,90114845,-46517310/138373690437397:-74456949545270037011981/826245104735740 -qsubz:3673134/7692444132233,98053795,-43749749/38563121801152:-754273339990923801101/7692444132233 -qsubz:-16042613/18604599439295,32614949,=1:-606788061878051063568/18604599439295 -qsubz:-18542903/4333580495789,95232673,8705127/3818163979847:-412698454274670256900/4333580495789 -qsubz:93847183/260167494778,70420110,50108689/4318919693752:-18321023600597338397/260167494778 -qsubz:63160383/511521681755,93405210,-8686231/33289600401:-47778790103815783167/511521681755 -qsubz:10995233/136483986795,-35714136,1540987/281295347273:4874407666229829353/136483986795 -qsubz:11840157/22134680227,-12663935,50115473/42408027975:280312151652353402/22134680227 -qsubz:2165532/84739740289,74114119,81643079/62400874960:-6280411195805874859/84739740289 -qsubz:9910853/253156711,83607638,59919120/1185300817:-21165834640647765/253156711 -qsubz:58968716/943992033,-17638483,-40257956/5469268719:16650587485174655/943992033 -qsubz:85910396/690654879,-56543102,-38201318/528835655:39051769356005054/690654879 -qsubz:4001435/163786307,-76984433,46803523/742917958:12608995981560366/163786307 -qsubz:90944610/52515871,87539015,32701282/49688015:-4597187528262455/52515871 -qsubz:46996626/49950215,-40784808,14253005/11778372:2037209975330346/49950215 -qsubz:16216866/657419,8499426,=1:-5587667924628/657419 -qsubz:26087801/6436061,-9418424,-60061709/1990672:60617577475665/6436061 -qsubz:48316307/459047,-25148975,-96687866/162915:11544609843132/459047 -qsubz:82175177/512872,74792479,9314575/111969:-38358886114511/512872 -qsubz:93244651/92781,94189756,-7781135/31498:-8738926506785/92781 -qsubz:65538455/49692,48926272,-470122/28003:-2431178769769/49692 -qsubz:-12968804/1131,-21968160,-33199358/3561:24833020156/1131 -qsubz:-10642810/4567,43054752,29068797/4090:-196641695194/4567 -qsubz:-16504669/331,19366230,-37110959/378:-6426726799/331 -qsubz:120055/122,35383126,21063457/242:-4316621317/122 -qsubz:-6229424/5,84957981,45357911/68:-431019329/5 -qsubz:13067352,40056104,=1:-26988752 -qsubz:-9746025,-39734152,-1201754/9:29988127 -qsubz:26013/7,93156445,90743757/8:-652069102/7 -qsubz:865257379/90357408174523899396,294967632,443698369/37895023238390231028:-26652510722896757331379092893/90357408174523899396 -qsubz:344980185/77047998342627739241,546105928,895790581/53691868371888449511:-42076368635443183496403340463/77047998342627739241 -qsubz:-701770897/9142934914307305747,-480401371,=1:4392278467796997195473208240/9142934914307305747 -qsubz:171005591/1827355652621001622,996389504,-95300137/8222844065780808107:-1820757992346636105956769897/1827355652621001622 -qsubz:-913921523/880602809205096206,-38929444,=1:34281377747192476352167941/880602809205096206 -qsubz:298448428/179100960271183235,-314975674,481319159/261547773510673260:56412445675463162520073818/179100960271183235 -qsubz:48498841/75668495862610916,840770177,14203580/1565428657566429:-63619814659731147478953291/75668495862610916 -qsubz:425310066/60222413302772033,-201447801,=1:12131672730756573677459499/60222413302772033 -qsubz:-940057/1889686623104801,252375598,-199312501/752380091448134:-476910791538674769986055/1889686623104801 -qsubz:-138260663/718501375621144,583863337,699241429/9216930315103608:-419506610809251721858191/718501375621144 -qsubz:-341109904/135846371828305,-320703571,357847807/48145438729245:43566416552730871267251/135846371828305 -qsubz:763032333/814687008627806,672611909,-202445947/307017891884461:-547968184110647301109321/814687008627806 -qsubz:624917837/39308871863154,192138767,126397892/82282223854417:-7552758171946777373281/39308871863154 -qsubz:330847639/89408290233165,395051236,734130441/60162275528191:-35320855565258230594301/89408290233165 -qsubz:241863323/8941917277532,727547638,36393496/593234672785:-6505670794459555206093/8941917277532 -qsubz:-844311241/3424218332208,394767882,35903300/424665745313:-1351771418512168854697/3424218332208 -qsubz:-38997799/537796116092,500842415,30021710/666347170909:-269351105561176639979/537796116092 -qsubz:152248609/304406597856,-602339321,39788505/63196175173:183356063460655344385/304406597856 -qsubz:-585718840/1597344893,-966455736,981830119/83198283632:1543763133624437408/1597344893 -qsubz:781348015/38619662873,624508546,-83818298/66343651279:-24118309507046064643/38619662873 -qsubz:26891135/250398333,-399834495,887194659/4297219804:100117891050787970/250398333 -qsubz:366957713/4214088144,750168389,303961849/7723958136:-3161275713721522303/4214088144 -qsubz:-382233523/802407598,539224619,643293638/180492853:-432677931696488685/802407598 -qsubz:504657599/972138678,943952223,=1:-917652465657723595/972138678 -qsubz:-408988345/21433274,760561192,417030670/7339543:-16301316830890953/21433274 -qsubz:410157974/58771605,-898139207,117071195/99665253:52785083118975209/58771605 -qsubz:-181359243/8378299,999308019,-685030111/5629257:-8372501557638924/8378299 -qsubz:367963568/2283391,533036363,91720099/586329:-1217130065983365/2283391 -qsubz:44939447/196951,46409799,-103285387/76069:-9140411383402/196951 -qsubz:814899293/55934,-36864186,292213674/137551:2062776279017/55934 -qsubz:151776179/86747,-807563906,322468120/95761:70053897929961/86747 -qsubz:-425405259/29272,662984675,715664474/9319:-19407312811859/29272 -qsubz:24777055/3654,967458144,-290540261/2806:-3535067281121/3654 -qsubz:366485985/1627,409846678,116744107/387:-666454059121/1627 -qsubz:87840767/198,-135713419,331986209/900:26959097729/198 -qsubz:606872603/617,110773818,-2999504/3:-67740573103/617 -qsubz:-126522338/7,345173453,=1:-2542736509/7 -qsubz:-107170432/13,706985358,-54309695/7:-9297980086/13 -qsubz:813855667/3,475384819,895215002:-612298790/3 -qsubz:464635413/2,211174932,343207577/7:42285549/2 -qsubz:-1073292494/4835121375628045513,2251773912,5366939142/90030076701246336647:-10887600174992785502795349350/4835121375628045513 -qsubz:9937723759/16929248820944777341,3536220517,5346758168/36993790254509343525:-59865557018022980947303181538/16929248820944777341 -qsubz:1854788341/3248262723951959327,-8297282960,=1:26951754949049775984384956261/3248262723951959327 -qsubz:-906823037/71927651067601606,2683555089,2600732775/4128402288016064626:-193021814062278573712695971/71927651067601606 -qsubz:6194391639/613753365565872866,-6823117729,-5801950686/463111032618663091:4187711469825925275559032953/613753365565872866 -qsubz:7222246398/974438771703442207,-2981326784,144559659/180449736371193901:2905120409447533563947418686/974438771703442207 -qsubz:598767509/618842078099439,467678172,4281762740/40185499542661501:-289418931842226266977999/618842078099439 -qsubz:9493241893/56354383572502234,5379218555,=1:-303142545768791195418509977/56354383572502234 -qsubz:7562126681/5274644967533227,5051748469,-1293127915/1893065732128434:-26646179639254526641752782/5274644967533227 -qsubz:7565520398/6835621275673391,7146311176,-1198943513/715334747317684:-48849476717248123463597418/6835621275673391 -qsubz:8495334411/471195956506405,6785264959,2168272913/863558614872658:-3197189412505389410227984/471195956506405 -qsubz:329831990/194008083833657,4410191432,4944067900/100050586251673:-855612789061931484794834/194008083833657 -qsubz:3921639067/5566583240720,-1672367274,6936260591/2578150592889:9309371639780913836347/5566583240720 -qsubz:2380554367/10517458627732,-7041942370,3279856951/33783400334050:74063337535350408359207/10517458627732 -qsubz:3445818365/3619763010066,895311547,-53891527/6375878985703:-3240815620312121213737/3619763010066 -qsubz:9680947669/4195349234903,9847517105,1869006639/80865949846:-41313773352146274568146/4195349234903 -qsubz:-6058980583/155496366963,4042446763,9119016077/744819499043:-628585785293898471352/155496366963 -qsubz:-1977545176/405611601655,-4869751414,5820473357/314742970445:1975227670692263444994/405611601655 -qsubz:-2162676941/6345800531,1286256621,-697595567/9987397219:-8162327950706742692/6345800531 -qsubz:3392475437/45282237869,6472179727,-5979122928/2366853503:-293074781925541006326/45282237869 -qsubz:4416785424/2111265383,-3271176628,821511083/7068316944:6906321980791853948/2111265383 -qsubz:4093300065/635906036,5062025739,285565567/61253547:-3218972717724160539/635906036 -qsubz:7916328811/940173619,5412477560,6775158536/668079907:-5088668607425160829/940173619 -qsubz:3127361256/855850901,-4692272984,2575948861/541199820:4015886064221719840/855850901 -qsubz:283244715/13702009,963515826,-1674038966/12371545:-13202102236249719/13702009 -qsubz:540577841/30024966,5801262858,9382566733/31524563:-174182719527934987/30024966 -qsubz:7954787149/971554,327753005,4739437825/5416433:-318421788232621/971554 -qsubz:1560609006/1064401,1688715477,-368001807/3080264:-1797468881825271/1064401 -qsubz:-4972657594/362819,8090532645,-203495293/57308:-2935403936383849/362819 -qsubz:1444526623/179543,2853408565,726160202/41635:-512308089459172/179543 -qsubz:4218657381/36913,7674015126,1050342199/14146:-283266701688657/36913 -qsubz:9320467151/38863,-4055403274,308167507/16643:157614457904613/38863 -qsubz:7827452709/3047,-9072276043,5468639/133:27651052555730/3047 -qsubz:778524864/3065,1683932125,1339853306/655:-5160473438261/3065 -qsubz:3472788866/281,6153287472,-7044029756/603:-1725600990766/281 -qsubz:-5843681042/587,6535907369,6873433701/140:-3842421306645/587 -qsubz:1706274151/40,475391167,=1:-17309372529/40 -qsubz:-7106248861/76,-7953014416,1126059826/93:597322846755/76 -qsubz:8857605738,-2247650088,7100250512/3:11105255826 -qsubz:1839886389/7,1649369168,688187521:-9705697787/7 -qsubz:21420789821/10134187221769337622,-67300091654,97875160505/23312037706226247093:682031728863872046028891196609/10134187221769337622 -qsubz:19184556071/53765794610868208511,60577023217,74452356089/4734788160637873210:-3256971788423016947478859443816/53765794610868208511 -qsubz:-7679928117/2767247253219016337,55513625448,18687044299/6286371666239502248:-153619927537207285250890872093/2767247253219016337 -qsubz:38618312951/8137064142866736162,91272025410,=1:-742686325210532613183211563469/8137064142866736162 -qsubz:-70329305757/733471856768781955,17530726893,-36062653409/460161038303613091:-12858294804715129971700921572/733471856768781955 -qsubz:-92664480037/251152784368324677,58676410442,-81532606580/860207074670537961:-14736743859246940544233557271/251152784368324677 -qsubz:38165401669/68739156230002569,44174230933,-23746763849/25990052797565342:-3036499361443699108023865208/68739156230002569 -qsubz:9045716812/13158209333079373,-79399582136,-87223831269/2510586287796491:1044756322704517467366597540/13158209333079373 -qsubz:52939174938/4974456626264035,87493688728,43147212680/2387939387259719:-435233559649282454892122542/4974456626264035 -qsubz:81367771694/850281974804851,92502648537,-69900752953/1391561070523707:-78653334672719339847881293/850281974804851 -qsubz:-85053146313/639164379192017,54673455287,13200170243/100963367078830:-34945325106797939689990192/639164379192017 -qsubz:20156443510/20773119248737,37480014907,20271435745/312278412786689:-778576819107531244478949/20773119248737 -qsubz:-10838886733/6871945259460,92773868860,6711171275/80361105218191:-637536948314251553302333/6871945259460 -qsubz:97173191102/49466168642747,17726036129,12845931025/12225527003766:-876839092524443042615261/49466168642747 -qsubz:95109045/199572919304,-36806647761,19117093237/4980142825265:7345610143456900387389/199572919304 -qsubz:-19508332357/8876460386507,29224737608,43187977743/4349125197230:-259412225683492846987613/8876460386507 -qsubz:12109709171/148689816535,84702134869,23340728701/21524306891:-12594344893782326549744/148689816535 -qsubz:70406287853/869355596938,33776459373,55742597576/52660518145:-29363754000596113912021/869355596938 -qsubz:585222646/31985233215,-81118619,8164685068/93850613725:2594597947378952731/31985233215 -qsubz:46451898407/8549297194,35096580302,=1:-300051095448432374181/8549297194 -qsubz:60939385/27011903,-54212225249,34047977198/2734124659:1464375369901078232/27011903 -qsubz:27241414109/5032121410,-80524782294,=1:405210481044467728649/5032121410 -qsubz:-1517062448/92397599,82706710904,32781270955/804186901:-7641901510233781944/92397599 -qsubz:-72090700936/254068779,44740138239,=1:-11367072366764641117/254068779 -qsubz:-32335979955/7707637,-5502717532,2999795591/1166575:42412916914211929/7707637 -qsubz:-24159394717/30439725,42916822470,3512473831/6138983:-1306376298020015467/30439725 -qsubz:-83277071349/5625575,91497956206,=1:-514728698260639799/5625575 -qsubz:38672562477/8826391,24030139693,-6160335294/93847:-212099370042475486/8826391 -qsubz:-3384269055/64964,9103457689,30554917387/326314:-591400409577251/64964 -qsubz:-59571884431/32240,-81755116216,408787901/1755:2635725374919409/32240 -qsubz:48229096314/54161,27903967566,=1:-1511258558245812/54161 -qsubz:20045879099/62217,-64596206712,-66029045734/75381:4019002238879603/62217 -qsubz:23489616563/872,29670916860,-5971297606/557:-25849549885357/872 -qsubz:83219508219/5974,15772230677,582785677/54:-94140086556179/5974 -qsubz:6729510238/31,24272198233,=1:-745708634985/31 -qsubz:16173563552/113,27486903185,=1:-3089846496353/113 -qsubz:-47472904273/69,7141425373,6439404343/56:-540231255010/69 -qsubz:51824444351/61,-52527701227,=1:3256014219198/61 -qsubz:-28091556651/2,5950022569,-3627844227:-39991601789/2 -qsubz:54841455404,-4522114796,-49302775324/7:59363570200 -qsubz:582044754139/56293289312589333700,543100653961,-293376120510/22101874091130677947:-30572922239283039282121211031561/56293289312589333700 -qsubz:863378183609/36104436361383843452,7988014019,=1:-288402743802827490871299169979/36104436361383843452 -qsubz:310042961637/3290967571160173688,-218205349633,481594120353/6095463672099458281:718106729495870507345090018141/3290967571160173688 -qsubz:332189704537/4416708145100434021,836207829003,9340261402/4185349277685404729:-3693285929354301043761262006526/4416708145100434021 -qsubz:-249460520992/202110419372893751,428458525044,-44611263972/42616655580362771:-86595932180534340237045121036/202110419372893751 -qsubz:122311231452/75027142810316983,377180651007,-741450514659/647861091739096129:-28298786568390519041656920429/75027142810316983 -qsubz:13278459816/99368908017329513,705837543053,20559860194/117508700464855:-70138305890811416988946563373/99368908017329513 -qsubz:973128819452/9328598030058051,-470123313629,-372304176079/29720264187522870:4385591417403853652478296531/9328598030058051 -qsubz:-43724262678/1538974313385071,155441438418,321158859675/1414718865236666:-239220380960929390691320356/1538974313385071 -qsubz:297720090859/6268772602498826,-683800722712,195404651967/567524423173634:4286591236105882613651626971/6268772602498826 -qsubz:-478151981509/569806807788948,393132978368,429377458060/939853885300617:-224009847440432106145458373/569806807788948 -qsubz:646410569317/333338235834566,-549506177325,=1:183171419729712340170985267/333338235834566 -qsubz:51236525512/4913829572565,518862556472,849462110245/92311588868614:-2549602174088739697865168/4913829572565 -qsubz:170018414037/33080905332140,27360261367,430903523746/37958380653475:-905102216144164327021343/33080905332140 -qsubz:389185485712/9793322203883,-659024335733,59021105873/481883158776:6454037660033622853736951/9793322203883 -qsubz:909632962214/4281741824583,12584416260,=1:-53883221437494739957366/4281741824583 -qsubz:-433649087373/555105608969,522178231717,636663919751/434542406633:-289864065308054524557146/555105608969 -qsubz:226289850773/240939721173,-779455912091,325469197331/306494129848:187801890126078229253516/240939721173 -qsubz:-28728778059/3012978130,-106991553027,613396487281/79642465446:322363209336357521451/3012978130 -qsubz:78754526716/14242413985,431207764296,152553713159/10855948650:-6141439492571179552844/14242413985 -qsubz:387141036389/5539390134,145933365862,=1:-808381846690234169119/5539390134 -qsubz:205234713289/2404538676,831396150355,445862618338/245594955:-1999124198400873916691/2404538676 -qsubz:406556133145/882230806,-177285397339,-907530046754/970980799:156406639392972358379/882230806 -qsubz:-437068913804/579574371,60088259224,=1:-34825615481303661908/579574371 -qsubz:30508378793/3569747,-780792504756,198433507438/97598395:2787231731983595525/3569747 -qsubz:196609293534/8130889,426393278342,-296591563367/98318012:-3466956219935612504/8130889 -qsubz:-103665512384/3219407,343041471685,327414529149/276949:-1104390218898503179/3219407 -qsubz:15404741180/341451,869230362129,339893658990/5534429:-296799560974567999/341451 -qsubz:-209751243565/196919,-569752205869,-11109223799/401194:112194824876274046/196919 -qsubz:-83409156386/117227,525814065374,791933892737/764822:-61639688850754284/117227 -qsubz:-104685303052/62283,-731959248807,114243681256/7429:45588513208143329/62283 -qsubz:895224938428/69119,-716278812153,-90243582193/10681:49509370442141635/69119 -qsubz:42133988649/3631,-445162819995,-954951120397/5875:1616428333390494/3631 -qsubz:112664025666/277,503116531409,247371933467/111:-139250615174627/277 -qsubz:284809115647/66,672615493530,554002682515/271:-44107813457333/66 -qsubz:5127131051/6,-212712172623,=1:1281400166789/6 -qsubz:171390839296/35,-82337476599,417661388196/89:3053202520261/35 -qsubz:191091147431/39,-920358211719,-25819031162/73:36085061404472/39 -qsubz:807118523227/5,346448150075,80611631468:-925122227148/5 -qsubz:418694152501/6,739403431228,-129305925739/8:-4017726434867/6 -qsubz:126259912535/19744860018986912314,1555457055296,-3487093339153/28692815598057427812:-30712281822365105276971541402409/19744860018986912314 -qsubz:-968360818288/10957042492839702615,-2258597022367,3154775409189/49421866618340899520:24747543548276443243508422571417/10957042492839702615 -qsubz:1890330468609/2410198493801717930,9205721307529,=1:-22187615629764777182735712826361/2410198493801717930 -qsubz:1034477250607/615640323458489068,9353407953800,1425836114708/170749360405788367:-5758335098116636371727071807793/615640323458489068 -qsubz:262340294343/741793310935990,-2150652932535,=1:1595339959499334241513728993/741793310935990 -qsubz:5309424088963/684908358112044502,3522078056131,-8179152756076/644669401491648789:-2412300698567144519392901852799/684908358112044502 -qsubz:3588674603747/1545966035679074,3212946088828,=1:-4967105527796005520630181525/1545966035679074 -qsubz:-4534453995828/32270512908519613,6589946455938,-9801838977275/38162912829764278:-212660952172800308629967307822/32270512908519613 -qsubz:2685068067884/3336975215402057,-7595365246836,-8811372244318/6683370423107785:25345545580617861619855209536/3336975215402057 -qsubz:543922202681/1166407376560219,-6302819775757,4908003544930/9587540580797447:7351655479572590719509013464/1166407376560219 -qsubz:1156846910145/409653034339684,9351664480220,1708516236439/66993814409903:-3830937730448765627932140335/409653034339684 -qsubz:9324441180811/420640541106436,1370697368460,-1313111911158/152906436709229:-576570882762172957528227749/420640541106436 -qsubz:-3788617052905/39205078029262,1228798560487,=1:-48175143446141445080023499/39205078029262 -qsubz:-7794396369241/56330672452520,-7704693024950,871554050776/21153823483007:434010539135666159654004759/56330672452520 -qsubz:4137136201806/8737070701967,-9979643114697,6058666158875/9867656564998:87192847473509993220710805/8737070701967 -qsubz:2641531019871/5593201879555,-4265291606149,1130816894271/2795283200510:23856637028365393126403566/5593201879555 -qsubz:8014147074772/512942258297,-8116516720099,876859202116/274307119021:4163304415920954656486175/512942258297 -qsubz:7059941701479/197648480521,8708557606758,=1:-1721233178498254999259439/197648480521 -qsubz:3755712200003/217202180,2401179822277,3189798795928/5096167231:-521541488214864763857/217202180 -qsubz:5560957786655/41651212441,8862436005090,=1:-369131204787209989538035/41651212441 -qsubz:-9615360976410/8344722377,6598017106271,700561666213/7396251362:-55058621000143761702577/8344722377 -qsubz:-1589748773573/2251431553,1769925300090,9628158560519/9021450241:-3984865668665368513343/2251431553 -qsubz:4945046252645/140767167,-3087509026163,3397834417837/518301300:434619903644940642866/140767167 -qsubz:1602058825487/99985791,6831864885925,3194690165276/457014865:-683089413022277066188/99985791 -qsubz:4764685272484/38991805,2571787873727,410456342572/677513:-100278646509042534751/38991805 -qsubz:4983758675551/20456287,-100153673261,=1:2048777268089917458/20456287 -qsubz:5694289753177/6317218,3418777293359,4923010338011/2845899:-21597155761309002085/6317218 -qsubz:329203322035/1858873,-4317791382401,5975893406151/9192155:8026226149581216108/1858873 -qsubz:4335665925075/55982,1656849962526,181594437680/67803:-92749438936205457/55982 -qsubz:9709390247427/166663,5132356269680,-3016218694867/745383:-855364183583430413/166663 -qsubz:-4359941557652/86109,1888975613916,3532475125997/7807:-162662161080250496/86109 -qsubz:75022830289/2220,1146635653662,6798944526217/46106:-2545456128299351/2220 -qsubz:4100868613295/1849,7054226490020,=1:-13039163911433685/1849 -qsubz:8649747700020/5381,3828262903125,2064106492493/761:-20591232934015605/5381 -qsubz:8502529839374/915,3194584992739,=1:-2914542738516811/915 -qsubz:9574702992505/246,5116051092239,5492259470317/599:-1248973865698289/246 -qsubz:-2543724436678/17,5669830231740,2153080048221/11:-98930838376258/17 -qsubz:1139363340091/4,4576282403250,1187287585095/19:-17165766272909/4 -qsubz:801445681414,5625028722145,=1:-4823583040731 -qsubz:287567579499,-5591174678442,-4382414917357/2:5878742257941 -qsubz:-715733231768/486064740545382237,89623634634077,58742041670676/35324168704538737315:-43562888715146770490499323922017/486064740545382237 -qsubz:-75727619487742/10388202751580825775,96108515478673,48660513204241/1818946673143737333:-998394744945899243492150360684317/10388202751580825775 -qsubz:-96029325769707/9893650986371005511,-74226005177085,-46687636878977/2387058458323178030:734366189334646371739993740145728/9893650986371005511 -qsubz:35783358055412/1552476032897596751,43490497059466,-1079321111837/5800379511336485288:-67517954343624372543080377339554/1552476032897596751 -qsubz:57789813906856/971696921385158133,2391642623404,863087819839/4775785527716489:-2323951774215189888927692837876/971696921385158133 -qsubz:-77070689378461/283257676299534021,-94811904810524,3607206487153/28906915118888592:26856199842161639591718807458543/283257676299534021 -qsubz:34509538492008/72304248340579153,-41953401106124,=1:3033409132309117863454513524980/72304248340579153 -qsubz:1340089579409/19730355565997710,37067446196524,342940118101/16746159833490834:-731353893380907947460704380631/19730355565997710 -qsubz:3919216713549/2250316629207754,-29394351385551,2872931002859/32162204014599:66146597727681403624549476003/2250316629207754 -qsubz:13914230734213/7377733041063051,68650193198811,-10400363504789/7533498628147940:-506482798638229846031398498148/7377733041063051 -qsubz:8362337855011/33881947681545,3976758804466,=1:-134740333755032092353924959/33881947681545 -qsubz:-79790637400646/303532319009043,-60289205709726,=1:18299722420286289131189651572/303532319009043 -qsubz:49164617138338/49329628036955,77336493302650,8067608439485/33220679284796:-3814980448302136859582292412/49329628036955 -qsubz:-22432972371586/38951076862109,-92458433570223,-31701633786722/95207688313893:3601355552543932683767008721/38951076862109 -qsubz:-4621525773709/140347977321,34467754323165,49739152325557/4329768753107:-4837479602057982650714674/140347977321 -qsubz:-43517481518770/3452004002879,30104767625988,21895741020071/133893785957:-103921778350696223428738222/3452004002879 -qsubz:52840510018437/757153700674,-23243061688718,81530288553473/77422952760:17598570172659746044814369/757153700674 -qsubz:66795802116211/748770475694,13193952800144,=1:-9879242314381210389583725/748770475694 -qsubz:40654512282679/28351746821,-94129569333945,4668047575488/16185258151:2668737718166428753421524/28351746821 -qsubz:-8794421645897/53319870337,-20198498303046,44580016832223/49670829584:1076981310511732830500605/53319870337 -qsubz:33181476617649/4377168145,45758335183370,79624732407833/456222057:-200291927099698421131001/4377168145 -qsubz:28405759396583/2581458592,80820518399572,-54287042127266/4414416479:-208634821604063469126041/2581458592 -qsubz:20477840610563/180143060,-48654124735301,-16777846576721/391089816:8764702931916652771623/180143060 -qsubz:19988889540450/80587711,60651285384749,-44648119713661/448244778:-4887748238375786679089/80587711 -qsubz:-52456127766149/43656429,6722399471849,16794509454023/64472294:-293476007708541133370/43656429 -qsubz:79338612639523/4449964,42881321722350,24368081230145/16600353:-190820258598262855877/4449964 -qsubz:-36687850855147/3594342,40016343462709,59189303240521/1278571:-143832460682291247625/3594342 -qsubz:-30566194381329/2595937,67081788792968,-67923038242759/8884794:-174140128120045352345/2595937 -qsubz:-6295335911933/438252,-44734738625819,76501444579927/371738:19605082376906516455/438252 -qsubz:27767502414109/413061,97215608337806,34631303453755/296748:-40155948628120070057/413061 -qsubz:37136350760161/3002,-92175327996582,76466821875271/29733:276747470996499325/3002 -qsubz:2935626294482/5109,20674608574976,-2365106865080/11931:-105623639583257902/5109 -qsubz:52812699008901/2884,84249241650178,6737583755031/134:-242922000220104451/2884 -qsubz:-65470998619593/2326,32262904613011,=1:-75108987128483179/2326 -qsubz:78999075171323/661,-10593407332566,=1:7081241321997449/661 -qsubz:1731396778013/5,56049768012708,=1:-278517443285527/5 -qsubz:-8277249758540/11,59885952775145,-25291842793412/45:-667022730285135/11 -qsubz:-42440035424938/57,-39767184220346,-904504982593/8:2224289465134784/57 -qsubz:22865720041019/4,40904975798004,8075381981923/3:-140754183150997/4 -qsubz:-21922184931013/2,-85282941031136,34448564580295/4:148643697131259/2 -qsubz:-246867251356781/34913747863834817207,99725282227818,=1:-3481783359351804958476515011821107/34913747863834817207 -qsubz:-305181664167009/90807051195363677740,-556419009100301,=1:50526769445444561004327150236832731/90807051195363677740 -qsubz:338648296555449/4263692604904527856,496604482821540,809299601354051/8236031413566206038:-2117368860968637737678068110262791/4263692604904527856 -qsubz:-229143629870713/5276801568796926466,-709348348254893,403852851463129/9918468826070875579:3743090476894927918180789515827425/5276801568796926466 -qsubz:541314787008921/969761679678247393,-625023945769056,-10730423739323/107949110676011946:606124271488125555126774399079929/969761679678247393 -qsubz:269697710637581/986639032055630686,-647511576454662,81783586137827/121738862044573311:638860195038043221027996005595713/986639032055630686 -qsubz:-688966709079205/74860741099180639,648207519211481,879845264372555/41946111313649477:-48525295274232840016387170795564/74860741099180639 -qsubz:166710353298975/16970305651247011,-698094548558201,213765522314/321157776265937:11846877862501969531938114086186/16970305651247011 -qsubz:49899180545856/2876267857739683,557467828819843,18059812167469/275257158459484:-1603426797758442090812218383913/2876267857739683 -qsubz:6692317961394/141734941248049,-441438992382050,647025798139055/12642657149192:62567329649867813522743081844/141734941248049 -qsubz:479537992567656/157885618980541,477496194629370,723421646353653/802564393977836:-75389782249910480040744521514/157885618980541 -qsubz:908470734681149/429897226733416,29178161829135,=1:-12543610851523044744852194011/429897226733416 -qsubz:77188802685248/7318291809111,-463455255292264,-108058346785819/1176426648669:3391700798694900254405702552/7318291809111 -qsubz:171404401104613/33934604643401,855275555777772,36574880343413/903775150870:-29023437846483581280861177959/33934604643401 -qsubz:-541340901900380/6622210685537,359991433354457,757631862823376/2232325778223:-2383939116662207278386288789/6622210685537 -qsubz:692469292076099/5877109446415,650562123345311,-533032945119773/2302096119676:-3823424800591835209803933966/5877109446415 -qsubz:-95311828811477/314989654006,189810882360044,-28308634395237/5347103791:-59788464161259140107747741/314989654006 -qsubz:698022114495799/176594100926,695874989112564,-126581470685793/77926271237:-122887418058525256076138465/176594100926 -qsubz:842269707991031/20902452297,641480824512781,-207378748871278/20625232021:-13408522332976363411316926/20902452297 -qsubz:90008215456199/31308617602,-364998910104603,7226822032963/10002572848:11427611301701797362478205/31308617602 -qsubz:-351501780974067/3968320430,622136787208291,55114547224579/2370456759:-2468838123284725621659197/3968320430 -qsubz:344449638260631/4282977544,558958638427895,637819877664383/3604552102:-2394007296067040109929249/4282977544 -qsubz:210466623353876/42415731,582912199285926,-497147675534948/306590031:-24724646831063605948030/42415731 -qsubz:159664413249106/959545307,-279292307566119,-653584191266708/745665815:267993623165934491902639/959545307 -qsubz:-392198737412127/18608647,672422899635821,-569033599510242/82909327:-12512880766238158956314/18608647 -qsubz:39300503655213/2721430,511724197547707,59370211633018/15974095:-1392621543631752605797/2721430 -qsubz:87754948235651/938752,383351463740417,375522385390265/6961414:-359871865534295703933/938752 -qsubz:41618261156437/401439,-114295722812862,220994573438802/7353641:45882802288533664855/401439 -qsubz:583595357599684/369917,-921858234302871,506477458084177/879257:341011616053972731391/369917 -qsubz:45271960096970/353353,134033050982156,449578874064836/569165:-47360935391737672098/353353 -qsubz:226890272517543/20945,-473968771427454,474551299506991/45887:9927502807820541573/20945 -qsubz:-684400875331106/63053,771762142119055,263139740728045/52269:-48662602747908106021/63053 -qsubz:34178215463647/1460,-574309051342644,-63579349430280/3001:838525393175723887/1460 -qsubz:304677119786896/7379,953072503508023,=1:-7032417326265914821/7379 -qsubz:690712418406353/551,-878220570482942,945308150006353/640:484590246754507395/551 -qsubz:563742800297603/343,-370471036590769,=1:127635308350931370/343 -qsubz:21771882327450/17,838540815832625,=1:-14233421986827175/17 -qsubz:-70429366835830/23,421029379926378,193588248726221/68:-9754105105142524/23 -qsubz:579884703987868/9,158994766699977,-448423246325295:-851068196311925/9 -qsubz:211206174985053/5,-931363857001162,111347832442520/3:4868025459990863/5 -qsubz:-1832545914230682/30139417405441315141,-2206272301963151,1860280227521645/86203654952388608222:66495761818931270288235871646138609/30139417405441315141 -qsubz:-2244126580089402/15802353325367691233,4284202352680604,9672828494536963/16956491871832558298:-67700479294430428930131058720034134/15802353325367691233 -qsubz:-2873054508761746/4018888696438887255,6328415852872821,1498506651106845/518044831134554573:-25433198937475240507570306781558101/4018888696438887255 -qsubz:7896973515418738/171152447613110907,28172470782975,2496184225627819/8379223243264936533:-4821787329815018407032286989587/171152447613110907 -qsubz:6171557047136737/153596772628473013,1680648096723096,-1368752415341766/146474119282103663:-258142123580853290414834522671511/153596772628473013 -qsubz:6110188097149881/174980302833168079,1110459252556,-1094629510180661/186263856652338951:-194308496296136243983761210043/174980302833168079 -qsubz:-3332313275107576/6438318281683471,7900787008515747,=1:-50867781436614198716281448225413/6438318281683471 -qsubz:-7156623476138575/60768468431925828,4848185091878538,2590883047783370/29043794443881857:-294616782707954363603301077218039/60768468431925828 -qsubz:6244864610487455/4441450329956024,4695453677641407,8682107496188525/1108836802236426:-20854624285853647226021740998313/4441450329956024 -qsubz:1214388452257501/8099557799286469,-7732646369856166,439856662355753/161507957350071:62631016214092712520853412275355/8099557799286469 -qsubz:152270808963307/225936249720782,5032164593494515,-3042221834459135/169235048654169:-1136948396231854028931589547423/225936249720782 -qsubz:2643724012201914/307126445994791,-693785933640383,=1:213080008080151385664497446867/307126445994791 -qsubz:-4268051553498140/95366069343373,-8287002357898623,-3054534942105489/17777545496443:790298841512051368610157377239/95366069343373 -qsubz:3485602780203412/25700401711199,7457017497637979,428269713159377/10715443614396:-191648345256732514829431823409/25700401711199 -qsubz:-8234491447936746/4919684964695,4149505619200689,=1:-20414260405707280268532611601/4919684964695 -qsubz:810546492778734/1537255953059,9694022516419974,9086115085796596/3823340626845:-14902193822453782061581221732/1537255953059 -qsubz:-5877831901958825/989824365981,-7295262013116067,170001713972327/26272141179:7221028096792006892537357902/989824365981 -qsubz:413656776972827/989269893760,7369973639327299,-436236958984308/162577127395:-7290893039190903982820781413/989269893760 -qsubz:3878951355242185/83694892558,3450947753988635,2108640605094263/15564008636:-288826701489471270922836145/83694892558 -qsubz:-2535073297478552/40453071523,4908538742513000,7101922105535221/34207081432:-198565468826829943054777552/40453071523 -qsubz:-2382309885993389/696509530,-1466852366874503,-2309936099592793/3712437025:1021676650248837767520201/696509530 -qsubz:7607952043533620/5686913259,6298086275997422,4940928909130479/2342224064:-35816670341687720578084678/5686913259 -qsubz:2927215245836138/37741447,-962144281698956,=1:36312720341309463665470/37741447 -qsubz:4910061305028263/340473560,8119898610953665,=1:-2764610782000388012569137/340473560 -qsubz:4067805811057167/37177673,5330125030512986,-1997223198941339/66900704:-198161641365721004704411/37177673 -qsubz:7759637046791302/19652141,-310036804999994,=1:6092894766686433878456/19652141 -qsubz:3919065179535201/3669449,-9390389769263598,2882022398896797/3976985:34457560267499719952703/3669449 -qsubz:716031381446830/216733,7947765435310961,=1:-1722542330059869063583/216733 -qsubz:4054967994410335/373802,525724563764829,3503712661359490/252721:-196512838416426199523/373802 -qsubz:9078916136353979/203034,-9146320842030949,-2957406411653994/351673:1857023184757048053245/203034 -qsubz:6377608393262961/38293,5049392078825515,=1:-193349993266072182934/38293 -qsubz:6441803794276323/46595,-7945891506343445,444633258633711/77876:370245256541867096098/46595 -qsubz:-31739640835113/134,9187216015631531,4944420675707143/1828:-1231118685735460267/134 -qsubz:9380863138336115/5303,6462848225018826,-6700633266931069/6325:-34263103274136498163/5303 -qsubz:-3097631232518591/9,-8171290453822216,-9196963695173/266:70443982851881353/9 -qsubz:1093336426937324/7,1050221975761222,4629256617357701/951:-6258217403391230/7 -qsubz:-347597167946897/2,7674954857028324,305176137974688:-15697506882003545/2 -qsubz:2328475415769504/79,272925582329873,-6102549509203995/38:-19232645588290463/79 -qsubz:2308509394585516,-3830045206470274,7003553193110811/4:6138554601055790 -qsubz:1732760946956491,1777160492223769,3345447948158671/5:-44399545267278 -qsubz:60622144360049674/33802404082907624055,-69039399995425550,51265382108255056/56157062688150984537:2333697696286865212886332363501654924/33802404082907624055 -qsubz:36134312588149621/46726106282722203568,88368419250610983,16599233636304207/89218481321406581495:-4129112149940203572739672031514437723/46726106282722203568 -qsubz:20529608710739058/363448886403849905,-38414609254761218,-28483290600430736/9731878244397435811:13961746955281991196780195397723348/363448886403849905 -qsubz:-21301556721438976/6513242985788039333,10185328317205357,19471190728639913/1019778013146869138:-66339518219986085639448723675745857/6513242985788039333 -qsubz:44545192250412223/556091898773307973,-68210916338593275,48338123621716519/630903301445119154:37931537983795590439601289412093798/556091898773307973 -qsubz:8756185550667068/221237800002764551,37082500190782117,-49571575251913483/428549478410686743:-8204050760810732298651341341667399/221237800002764551 -qsubz:1266875902956333/74065487263129243,82179201358611673,-22809095236679413/11512992706379829:-6086642591520386247198936144497206/74065487263129243 -qsubz:-3290636228641958/39922728219039171,27776924787657947,38458678927210417/47863542399556842:-1108930619058360556827999971083895/39922728219039171 -qsubz:-42130079299808296/8434875921605067,-11019950142983699,-23447400609379164/121422770092321:92951912118341475833697196994537/8434875921605067 -qsubz:4099885603797749/2435210469429361,74350793422542339,86927824732188143/8409742118553639:-181059830552954771443357588417630/2435210469429361 -qsubz:67669333773707083/272613019755061,-93798347274264096,-45708312696783257/349531962793823:25570650698471097774452720296939/272613019755061 -qsubz:90957430568123489/391120597363954,6192418291726731,47258016849281278/236338757046761:-2421982341387543639094949530885/391120597363954 -qsubz:9680926001959435/35332948152676,87479517830701337,69091152204102197/219079971218:-3090909267933256327145631368377/35332948152676 -qsubz:-2401057520785223/6794448427129,78594993607525862,9822515380715691/6307070974391:-534009630696870303660610695421/6794448427129 -qsubz:-35669437330800467/9924679089374,82178011946947185,7494777953306900/464563380743:-815590396776229150262403512657/9924679089374 -qsubz:11660103886719350/702376882271,76866897184391316,33851103741574544/1043053682715:-53989531594206620633040039286/702376882271 -qsubz:46821131628705451/862314840987,-23194527064543517,=1:20000984917477331879225436730/862314840987 -qsubz:161045881718771/27075945293,-43271044257960465,=1:1171604427099680375978560016/27075945293 -qsubz:-60112156053007651/36372620700,39791023371344653,1476360991693221/6530487026:-1447303800410866468595124751/36372620700 -qsubz:93025606850655363/57750297227,70375311017089745,-20809770167586319/6537747728:-4064195128586474843432981752/57750297227 -qsubz:66318318188267865/1763416382,-8494345308336372,25978643271663860/9056806641:14979067737403517739513969/1763416382 -qsubz:39872461457095153/7697794394,16021018477534333,-29038307872337798/2023268917:-123326506182661742052834049/7697794394 -qsubz:-10578481873157050/399979569,-74955252966976839,7152087282045522/102539471:29980569765438885423045341/399979569 -qsubz:78420049286413657/598935089,57793609900514480,71630428375584251/480499416:-34614620810975871938175063/598935089 -qsubz:-27519033180387711/13885085,57110868026002395,=1:-792989284483858645166286/13885085 -qsubz:112418468340001/301745,54405933003593985,=1:-16416718141750998663824/301745 -qsubz:9174319448294783/1062136,97028070754069006,=1:-103056997784124389462033/1062136 -qsubz:-11682605623507087/1833691,7208465426749752,42708279458013085/2810354:-13218109859447803001719/1833691 -qsubz:2812356728656513/534935,68388753901027584,97245878303468343/140699:-36583535255689461990527/534935 -qsubz:31551448030819707/330632,-80750562495416306,5621444274957506/269077:26698751530432514905099/330632 -qsubz:-33849467579218205/69497,60936973306267634,=1:-4234970683333260978303/69497 -qsubz:-10824831395257468/25447,96813598240824230,25910641834610055/22417:-2463626459265649438278/25447 -qsubz:4701573695056803/1438,20730190652622936,22128237033227327/2325:-29805312584776725165/1438 -qsubz:19342403188073667/1838,77710503528688069,-29951149360890159/1909:-142812563082540597155/1838 -qsubz:20926018629804348/149,51657522271692972,=1:-7676044799852448480/149 -qsubz:13573480210796164/447,33824716809070641,1445132915921588/9:-15106074933443780363/447 -qsubz:-42143315976323015/51,33391903738170435,=1:-1745130406623015200/51 -qsubz:-28698219386640759/13,83268075330816132,-49006503722648020/31:-1111183198687250475/13 -qsubz:12975981398542545,18975161321245933,550313867201012:-5999179922703388 -qsubz:-4164064005006797/3,12081203464497637,84626976109311453/4:-40407674398499708/3 -qsubz:-477106876207656134/7877944473247978593,-803086328922597207,311162678588479799/34146563555720051689:6326669506476782929117540896089933617/7877944473247978593 -qsubz:-465449358463997555/82259489098814668274,78609606376504442,23623692298759933/1909856158146778290:-6466386058790179182859588942381470663/82259489098814668274 -qsubz:55657155637787468/352243932662032145,931147756136809511,-706077458182178492/4890139950764490669:-327991147511056658341169010385943627/352243932662032145 -qsubz:-338412710404804019/9240924616405735378,180507301532576790,354994699428236406/1584136814505879965:-1668054366173361583178755373609480639/9240924616405735378 -qsubz:-278052766531165423/213589938382221126,-717335569765330249,327115671099490325/973040503527761492:153215660145552371350937879003474951/213589938382221126 -qsubz:319790079757993429/85843803189992002,129266654884522405,=1:-11096741280935559317469625781811381/85843803189992002 -qsubz:647723610543155092/95934901226294863,10437868520469255,655999718116549702/60165561163831581:-1001355885524269831096747212781973/95934901226294863 -qsubz:-490792959368504510/8839690905932849,780493070335457531,=1:-6899317495987951906756776145840329/8839690905932849 -qsubz:200230806231530877/534053235743650,574182776580143425,=1:-306644169740898654458247301470373/534053235743650 -qsubz:-415400268260899058/3432173800064079,-969417138049457063,=1:3327208102546448501242352298240919/3432173800064079 -qsubz:610500835640448509/244349286982576,-726909463539500534,141143959595247333/41552246570044:177619809116764391827142641144093/244349286982576 -qsubz:136794096998673790/125947220203517,501933222844173130,=1:-63217094145015905841679184224420/125947220203517 -qsubz:37195166234504707/4122583546869,350304198433672874,288669113811749979/50036393133086:-1444158324861755915971558426799/4122583546869 -qsubz:-220618681215838560/14377665800771,8868226871326041,=1:-127504402201563441934106016171/14377665800771 -qsubz:-178245325407305280/431875286797,92993296137381601,775757861791511902/3521879350061:-40161506439708276569913327277/431875286797 -qsubz:479413403799611117/2544433559696,571317426935469616,=1:-1453679234333296934118530585619/2544433559696 -qsubz:78548226516829117/75731440956,475186597103136792,372968862509778142/473438190991:-35986565721520216379222424035/75731440956 -qsubz:356871544245112943/457036865155,380199263690323829,=1:-173765079610907947968711165552/457036865155 -qsubz:164087683390841152/9866781011,414256053008139562,142080480091212971/28353008652:-4087373757348433175388616030/9866781011 -qsubz:-926767597190934385/71130390483,424803581672574937,997220370520185575/14320267108:-30216444643874005118080058956/71130390483 -qsubz:-508670075791922879/7201821098,217937729927638852,137262476496651971/1332969124:-1569548541951765573450022375/7201821098 -qsubz:708541217086167290/1270367493,137055529956144222,612951099738164089/8319475532:-174110889283632118162408156/1270367493 -qsubz:478290371375801493/32509979,-621018688752149419,=1:20189305008230285192353694/32509979 -qsubz:202407674710634402/98360799,438420143767171363,805524032483129161/407774601:-43123355436226170523964635/98360799 -qsubz:750240893218756098/12726925,682819412842796873,556437922516174385/42980509:-8690190705553419374149427/12726925 -qsubz:239662400690312894/37085945,-617903896056362368,=1:22915550144094372370030654/37085945 -qsubz:547526163264525237/6384643,925215752491576731,243367286469210971/2199851:-5907171730108914670016796/6384643 -qsubz:488339838572246377/8987524,833735135695423197,67144546497217911/577715:-7493214053366034100947851/8987524 -qsubz:54158926298615969/463896,903750262214101670,-323417221290610907/56479:-419246077481146609690351/463896 -qsubz:899979201562416758/19011,36874785972814972,333938930051256853/431121:-700126576927623015934/19011 -qsubz:251495623875326929/9839,122446851891915382,980630311370393757/34454:-1204503080140680116569/9839 -qsubz:586639670688982327/24017,-796132898656953871,-681706178572361176/45543:19121310466714750102134/24017 -qsubz:-102851779508569447/3820,-939797330665416187,=1:3589922951362381264893/3820 -qsubz:197733827323726961/1063,970508998896485514,-112039443168568153/1485:-1031453331999640374421/1063 -qsubz:798475189524604680/239,365694081282229859,=1:-86602410236928331621/239 -qsubz:142434970975405303/27,565787783866093670,80082655399847437/326:-15133835193409123787/27 -qsubz:814435903223223400/23,934520995176210672,824076522724149791/98:-20679546985829622056/23 -qsubz:-342004432352715490/61,708047941844384558,-893520674572963797/68:-43532928884860173528/61 -qsubz:188506043793261871/2,173381870849138370,457155699541150681/8:-158257697905014869/2 -qsubz:-195061562764744895,-579261672564430749,572618332809556695/7:384200109799685854 -qsubz:-5211865465872518894/11421997512267397151,9216468347981324231,-3730577014383987231/46090107429011417798:-105270478542533892972691061438449184775/11421997512267397151 -qsubz:443443414160163915/4491468994021274354,932514129347471790,=1:-4188358298450913632328975749705309745/4491468994021274354 -qsubz:275361187224379309/346698790548066715,-9688017663470973747,1805402917593442446/2385740059851766675:3358824006733693814162539396593910414/346698790548066715 -qsubz:1927916840762649449/644266943246233650,1019481372573774207,=1:-656818147604580167864072677502816101/644266943246233650 -qsubz:3969083678872801204/896572266795201101,6807779792226215707,=1:-6103666560158821383204536354397092203/896572266795201101 -qsubz:-865341312927331777/288496053508154740,8626492255839507491,1039454095259162685/156542247725866016:-2488708971428357042860912746744489117/288496053508154740 -qsubz:2279766799414118849/27989015333357246,61102716510638539,8643998670150313515/44107462445321072:-1710204869326040746987478648384745/27989015333357246 -qsubz:-9598524755027771179/55399943240765642,-815430339648713125,884311989519445007/53819690104622587:45174794533336946781627589986680071/55399943240765642 -qsubz:-2021737476156144347/2495236846065565,3202240405398277170,3178930774678872133/7381295168863952:-7990348249509715413422020018795397/2495236846065565 -qsubz:68053119707871158/578630692788811,737684984689589161,-7410529972742470086/9627432535163773:-426847173750840343829989219806413/578630692788811 -qsubz:2141868292014076693/328873136022248,-6454969195161975215,2185675198776140021/319490487602131:2122865962139927113433579878660013/328873136022248 -qsubz:6904094780152376715/105515417760572,9013725078444379686,=1:-951086967230996440142437656163677/105515417760572 -qsubz:986043406552959943/14107596810979,2995890298668631332,8819951421573670481/67954939364565:-42264812423539521185379288034085/14107596810979 -qsubz:-4371503587867387026/10407970809659,7789426111500215458,1611857228024591370/10701042327247:-81072119592494224995141074895848/10407970809659 -qsubz:128834428582928630/134708403993,8492912687875656470,-1262307966262698384/1518482758745:-1144066713435500610282261356080/134708403993 -qsubz:9450827094775890930/2700687301223,-6757147386255266788,6002877009556405644/1405277037833:18248942138561235652948359572654/2700687301223 -qsubz:-8388250355830908541/266466413258,2862142690442542385,=1:-762664896963214716421421848871/266466413258 -qsubz:-5619275429133115259/41783227722,-2163358989032247609,=1:90392121277550826819203901439/41783227722 -qsubz:9606560958482546016/29644869859,-7459227243081357178,9905446256945526764/20720077985:221127820879460752649388043918/29644869859 -qsubz:4930763186584321169/47984083979,6662837494722716160,551152931619292049/65568759475:-319710153880274018353836079471/47984083979 -qsubz:6701839224687506932/985583379,457687991137105386,3188171598044228633/792087660:-451089670130791153925472362/985583379 -qsubz:4977850203493279051/6143184950,3544412937261195005,5139590551055599222/1513126297:-21773984207790417170237895699/6143184950 -qsubz:2743230165777443647/888694730,494148490776673118,9757565623145649909/510318983:-439147156847452841121824493/888694730 -qsubz:-2143911698311688420/449171481,-6870034167785299997,639958345512727336/149888949:3085823419520813991370097137/449171481 -qsubz:-8533723636383149797/39725880,2768513107473221737,3141886070022952860/42371633:-109981628019631946320603357/39725880 -qsubz:-5314262731256470963/63761165,5833696012508623470,-7880529150937062671/68519301:-371963259327667136250013513/63761165 -qsubz:1681639872255718298/1514077,5997071385278801708,-6427612516373280573/8782472:-9080026170168899997925218/1514077 -qsubz:6099083259404780614/4192479,-5164344556388094262,-681054291106360636/3826929:21651412200504660448236112/4192479 -qsubz:8734142975627530613/432795,8347557484528703322,=1:-3612772407373624526714377/432795 -qsubz:9737081301281728277/751482,-1055406353334667048,=1:793128614297943544293413/751482 -qsubz:7681560095018293619/96421,-1078017997145375078,=1:103951254862849228689457/96421 -qsubz:9092804880201392539/52889,4169259379769360400,-5597148679483744113/49247:-220498866531741500803061/52889 -qsubz:-4754156917842901869/1537,-7603757415178737028,=1:11682220990211875910167/1537 -qsubz:-1492184829986224781/167,-4909822866544288080,-7885239837871971805/6814:818448233882909884579/167 -qsubz:-3561671662616934523/234,-1643132577230822696,=1:380931351409395576341/234 -qsubz:2224799941584138562/239,4895333498642631574,97344947199515758/161:-1167759906234004807624/239 -qsubz:7083599259933004607/80,7011559617335986001,1255271091090021783/31:-553841170126945875473/80 -qsubz:958854888905624023/33,5357637989296291879,-6913737981438705455/54:-175843198757872007984/33 -qsubz:-3476077523929127472,9908984532191635107,-6771898413854964869/5:-13385062056120762579 -qsubz:9188473183063801985/2,3589464423036032766,-2241566641820695587/2:2009544336991736453/2 -qsubz:41509521914914232161/2172094934845501331,95015472716989623433,=1:-206382627020524085395686379432876057162/2172094934845501331 -qsubz:-570614734467915216/612897350622429103,-29603844723095151643,717827408667935931/776625266995427534:18144117999022796755619629936333551013/612897350622429103 -qsubz:-27042524847598213145/9016861265984956672,61942065399081471006,-85599646530160700355/3483722943530240888:-558523010232084733112550144976532465177/9016861265984956672 -qsubz:26949534603425444509/3315837931819363899,1606604827685202950,-71919839549756914182/3712334721902834665:-5327241229082708837857932880292857541/3315837931819363899 -qsubz:41438250760107242789/99249508352697542,73974969596388490897,=1:-7341979362847306203122430732354032385/99249508352697542 -qsubz:87351178611540281996/61845876966812939,-91007621652632243823,19408679396333792502/44151394776784993:5628446171770955073811619296219507793/61845876966812939 -qsubz:4405917364991104531/771908998098153,64506590711703018448,53841168466232317214/53456487025575297:-49793217806998294835979616482622013/771908998098153 -qsubz:-9365617946363817493/26374061478484340,43990273202897382222,83764348600369483135/35424906140909763:-1160202169908537784737001508585220973/26374061478484340 -qsubz:-23473112900467700871/4618168111280368,15106111862258441004,38672462198241424645/4699633736186089:-69762564087716050528958198499110343/4618168111280368 -qsubz:-22186709781123392335/603508867935672,76634878648225439420,-26972666418343859759/2836755066733443:-46249828857378158866193511616382575/603508867935672 -qsubz:23848664713951836051/633837930342658,61700049658138946296,-28353020445764265473/310114901939234:-39107831777353989139731668388058717/633837930342658 -qsubz:2630510857358657218/37381246359883,-12240046954756473381,48743251697811443023/762346209014900:457548210672290050277093994431641/37381246359883 -qsubz:22881875543808933841/18718381442116,7150358297276988453,14651206458917400377/15752969059626:-133843134056206859479223810952707/18718381442116 -qsubz:1082979078922829695/1046984148841,-43275384717956071867,=1:45308641834697139731977743585842/1046984148841 -qsubz:21755828016468111169/5500110518439,18412344180922250307,63875503932039462805/8260608840523:-101269927898587827121167828799604/5500110518439 -qsubz:69011314837775177660/2882678720201,32263646636145101120,=1:-93005727594031047489899556547460/2882678720201 -qsubz:97885536037352108896/150601844165,4452732237850850724,=1:-670589686495399999211173316564/150601844165 -qsubz:22138505699176485607/252116416049,61532865941590224682,27472490489762575799/708864811:-15513445630395164712899324235811/252116416049 -qsubz:89674388203290664536/67784290823,-72266756979360926584,=1:4898550872013740444455898603168/67784290823 -qsubz:35131532657379157626/53215163647,19053685252752801749,28163327184395823897/32686497356:-1013944978768539369653403660977/53215163647 -qsubz:83869306682999924931/5573344090,99595425285705819332,=1:-555079574823255782969610022949/5573344090 -qsubz:-22687176270238560014/37602313,49747019891864444660,1536837876444207726/641869829:-1870603035478289271915058594/37602313 -qsubz:49755871830274632905/374641781,42438577123950343113,31092478152506184877/7732186:-15899264067066742469140771348/374641781 -qsubz:10982404440168695175/15660421,60671432520545031046,-27453714136445367576/288574235:-950140164962421895469735191/15660421 -qsubz:6775869043981190441/18805965,64780757548781992084,=1:-1218264652360010891780790619/18805965 -qsubz:44672679637496213080/48849753,95859623215842468974,18456416171029545998/4876557:-4682718872094290658793850342/48849753 -qsubz:-42152529057348698335/3235744,59925250634539284363,-3628407662598980249/15331:-193902812341735739490569407/3235744 -qsubz:52085283917127896710/9866863,38283604142633656357,4824692675957093036/5558115:-377739025136314829335701381/9866863 -qsubz:23591689782602478979/107299,69997830527239555546,79585026335134005520/792209:-7510673626052494468051275/107299 -qsubz:75522219291754027577/523942,98517292436821748408,-78467100165240534481/769278:-51617271711713968750356759/523942 -qsubz:-85486382965188732358/90271,23243020426810978176,=1:-2098256183331618999658054/90271 -qsubz:983479060786951655/34946,98005836915865207790,=1:-3424910993382764764477685/34946 -qsubz:35301842348289418558/1435,49016933196656116973,=1:-70303997294853238437697/1435 -qsubz:2632750748212302453/790,20382032741788103576,=1:-16099173115264389522587/790 -qsubz:-18891606196309322941/371,15238007397425687662,=1:-5672192350641239445543/371 -qsubz:22866847672127230662/17,21730312190117757012,30995020678487656037/5:-346548459559874638542/17 -qsubz:1126858518170848635,-611735474764215689,1160987006014179401/33:1738593992935064324 -qsubz:7067907915086579691/25,-28626674589646474416,=1:722734772656248440091/25 -qsubz:60995824276572751408/5,-94170815171282976513,=1:531849900132987633973/5 -qsubz:-26266792979830841992/9,26748623877696285585,-25180055821630578113/8:-267004407879097412257/9 diff --git a/polly/lib/External/isl/imath/tests/qtodec.t b/polly/lib/External/isl/imath/tests/qtodec.t deleted file mode 100644 index e037a8dfa65..00000000000 --- a/polly/lib/External/isl/imath/tests/qtodec.t +++ /dev/null @@ -1,1303 +0,0 @@ -qtodec:3/29668193161647153598,10,8,0:0.00000000 -qtodec:1/2552439818325226004,8,24,0:0.000000000000000000003472 -qtodec:2/2729838301109816701,10,17,0:0.00000000000000000 -qtodec:-2/8398891633027131961,8,2,0:0.00 -qtodec:1/30929359245686845,10,17,0:0.00000000000000003 -qtodec:1/93965811021736277,4,4,0:0.0000 -qtodec:0,2,5,0:0.00000 -qtodec:6/83909376915228431,16,18,0:0.00000000000005270C -qtodec:-3/7079577697657177,33,15,0:-0.0000000000LDPIW -qtodec:-6/9174315766316507,8,5,0:0.00000 -qtodec:9/479356093905517,16,19,0:0.00000000000548E50ED -qtodec:7/272231567064361,2,0,0:0 -qtodec:5/47376768449307,10,11,0:0.00000000000 -qtodec:1/12288137207534,10,19,0:0.0000000000000813792 -qtodec:3/2308297858255,16,3,0:0.000 -qtodec:3/7879579455704,4,19,0:0.0000000000000000000 -qtodec:1/716028119691,8,6,0:0.000000 -qtodec:-7/176165656001,10,2,0:0.00 -qtodec:-2/79472074107,16,21,0:-0.000000001BAB9EA7B105E -qtodec:7/39648256931,10,3,0:0.000 -qtodec:4/9367226433,10,11,0:0.00000000042 -qtodec:4/5861792533,21,10,0:0.00000014H0 -qtodec:3/243862471,8,3,0:0.000 -qtodec:-5/892143793,16,23,0:-0.0000001812303B762B937DA -qtodec:-2/12767069,11,15,0:-0.00000030641A338 -qtodec:-1/10048225,25,3,0:0.000 -qtodec:-9/1466150,8,1,0:0.0 -qtodec:0,20,1,0:0.0 -qtodec:4/16203,10,13,0:0.0002468678639 -qtodec:5/580616,2,22,0:0.0000000000000000100100 -qtodec:-4/49429,10,8,0:-0.00008092 -qtodec:-5/74444,2,7,0:0.0000000 -qtodec:-2/437,10,9,0:-0.004576659 -qtodec:-6/2737,4,17,0:-0.00002033222223022 -qtodec:2/295,16,18,0:0.01BC4FD65883E7B3A2 -qtodec:-1/41,13,18,0:-0.04177C08322B136459 -qtodec:0,8,11,0:0.00000000000 -qtodec:1/90,8,11,0:0.00554055405 -qtodec:3,16,7,0:3.0000000 -qtodec:1/5,10,16,0:0.2000000000000000 -qtodec:27/28225889819425315955,10,14,0:0.00000000000000 -qtodec:97/39183286035001818490,16,11,0:0.00000000000 -qtodec:-35/3702072548595294917,10,20,0:-0.00000000000000000945 -qtodec:37/8652786483007175262,16,10,0:0.0000000000 -qtodec:41/181598573551235020,23,14,0:0.000000000004LI -qtodec:15/600082766020339676,16,13,0:0.0000000000000 -qtodec:-9/2722110669597035,16,10,0:0.0000000000 -qtodec:57/47186773574985517,4,12,0:0.000000000000 -qtodec:0,8,15,0:0.000000000000000 -qtodec:38/8249095374399173,10,12,0:0.000000000000 -qtodec:86/135104489739753,30,7,0:0.0000000 -qtodec:-23/99519784680918,16,16,0:-0.0000000000410D37 -qtodec:17/35672209854079,10,3,0:0.000 -qtodec:56/46540343251387,8,11,0:0.00000000000 -qtodec:0,16,1,0:0.0 -qtodec:-59/6929353087150,8,13,0:-0.0000000000004 -qtodec:79/932785444169,16,2,0:0.00 -qtodec:-39/53188416323,8,10,0:0.0000000000 -qtodec:70/56574330991,10,12,0:0.000000001237 -qtodec:-83/19562860498,22,23,0:-0.000000ACI2EFKHH9BB0IH2B -qtodec:13/307883133,16,18,0:0.000000B55992EED238 -qtodec:11/573365410,10,14,0:0.00000001918497 -qtodec:-89/983323622,8,20,0:-0.00000001411360322773 -qtodec:-27/872316667,10,14,0:-0.00000003095206 -qtodec:23/38939829,18,17,0:0.0000121AHFG008FEF -qtodec:10/15277977,33,22,0:0.0000PKABC0QM81FH6PKCEH -qtodec:10/731501,8,10,0:0.0000034526 -qtodec:6/1029065,10,15,0:0.000005830535486 -qtodec:49/332590,16,17,0:0.0009A7C345BF4128D -qtodec:50/776461,8,1,0:0.0 -qtodec:2/479,10,16,0:0.0041753653444676 -qtodec:43/1929,16,15,0:0.05B4E2ABBA75950 -qtodec:-3/4439,2,0,0:0 -qtodec:-77/3511,16,1,0:0.0 -qtodec:-3/73,2,22,0:-0.0000101010000101010000 -qtodec:-11/574,4,21,0:-0.001032133222211322030 -qtodec:85/7,30,12,0:C.48H48H48H48H -qtodec:17/4,8,21,0:4.200000000000000000000 -qtodec:-61/8,16,1,0:-7.A -qtodec:81/2,16,0,0:28 -qtodec:-223/7523256159150326952,19,11,0:0.00000000000 -qtodec:492/63927532590023633933,10,7,0:0.0000000 -qtodec:-488/4671427241940113665,10,11,0:0.00000000000 -qtodec:869/1536545359977443591,16,13,0:0.0000000000002 -qtodec:255/990950541390055304,35,10,0:0.0000000000 -qtodec:314/865017777698304039,10,21,0:0.000000000000000362998 -qtodec:397/94739791379991670,4,10,0:0.0000000000 -qtodec:197/49947954439637722,10,12,0:0.000000000000 -qtodec:4/2294468349351839,10,1,0:0.0 -qtodec:465/3028494196809779,11,17,0:0.00000000000053342 -qtodec:441/948226064615029,10,9,0:0.000000000 -qtodec:415/205250226057042,8,4,0:0.0000 -qtodec:-7/17462466865516,16,18,0:-0.000000000070D4FD1C -qtodec:608/28239839509857,8,12,0:0.000000000001 -qtodec:-223/866713738143,10,22,0:-0.0000000002572937178517 -qtodec:563/7786288255956,8,1,0:0.0 -qtodec:-919/714101559956,4,11,0:0.00000000000 -qtodec:-835/607709250842,10,7,0:0.0000000 -qtodec:-734/88891360337,16,6,0:0.000000 -qtodec:41/3074329077,10,10,0:0.0000000133 -qtodec:-34/7345250185,8,9,0:0.000000000 -qtodec:142/2351029685,16,14,0:0.00000103697A0A -qtodec:34/31175165,8,8,0:0.00000022 -qtodec:-96/319314395,16,17,0:-0.0000050B41B8D426F -qtodec:948/10607737,16,12,0:0.0005DB5BC777 -qtodec:47/24044059,35,24,0:0.0002WNBVR50LE0WRKG58RQLQ -qtodec:535/6095688,10,7,0:0.0000877 -qtodec:486/1456495,10,6,0:0.000333 -qtodec:373/978875,8,11,0:0.00014370747 -qtodec:6/6211,16,7,0:0.003F4F4 -qtodec:685/2168,4,0,0:0 -qtodec:-88/41285,4,1,0:0.0 -qtodec:168/2015,8,2,0:0.05 -qtodec:-257/2002,16,21,0:-0.20DCF6899725153A0DCF6 -qtodec:89/871,5,6,0:0.022341 -qtodec:499/295,2,3,0:1.101 -qtodec:587/48,4,5,0:30.03222 -qtodec:155/24,10,16,0:6.4583333333333333 -qtodec:199/9,4,16,0:112.0130130130130130 -qtodec:-106,8,2,0:-152.00 -qtodec:-2933/29115963383147957058,10,2,0:0.00 -qtodec:1529/24516687344881033558,4,16,0:0.0000000000000000 -qtodec:-8335/3596290216553914092,10,2,0:0.00 -qtodec:1923/868496977516837484,10,2,0:0.00 -qtodec:9839/964058578172332209,2,23,0:0.00000000000000000000000 -qtodec:6976/372390689442127831,4,16,0:0.0000000000000000 -qtodec:-5619/82130008401991793,16,19,0:-0.00000000001341E2F2A -qtodec:-793/7362155502859746,10,10,0:0.0000000000 -qtodec:-4999/903131924743945,8,11,0:0.00000000000 -qtodec:-9413/1178970988260896,10,8,0:0.00000000 -qtodec:7323/311224385698598,10,22,0:0.0000000000235296472143 -qtodec:-9700/190189472805017,22,7,0:0.0000000 -qtodec:2239/31441940161082,16,18,0:0.000000004E4C01D373 -qtodec:7871/77670518853986,15,19,0:0.000000003D68421BBCA -qtodec:2122/2157192364211,16,24,0:0.00000004399300DABE38D2A1 -qtodec:28/69260597489,10,18,0:0.000000000404270263 -qtodec:4611/328096450714,4,18,0:0.000000000000033011 -qtodec:-8445/771625180456,16,17,0:-0.0000002F0187FDD06 -qtodec:6104/31076369717,6,7,0:0.0000000 -qtodec:-5146/99207462261,16,19,0:-0.000000DEC8E01BF79F7 -qtodec:6599/8951560744,10,14,0:0.00000073718988 -qtodec:9817/9012958484,4,15,0:0.000000000102101 -qtodec:103/2508067,10,1,0:0.0 -qtodec:160/346307341,4,15,0:0.000000000013300 -qtodec:-6972/39670075,8,20,0:-0.00005604455467641370 -qtodec:-4197/45941168,2,7,0:0.0000000 -qtodec:-4076/9631149,16,5,0:-0.001BB -qtodec:-6082/452297,16,8,0:-0.037141D2 -qtodec:3422/343607,10,20,0:0.00995905205656462179 -qtodec:2255/505667,2,4,0:0.0000 -qtodec:393/6293,16,1,0:0.0 -qtodec:235/511,8,6,0:0.353353 -qtodec:1809/3322,8,10,0:0.4266367156 -qtodec:-751/3630,10,5,0:-0.20688 -qtodec:1444/297,16,14,0:4.DCA8F158C7F91A -qtodec:-175/18,10,10,0:-9.7222222222 -qtodec:-1745/2,10,10,0:-872.5000000000 -qtodec:-7930/67,2,18,0:-1110110.010110111011001110 -qtodec:3077/4,2,21,0:1100000001.010000000000000000000 -qtodec:-3053/2,2,20,0:-10111110110.10000000000000000000 -qtodec:21182/2833372713644414301,16,20,0:0.0000000000021AB1F123 -qtodec:45387/14250357568649348800,10,19,0:0.0000000000000031849 -qtodec:-13863/3176447931757610564,16,21,0:-0.0000000000013A7B4A19F -qtodec:51053/6071062782227045417,4,2,0:0.00 -qtodec:48153/204469188404773127,26,12,0:0.000000001769 -qtodec:-35643/103256682364442069,8,14,0:-0.00000000000001 -qtodec:54071/11780111475151984,4,10,0:0.0000000000 -qtodec:40181/97271345682485899,16,15,0:0.00000000007445A -qtodec:63074/426635952224589,27,6,0:0.000000 -qtodec:37487/5041371975161711,10,7,0:0.0000000 -qtodec:33690/403332722546693,29,23,0:0.0000001CMM80DDDLOISN2P1 -qtodec:-32096/929352974579813,10,23,0:-0.00000000003453585545848 -qtodec:27697/5399115155752,8,13,0:0.0000000005404 -qtodec:43081/77103958462682,2,0,0:0 -qtodec:76092/2192729147447,10,15,0:0.000000034701960 -qtodec:40520/1057974855979,4,10,0:0.0000000000 -qtodec:-93832/180749201941,4,21,0:-0.000000000020231122031 -qtodec:15613/112650436297,10,22,0:0.0000001385968888645643 -qtodec:-15981/2114647337,8,16,0:-0.0000017662447224 -qtodec:-2956/48741428353,8,24,0:-0.000000010107463123137573 -qtodec:36488/7263916629,10,6,0:0.000005 -qtodec:17486/4731824201,33,11,0:0.0004CKGBDNA -qtodec:87479/200379782,2,0,0:0 -qtodec:-21070/435273677,4,21,0:-0.000000030230013321132 -qtodec:-22652/26779223,16,7,0:-0.00376F8 -qtodec:88608/32268761,16,23,0:0.00B3F52FA37144F68F26E67 -qtodec:31998/3038585,4,10,0:0.0002230202 -qtodec:-8472/444571,10,14,0:-0.01905657364065 -qtodec:34267/677762,10,24,0:0.050559045800738312268908 -qtodec:-92699/231514,16,22,0:-0.6680D6DAC04F671A8CA61A -qtodec:36031/70412,4,3,0:0.200 -qtodec:98/63775,8,24,0:0.000622645765407600507635 -qtodec:-65898/3023,10,11,0:-21.79887528944 -qtodec:7561/977,16,22,0:7.BD2EE71B83467C335B7281 -qtodec:-37137/52,10,8,0:-714.17307692 -qtodec:-88738/631,21,8,0:-6E.D536IE1D -qtodec:67918/13,10,20,0:5224.46153846153846153846 -qtodec:-20668/21,8,20,0:-1730.14141414141414141414 -qtodec:-72712/5,16,11,0:-38CE.66666666666 -qtodec:45492,2,7,0:1011000110110100.0000000 -qtodec:296304/46496256563281536829,23,10,0:0.0000000000 -qtodec:-319725/3061659936699002531,4,23,0:-0.00000000000000000000013 -qtodec:-702855/9285437245836392212,10,4,0:0.0000 -qtodec:-199215/2284481803901388209,12,10,0:0.0000000000 -qtodec:199669/333012758422549802,8,4,0:0.0000 -qtodec:486363/473044697601679021,10,17,0:0.00000000000102815 -qtodec:-825841/23059317823282264,7,9,0:0.000000000 -qtodec:117332/24561684169423891,10,11,0:0.00000000000 -qtodec:-281263/409628091879471,10,19,0:-0.0000000006866301544 -qtodec:63007/1228412979569096,10,9,0:0.000000000 -qtodec:102915/195471522013601,2,19,0:0.0000000000000000000 -qtodec:-93162/25115626353389,4,5,0:0.00000 -qtodec:338038/29004229856357,16,17,0:0.000000320E91B972B -qtodec:439672/13350641833293,27,21,0:0.00000CKD439M189BCG4PN -qtodec:-1085/288156538958,28,0,0:0 -qtodec:15999/3935036028619,11,22,0:0.0000000096501919328434 -qtodec:958486/806510801671,16,0,0:0 -qtodec:24222/167944894493,10,15,0:0.000000144225878 -qtodec:90199/33724326940,16,16,0:0.00002CDF4F08A894 -qtodec:798735/74124476497,10,20,0:0.00001077559043580330 -qtodec:276215/643447444,10,5,0:0.00042 -qtodec:-877491/8506905787,2,17,0:-0.00000000000001101 -qtodec:622736/862215415,2,9,0:0.000000000 -qtodec:48302/90081849,18,8,0:0.00325372 -qtodec:996595/91668012,16,21,0:0.02C87E4CDFA1A8C2484B9 -qtodec:10754/13902389,4,9,0:0.000003022 -qtodec:424209/505345,31,11,0:0.Q0LRENN7438 -qtodec:198628/7370669,10,13,0:0.0269484357525 -qtodec:906593/696606,10,19,0:1.3014429964714630652 -qtodec:63392/486251,16,14,0:0.215FDAEB4E8BAF -qtodec:775986/96101,8,4,0:10.0461 -qtodec:985049/21250,17,1,0:2C.6 -qtodec:-284525/1208,10,4,0:-235.5339 -qtodec:933244/2529,10,20,0:369.01700276789244760775 -qtodec:719857/48,8,6,0:35225.012525 -qtodec:-26991/715,32,2,0:-15.NV -qtodec:-59177/2,10,20,0:-29588.50000000000000000000 -qtodec:833931/65,8,0,0:31035 -qtodec:283969/4,10,9,0:70992.250000000 -qtodec:692243/9,13,10,0:29017.B72B72B72B -qtodec:2220425/82098663244722404628,2,19,0:0.0000000000000000000 -qtodec:1332706/24886222077598879681,30,8,0:0.00000000 -qtodec:3722825/2026604562916823564,27,7,0:0.0000000 -qtodec:293817/19154085506889290,8,22,0:0.0000000000010335564623 -qtodec:-2328299/361670841450282499,10,4,0:0.0000 -qtodec:6148084/561670125531460687,33,17,0:0.0000000FD0POOHRUD -qtodec:-6433247/6864670391549153,16,4,0:0.0000 -qtodec:5175613/4620647601293887,16,8,0:0.00000004 -qtodec:2667155/2429659044108081,17,20,0:0.00000007B30FD7461E0A -qtodec:681343/9032805224095139,10,9,0:0.000000000 -qtodec:5863994/174238841171323,10,15,0:0.000000033654918 -qtodec:8643703/353914077710020,10,10,0:0.0000000244 -qtodec:5346661/34799692977081,10,0,0:0 -qtodec:5106120/19563121357247,2,24,0:0.000000000000000000000100 -qtodec:6183913/2383366879745,2,8,0:0.00000000 -qtodec:518571/148387088269,4,4,0:0.0000 -qtodec:-3361270/733528692901,16,24,0:-0.00004CE0F4509B06F00B6586 -qtodec:1562255/21178801269,10,21,0:0.000073765034203645702 -qtodec:3467363/42461659020,10,21,0:0.000081658679383366213 -qtodec:-9936449/10071886359,4,11,0:-0.00001000221 -qtodec:-3336987/9840159415,10,18,0:-0.000339119201149649 -qtodec:2604333/1086112640,15,22,0:0.00815CEC195D2CA7051D65 -qtodec:7503718/882484091,10,16,0:0.0085029498849061 -qtodec:4474267/384881278,10,10,0:0.0116250575 -qtodec:712293/1045276,8,2,0:0.53 -qtodec:-272327/2700287,10,16,0:-0.1008511317500695 -qtodec:3101476/3471127,16,21,0:0.E4BCDE9EB583017073130 -qtodec:3127691/6558689,10,20,0:0.47687746743289703170 -qtodec:41313/916,16,17,0:2D.19FDC3A2189808F17 -qtodec:590136/11795,16,10,0:32.0860B6A96C -qtodec:3688335/27739,16,21,0:84.F736CF72645AD9608B190 -qtodec:430927/16465,10,14,0:26.17230488915882 -qtodec:6193621/6249,10,24,0:991.137942070731317010721715 -qtodec:6881703/4802,4,1,0:112121.0 -qtodec:-3142168/979,10,7,0:-3209.5689479 -qtodec:-3176297/326,10,20,0:-9743.24233128834355828220 -qtodec:6271672/3,10,7,0:2090557.3333333 -qtodec:-2915894/79,10,18,0:-36910.050632911392405063 -qtodec:654753,16,2,0:9FDA1.00 -qtodec:-6358267/9,4,15,0:-2230132222.013013013013013 -qtodec:-18678516/29688438786197957,16,22,0:-0.00000002B3C24F9A0699C5 -qtodec:-5100140/10011896485948009711,16,1,0:0.0 -qtodec:-63971979/5765059347475183331,16,20,0:-0.000000000C3363110E8A -qtodec:49592178/2236069654488181723,16,23,0:0.000000001862A177C1DD31F -qtodec:70399774/240687813855844671,2,14,0:0.00000000000000 -qtodec:45825874/963387555556851547,16,15,0:0.00000000344D0AD -qtodec:-7101885/38297123998463233,35,6,0:0.000000 -qtodec:45706162/20208127584234763,8,23,0:0.00000000023333300051317 -qtodec:-4603037/752013415132706,10,9,0:-0.000000006 -qtodec:-33461502/9204850740162821,16,15,0:-0.0000000F9CF2B5A -qtodec:17754722/53304375179261,16,15,0:0.000005969369127 -qtodec:-38722845/596630162922919,22,24,0:-0.0000077JCJJ5DGKGF1H14836 -qtodec:68992640/66560021807813,8,5,0:0.00000 -qtodec:14264823/17373344136937,10,2,0:0.00 -qtodec:12383615/9923197741689,16,17,0:0.000014EFE3254D306 -qtodec:-67431335/7690429580523,16,6,0:-0.000093 -qtodec:4367596/64156078187,16,15,0:0.000476275848D8E -qtodec:20810847/488563827005,16,17,0:0.0002CAA4454B3E427 -qtodec:-22478409/38544781642,10,5,0:-0.00058 -qtodec:36702575/69781180501,24,3,0:0.007 -qtodec:65365649/26951426,16,8,0:2.6CE15346 -qtodec:13356174/2840415263,29,12,0:0.03RJM9IFG27A -qtodec:47208715/178421993,10,21,0:0.264590223470937240343 -qtodec:7539463/119654423,24,13,0:0.1C717ALE7IC94 -qtodec:-43582754/39677013,2,15,0:-1.000110010011001 -qtodec:-57528557/8850837,5,6,0:-11.222214 -qtodec:47234381/8936103,10,1,0:5.2 -qtodec:33301301/106817,4,20,0:10313.30022203221331330110 -qtodec:81045865/711846,16,16,0:71.DA63F30882704AB2 -qtodec:91094596/828431,4,13,0:1231.3311313002012 -qtodec:40293131/48303,8,20,0:1502.13126064102265372300 -qtodec:-181649/70,8,6,0:-5042.770537 -qtodec:45546885/4774,10,1,0:9540.6 -qtodec:828359/734,31,12,0:15C.H5QUJ6M5B8HO -qtodec:-59718139/406,16,16,0:-23E91.032717F5E94CED15 -qtodec:2679103/162,4,10,0:10002121.2230033303 -qtodec:12366443/53,8,10,0:707561.0717545336 -qtodec:34041109/25,4,7,0:11030123230.1130022 -qtodec:-42857879/3,4,13,0:-312133302013.2222222222222 -qtodec:-16602037/6,10,15,0:-2767006.166666666666666 -qtodec:201634836/47285863779715310669,8,2,0:0.00 -qtodec:744820415/27255853323214067023,2,1,0:0.0 -qtodec:-625328361/8980450114346406298,4,0,0:0 -qtodec:403756951/6617643244507173155,16,12,0:0.000000004315 -qtodec:-426683165/783310053429126211,16,23,0:-0.0000000256EC83CE37DE9A6 -qtodec:787333919/76979591766305433,10,11,0:0.00000001022 -qtodec:661348691/70208895966253883,16,20,0:0.000000287519ABAB23C0 -qtodec:280056103/19236376368074700,8,12,0:0.000000001750 -qtodec:7656653/5938020515370151,16,3,0:0.000 -qtodec:-208421697/1757008688014187,8,19,0:-0.0000000177275547023 -qtodec:246570074/100899135942843,34,13,0:0.0003912R3IHWN -qtodec:113230062/65743402595005,10,7,0:0.0000017 -qtodec:70543944/10849645138255,10,19,0:0.0000065019586448286 -qtodec:642672567/24971850717497,10,5,0:0.00002 -qtodec:-314721695/752512751681,8,6,0:-0.000155 -qtodec:-163807291/5886020608,8,4,0:-0.0161 -qtodec:438467533/52265645624,20,6,0:0.037259 -qtodec:498074863/824377038073,16,4,0:0.0027 -qtodec:-27700104/49948246387,10,14,0:-0.00055457610634 -qtodec:141171374/99253478457,4,5,0:0.00001 -qtodec:-361755751/3656937423,4,14,0:-0.01211103001233 -qtodec:22816939/611768152,4,22,0:0.0021203010123303032113 -qtodec:-53856232/403256995,4,11,0:-0.02020300202 -qtodec:449484375/227346169,10,2,0:1.97 -qtodec:217806981/3021451,16,19,0:48.163DE229590DF0963DD -qtodec:250860083/22259097,10,17,0:11.27000268699130068 -qtodec:431639694/8164765,22,23,0:28.J14GK2EE5A85EIDALF8872L -qtodec:-39808798/57615,8,20,0:-1262.74366630432236034771 -qtodec:7210334/8793,8,10,0:1464.0042361134 -qtodec:-90699159/75166,16,16,0:-4B6.A6C208F34F5CA17D -qtodec:-190010/41897,2,13,0:-100.1000100100000 -qtodec:-37292046/12725,4,21,0:-231302.213031123013102122123 -qtodec:-827038151/3021,16,21,0:-42D63.0AD8C3EB52CA876A2DEDD -qtodec:-263139079/9216,2,19,0:-110111110001000.0110101011011100011 -qtodec:859020523/138,8,13,0:27575622.3140355346016 -qtodec:-50892458/33,4,12,0:-11320200303.230212302123 -qtodec:207612373/7,10,7,0:29658910.4285714 -qtodec:35998064/9,10,13,0:3999784.8888888888888 -qtodec:424044905/4,10,2,0:106011226.25 -qtodec:493019,10,13,0:493019.0000000000000 -qtodec:-4042513085/15637696512520985642,10,22,0:-0.0000000002585107775792 -qtodec:6403629722/13409004049280473687,10,14,0:0.00000000047756 -qtodec:4310949661/9182204608528567055,2,12,0:0.000000000000 -qtodec:-6207213301/7937357727791570577,26,7,0:-0.0000006 -qtodec:-5492618011/924682356235504554,10,14,0:-0.00000000594000 -qtodec:8192041323/632108923605970228,7,1,0:0.0 -qtodec:-186147758/5553753716846915,31,20,0:-0.00000TN4N56ODGNH7IPI -qtodec:5752674759/45700966145683610,31,19,0:0.00003IM5RCTBI6HUEBC -qtodec:1348886735/4229222108363968,4,20,0:0.00000000001111213123 -qtodec:-991251339/2657176318638922,10,1,0:0.0 -qtodec:8018307442/898724497172469,16,0,0:0 -qtodec:2014050707/340069109236288,16,18,0:0.0000635CD5D59A22E0 -qtodec:4505135732/39991791916081,10,7,0:0.0001126 -qtodec:6453084395/58624215198992,10,17,0:0.00011007540780027 -qtodec:-1804902629/2765243734591,10,16,0:-0.0006527101413962 -qtodec:2151190453/5551909474614,16,4,0:0.0019 -qtodec:725818559/82908634105,4,2,0:0.00 -qtodec:3396663851/192565119374,8,0,0:0 -qtodec:411464751/68497491776,8,15,0:0.003046546407536 -qtodec:331510163/2781814914,8,21,0:0.075007644307123546602 -qtodec:6307596319/2688917842,16,11,0:2.5884B649AE6 -qtodec:-9200062729/3512239660,4,3,0:-2.213 -qtodec:2884984405/325651823,3,8,0:22.21201202 -qtodec:1305611221/700300760,10,8,0:1.86435785 -qtodec:1587226477/40056887,4,16,0:213.2133310223222233 -qtodec:34378367/11734676,30,22,0:2.RQK7MSK4KA6QIJ9KADGNRK -qtodec:7518884673/9949274,7,15,0:2126.502424542621013 -qtodec:3931084199/1830484,10,10,0:2147.5654520880 -qtodec:-2575482611/282998,22,10,0:-IHE.FD9E9AGG86 -qtodec:-1417727301/197914,10,14,0:-7163.35024808755317 -qtodec:3672290/691,8,14,0:12302.35211047212436 -qtodec:8228518089/35371,30,13,0:8IEE.HL4JRHM3K3LL1 -qtodec:410532666/2941,16,24,0:22145.7B57D42113C25F3A3BB688A9 -qtodec:8394604490/1573,8,21,0:24267154.265477753126202662152 -qtodec:7379334711/332,31,2,0:O22T4.O5 -qtodec:-2823493053/70,2,0,0:-10011001110111100011111111 -qtodec:2377080339/46,8,24,0:305101013.426205441310262054413102 -qtodec:419615836/45,10,23,0:9324796.35555555555555555555555 -qtodec:8359035220,4,24,0:13302033030011110.000000000000000000000000 -qtodec:2211961894/3,8,5,0:5374517267.25252 -qtodec:3722836622/14480498279571705649,16,0,0:0 -qtodec:65111863307/11533490001438870777,10,19,0:0.0000000056454605933 -qtodec:5949898539/1696780621152707101,8,11,0:0.00000000036 -qtodec:56815400197/1686789806569317842,10,11,0:0.00000003368 -qtodec:90925627747/25695775444577271,16,1,0:0.0 -qtodec:-27535487045/285845335283069982,10,8,0:-0.00000009 -qtodec:15775413556/25311693641355547,8,4,0:0.0000 -qtodec:-2057810676/17252279485169683,8,10,0:-0.0000000200 -qtodec:85387309833/8636897486832992,10,20,0:0.00000988634054800042 -qtodec:716266208/466095180147391,16,22,0:0.000019C83D60B83CEE8EE7 -qtodec:43248451649/397132885993682,8,6,0:0.000034 -qtodec:-45534175087/316387723492611,10,5,0:-0.00014 -qtodec:-47173726353/7171454234480,10,11,0:-0.00657798611 -qtodec:297529128/678060165163,8,5,0:0.00016 -qtodec:-6512811254/5361725734445,8,6,0:-0.000476 -qtodec:-20777019927/2016234688361,4,22,0:-0.0002220311123210221201 -qtodec:-947693138/3599271747,2,24,0:-0.010000110110011110110111 -qtodec:22262357967/226160142878,10,16,0:0.0984362570862418 -qtodec:82037055923/64093321236,4,17,0:1.10132223220113313 -qtodec:16205375896/9742150071,10,22,0:1.6634290970572752532996 -qtodec:97719092318/5262332763,10,12,0:18.569538780419 -qtodec:-49761904323/530474551,8,19,0:-135.6346771114202260241 -qtodec:33397252622/403519053,16,11,0:52.C3D6BF6B7B6 -qtodec:695492668/55458573,16,23,0:C.8A6F439434C6E70775E0AAB -qtodec:75005050378/73364577,7,5,0:2660.23445 -qtodec:29030528543/40315167,10,15,0:720.089502370162574 -qtodec:31369038993/5743048,2,5,0:1010101010110.00010 -qtodec:39339254427/4936337,16,16,0:1F21.52312B564042C6B3 -qtodec:37009536016/100485,30,9,0:DJ6T.1P2MILPAG -qtodec:1551216144/205609,10,8,0:7544.49534796 -qtodec:99143355445/6654,10,8,0:14899812.96137661 -qtodec:893556747/43649,4,15,0:10333313.122133133133000 -qtodec:-32107553839/5925,26,21,0:-BM86O.B3HIL8OGDBF29CN87DEB6 -qtodec:40475869854/7411,10,21,0:5461593.557414653892861961948 -qtodec:-21388883933/385,16,0,0:-34FB5D6 -qtodec:23566612035/406,4,14,0:3131123112102.13031203220002 -qtodec:-94254132457/78,8,23,0:-11001501411.43220322032203220322032 -qtodec:55429871241/94,2,1,0:100011001001011100101101111001.0 -qtodec:81069744134/9,10,14,0:9007749348.22222222222222 -qtodec:-63777906131/8,16,5,0:-1DB2EB3BA.60000 -qtodec:22636846283/8589275715769980395,16,4,0:0.0000 -qtodec:451030208027/11667920285394363609,2,13,0:0.0000000000000 -qtodec:-396336330142/9218513566402258373,8,6,0:0.000000 -qtodec:-812297708247/6583818474797492140,10,17,0:-0.00000012337790164 -qtodec:65812963138/110962035363701723,4,16,0:0.0000000000213303 -qtodec:-367081998292/90608900002645629,8,22,0:-0.0000010376016446422266 -qtodec:765068976289/27117928920114978,4,23,0:0.00000001312111101312131 -qtodec:466163950691/74887899881824511,21,19,0:0.000148I9D04GG13GACA -qtodec:2881317737/21976075689165,4,1,0:0.0 -qtodec:17255779745/25462798741843,16,23,0:0.002C69AEC9C156BD44A08C5 -qtodec:53125954797/33441637786834,2,13,0:0.0000000001101 -qtodec:43895010407/151886174379178,10,1,0:0.0 -qtodec:-251294209230/63991299908567,16,24,0:-0.01015C39B4D2F68935F6E4BE -qtodec:955590711151/37535044163376,10,6,0:0.025458 -qtodec:174878212849/3669903179355,7,21,0:0.022226131634650361136 -qtodec:-157330267554/4348224760679,3,12,0:-0.000222101011 -qtodec:459430618651/21414547740,10,19,0:21.4541359560367722246 -qtodec:34869089840/299703846887,10,8,0:0.11634515 -qtodec:745844090051/5002251143,3,7,0:12112.0022020 -qtodec:466911780262/26884443459,2,21,0:10001.010111100000101100111 -qtodec:815254747041/5076712349,10,16,0:160.5871459708736789 -qtodec:-481092000475/9125040392,10,17,0:-52.72217763515626967 -qtodec:148261988694/154485473,10,2,0:959.71 -qtodec:87399306218/237779763,8,23,0:557.44064516575231734633261 -qtodec:554983007393/9392637,10,12,0:59087.028210820880 -qtodec:-959429967314/73223417,10,23,0:-13102.77513154022844904929798 -qtodec:594089636023/951818,10,18,0:624163.060609276143128203 -qtodec:271932654628/1030467,10,22,0:263892.6376371101646146844100 -qtodec:381378480415/45628,10,8,0:8358430.79720785 -qtodec:157468278507/203998,4,1,0:2330131012.3 -qtodec:-195533395495/7408,16,4,0:-192C110.CCD2 -qtodec:-101137757753/54175,4,16,0:-13013301313.1210302022313232 -qtodec:236424674428/8301,10,2,0:28481469.03 -qtodec:44997066682/681,8,22,0:374034553.6221666243714700060074 -qtodec:49672355883/11,10,17,0:4515668716.63636363636363636 -qtodec:-156344022343/116,10,21,0:-1347793296.060344827586206896551 -qtodec:-282780023728/5,2,11,0:-110100101011000000000010010110001001.10011001100 -qtodec:638682849990/23,16,9,0:677268F6C.C8590B216 -qtodec:535560667707,16,18,0:7CB1E7423B.000000000000000000 -qtodec:-401907828437/3,16,9,0:-1F3130ECF1.AAAAAAAAA -qtodec:3218700909539/29338078141536091560,8,23,0:0.00000001656320570000741 -qtodec:5439189996708/94348764673867659923,16,4,0:0.0000 -qtodec:1740848648701/1119578055730924485,31,18,0:0.0001DFUO0I3QPKUBB3 -qtodec:7295053757088/1450625657591198545,8,7,0:0.0000012 -qtodec:-1032855428030/265721276914642799,10,4,0:0.0000 -qtodec:9675459200429/511269589228603602,16,0,0:0 -qtodec:-6223725941437/56926625845778373,8,5,0:-0.00003 -qtodec:-2879348418643/47766734102586734,8,12,0:-0.000017632436 -qtodec:2520416264460/3387623665183741,4,12,0:0.000003003002 -qtodec:-3355498216855/9089973231071546,8,11,0:-0.00014061140 -qtodec:76270631539/39479824809239,10,8,0:0.00193188 -qtodec:3364353901017/768729606000529,10,2,0:0.00 -qtodec:-9452026777809/99657509107327,8,9,0:-0.060437046 -qtodec:-4815297415205/21430300809226,10,10,0:-0.2246957454 -qtodec:-6342167555982/3875920251233,7,17,0:-1.43115201521246450 -qtodec:8934479736203/3867754877020,10,18,0:2.309991201688244985 -qtodec:-3753600089937/143741616224,10,19,0:-26.1135236164839743412 -qtodec:2897856603605/615018645051,2,9,0:100.101101100 -qtodec:435938574533/2644597999,10,15,0:164.841149655955706 -qtodec:826020960749/10601806559,16,12,0:4D.E9C93E2C5870 -qtodec:9761146029167/8021480002,24,3,0:22G.L0D -qtodec:2245343058343/784476985,4,9,0:230232.031313033 -qtodec:1072296751915/36801933,10,3,0:29136.968 -qtodec:-807541874983/131278078,8,7,0:-14007.3045040 -qtodec:-435413761289/43289060,7,10,0:-41216.2001345166 -qtodec:4073307919652/31662917,8,7,0:373206.0046555 -qtodec:-1321397617831/1964025,23,21,0:-296J4.IG8A9IBJ59J61E8CGB7GI -qtodec:2696371910638/7287271,16,17,0:5A55B.3403DE272E3931399 -qtodec:5257481019409/238632,10,21,0:22031751.900034362533105367260 -qtodec:1568947440315/909929,10,13,0:1724252.5958783597401 -qtodec:766431707621/1221,2,20,0:100101011010100001000100100100.00111111111100101001 -qtodec:-431144146277/82280,4,20,0:-103333102122.32023132113312320331 -qtodec:384242556775/153,4,15,0:2111230030021023.331322021030331 -qtodec:2640838852687/18,16,18,0:2228CAD559.B8E38E38E38E38E38E -qtodec:7610182808651/115,8,1,0:755027404533.7 -qtodec:-9118836627837/914,8,15,0:-112252512015.670667132577121 -qtodec:1898758084737/34,4,17,0:310000222322313211.22310231023102310 -qtodec:3941772625972/27,16,22,0:21FDC6B473.B425ED097B425ED097B425 -qtodec:7305852397411/8,4,6,0:31102200311321103230.120000 -qtodec:7715401636819/8,28,19,0:2FD9CJPF6.AE00000000000000000 -qtodec:-6377466965229/5272197654656004845,2,11,0:0.00000000000 -qtodec:95367642815004/58794630553530738613,16,8,0:0.00001B36 -qtodec:89910282347329/7828383835585298780,10,8,0:0.00001148 -qtodec:2038526394593/1990816553437773794,10,2,0:0.00 -qtodec:28272663625994/160960199502197837,35,1,0:0.0 -qtodec:-59069158030644/424215731327050267,16,3,0:0.000 -qtodec:75400206290854/49799134304108783,16,11,0:0.00633A28CE3 -qtodec:-37669923041786/75586822083192129,4,11,0:-0.00000200222 -qtodec:7496638266025/6034056131446777,8,8,0:0.00050553 -qtodec:24694543702374/3151507628740733,6,3,0:0.001 -qtodec:36765006277527/993625421845964,16,6,0:0.0978E3 -qtodec:24118383293179/139876602800164,8,3,0:0.130 -qtodec:84628426174922/74981426674997,16,16,0:1.20EFC3CE6BC695C0 -qtodec:75123320783542/76127954130971,2,8,0:0.11111100 -qtodec:72843089406231/6513652706969,16,20,0:B.2EE2417719BC9EBF6400 -qtodec:30025878059676/8095500354281,16,3,0:3.B57 -qtodec:40392627698767/335455107355,16,17,0:78.69533006D036F2932 -qtodec:19166212064859/56607758681,10,2,0:338.57 -qtodec:32912615723976/61714756253,32,24,0:GL.9LEN5HK85GIITU1DGPP794DF -qtodec:41214369996242/38676773967,3,1,0:1110110.1 -qtodec:90080254229318/6760666411,2,10,0:11010000001100.0010101011 -qtodec:82429041024490/7102488371,16,5,0:2D55.A816C -qtodec:57660654095256/202993813,8,10,0:1052623.2234624203 -qtodec:2309226834537/34009046,4,0,0:100210330 -qtodec:5980018582499/10018234,4,16,0:2101232301.1302033232010302 -qtodec:6907402092405/8167279,10,18,0:845740.924536188858002769 -qtodec:687627440189/2492032,4,3,0:1003113122.122 -qtodec:-26205406708751/2529448,16,19,0:-9E1540.A7F1ECC11AC5EB38F15 -qtodec:7987206144352/958979,16,4,0:7F16A0.7EAA -qtodec:9349896502895/60416,10,12,0:154758615.315396583686 -qtodec:10860759301327/48735,10,2,0:222853376.45 -qtodec:3148381751581/5818,19,7,0:B9A7BD1.66HDG7A -qtodec:61935911504963/4361,10,20,0:14202226898.63861499656042192157 -qtodec:-69993147865828/9859,4,19,0:-12213022013333300.0110131201200023123 -qtodec:86935769322811/926,16,10,0:15DBDEBA5B.04B3250B9C -qtodec:-64121171058167/770,20,5,0:-351341067.9FGHD -qtodec:9446426763225/4,16,18,0:225DABA57F6.400000000000000000 -qtodec:-15324302869615/24,8,5,0:-11225224260057.22525 -qtodec:-4671160833472/3,8,5,0:-26520750116225.25252 -qtodec:55245335112604/3,10,5,0:18415111704201.33333 -qtodec:566728086891451/10568813125939255124,3,12,0:0.000000001001 -qtodec:739540223328929/6053203450796243551,10,17,0:0.00012217336313578 -qtodec:-267044400853535/2379289330009370147,16,14,0:-0.00075B066EC680 -qtodec:-843852024858729/4271893173695550305,10,6,0:-0.000197 -qtodec:197347580645443/108172371955754181,16,12,0:0.0077900729BF -qtodec:-471123271600944/654989858032575515,10,23,0:-0.00071928330770812175815 -qtodec:-163920861540435/9535143268783618,16,17,0:-0.0466A503DF678948D -qtodec:-245368226573823/3254547830228791,16,1,0:-0.1 -qtodec:369028112478579/2538185191154003,16,21,0:0.253850793AFB1044E30DD -qtodec:626129443248141/7910783804367593,16,19,0:0.1443195BA445886AF1D -qtodec:-157750576827642/153140053336643,8,8,0:-1.01732420 -qtodec:275996140907183/409619916609098,16,20,0:0.AC7D3C447ED47543D31A -qtodec:355251513430543/14307219099290,10,15,0:24.830228080324321 -qtodec:937664836189255/79009750870091,30,11,0:B.Q0S5AR173F3 -qtodec:349923951151518/2085182381581,10,14,0:167.81455389346000 -qtodec:942533795406013/1253026069985,8,12,0:1360.151377610176 -qtodec:168503932887067/490675611980,16,3,0:157.697 -qtodec:-677938451596593/682092667400,2,8,0:-1111100001.11101000 -qtodec:803603551114720/23581903161,2,0,0:1000010100011101 -qtodec:112615275542863/25757128420,16,2,0:1114.32 -qtodec:579802064583250/5360830521,16,9,0:1A67B.44BEE11BF -qtodec:273379089201067/1016082892,2,13,0:1000001101011111011.1111010010100 -qtodec:975288121833827/137728947,2,4,0:11011000000110011111101.1100 -qtodec:-99770800296007/18724410,33,20,0:-4G8U3.H9T203QQF1ID7D4MF4GL -qtodec:-991804729064264/26457723,2,18,0:-10001110111111111100111101.110010101110011101 -qtodec:-62591002485079/97559203,16,0,0:-9CA21 -qtodec:688513532701121/5610689,10,13,0:122714613.6064788121387 -qtodec:553695114091357/8948070,4,23,0:3230003012333.20320221111300131301211 -qtodec:394354539297348/400625,10,16,0:984348304.0183413416536661 -qtodec:950552587873347/888277,16,0,0:3FC88E89 -qtodec:350686839911665/16413,4,22,0:103321202113333012.3231220011031122032301 -qtodec:903828738534/25,16,20,0:86AE54865.5C28F5C28F5C28F5C28F -qtodec:541050473343191/7988,10,3,0:67732908530.694 -qtodec:247693604041126/753,10,20,0:328942369244.52324037184594953519 -qtodec:669870599648747/481,8,6,0:24210111252064.072426 -qtodec:754104756872751/751,10,4,0:1004134163612.1850 -qtodec:400809404312086/31,29,15,0:POFCDO4JM.ES1P7E0R3LES1P7 -qtodec:691618327861484/41,2,13,0:11110101011110001111001111001110010010000010.1010001001010 -qtodec:-210072315488840,8,7,0:-5760750557365110.0000000 -qtodec:-81144130253573,10,3,0:-81144130253573.000 -qtodec:5170809372187007/11283707234075047947,10,10,0:0.0004582544 -qtodec:1639188787409323/46524006641110741684,10,3,0:0.000 -qtodec:5309238096936419/7635150210858603024,16,9,0:0.002D92563 -qtodec:6245068701898179/9732919709002668103,9,8,0:0.00041788 -qtodec:-4005803274360553/523443601614052653,8,16,0:-0.0037261037222672 -qtodec:910033404367986/51511134209314135,10,14,0:0.01766673202477 -qtodec:-8946453122467272/16357932122088269,4,1,0:-0.2 -qtodec:1439256442170292/18860267700460975,16,18,0:0.13892784AB4AC9534F -qtodec:176342308920979/1166455373773242,19,16,0:0.2GAHC9H4CGC0CEHD -qtodec:9127798257300245/3295488783649008,2,3,0:10.110 -qtodec:2823851681807332/216293042654769,35,9,0:D.1X72DBVCV -qtodec:1528606788714955/776202467853779,8,1,0:1.7 -qtodec:-2245234784303738/7968662735081,2,19,0:-100011001.1100001000001110110 -qtodec:-128444956522416/7394678196655,16,17,0:-11.5EB2F81C36E711FA5 -qtodec:9112358352966977/2361812921250,16,7,0:F12.3478F81 -qtodec:2905352187696283/1380663976291,16,7,0:838.50B0C57 -qtodec:8510056286946796/21028769443,10,6,0:404686.365981 -qtodec:-327110149217475/8556403273,16,0,0:-9555 -qtodec:-9974695312898971/92239807984,10,5,0:-108138.72590 -qtodec:1221192643750202/2497860115,8,18,0:1672677.417113245412637252 -qtodec:-4419213285773803/8210131295,10,24,0:-538263.412238622792937929502380 -qtodec:3449812953293071/3716759862,3,8,0:1202011012221.11200111 -qtodec:-1747118140195518/581874449,30,24,0:-3L65I.ROIQ9PQN4D3L479OTM4HQTTO -qtodec:2932615081988594/424849503,10,16,0:6902715.1056561174793230 -qtodec:205249461865499/1394293,8,8,0:1061431264.50247217 -qtodec:200178651506113/94362405,10,18,0:2121381.407204627732834914 -qtodec:4983485895963716/3124575,16,4,0:5F10BCAD.83B3 -qtodec:-2126394804343852/5400439,16,12,0:-177811A5.9FF614B5F0EB -qtodec:-4331181325256657/303608,28,15,0:-11GP6OLI.GLNOMIO8LGAFBFB -qtodec:5081378901139473/111776,10,6,0:45460375224.909399 -qtodec:2920920792505487/41003,10,4,0:71236758103.1994 -qtodec:7658747612532673/37587,8,3,0:2756104626662.525 -qtodec:4821921280150899/6211,10,2,0:776351840307.66 -qtodec:971865299978799/70,10,4,0:13883789999697.1285 -qtodec:-7430593251383/46,8,3,0:-2263415567573.502 -qtodec:2823536151388589/214,8,16,0:277777522736567.1720114437064505 -qtodec:4578540213882646/39,9,17,0:511604860453776.84754754754754754 -qtodec:-9927408845436128/93,7,7,0:-31325111416165136.1335226 -qtodec:407609585094280/3,2,13,0:11110111001001010101010110101111001101000101101.0101010101010 -qtodec:253188219226631/3,10,12,0:84396073075543.666666666666 -qtodec:-68930748060360886/37490536052536135645,16,16,0:-0.00787EE12917A18A -qtodec:-27942742835596649/47682255502975144563,10,22,0:-0.0005860197371295314577 -qtodec:-889817670509617/3535523156098154639,2,8,0:0.00000000 -qtodec:15158188532341466/3995083585765893961,16,13,0:0.00F8A84A7CDC0 -qtodec:-59804365023342061/621117898115362242,8,8,0:-0.06123043 -qtodec:-81485939236590623/615428154300888948,34,11,0:-0.4H21W6LIJ50 -qtodec:36074584319124862/92634714729867147,10,20,0:0.38942835225781451191 -qtodec:27642416496412871/152889510367347,4,19,0:2310.3030302130330102330 -qtodec:-33829733020352429/4052703927980325,10,17,0:-8.34744743794091070 -qtodec:-66100320694014641/8124063954599958,16,10,0:-8.22E8955406 -qtodec:58590194428080104/702027678864689,16,14,0:53.7561E129C90D18 -qtodec:31662226155385957/171148946506769,28,12,0:6G.RQDMHIG61C7H -qtodec:80426773270148529/88072832508602,10,6,0:913.184815 -qtodec:6986828640027445/26266703980128,4,16,0:10021.3332320200120130 -qtodec:-1329127236657015/571179194743,14,21,0:-BC2.DB9808DAB68A65CB41223 -qtodec:30790043632436089/2944082517781,10,21,0:10458.281466799040529212839 -qtodec:37527850657958435/230664339986,8,17,0:475606.50517543663044013 -qtodec:1274159114112977/691969514703,25,20,0:2NG.8JHABOIBBB9OE6722AG6 -qtodec:-8727012566649617/7034024865,10,9,0:-1240685.487205711 -qtodec:17256266960825731/63664944830,16,1,0:422C8.2 -qtodec:50744507398196374/8821405641,10,16,0:5752428.7469954669551965 -qtodec:47177149363508061/3993510814,4,7,0:231010021030.1003113 -qtodec:60964430640468696/20931833,8,19,0:25546310107.6643376221343113763 -qtodec:28046052697862828/808622915,4,7,0:2010103231022.1202200 -qtodec:15333390554164126/4607479,16,11,0:C65C4208.702AED37B48 -qtodec:36857302943990537/94956649,10,23,0:388148732.41778505684209643918668 -qtodec:8496754449568199/55962,10,8,0:151830786061.40236231 -qtodec:-40689989695341081/5616818,2,13,0:-110101111110010110111001100010011.0001001001010 -qtodec:23163002269331293/193866,16,4,0:1BD187A9C2.1156 -qtodec:34444442500613215/206713,8,13,0:2331370253516.7722402424374 -qtodec:62933776312076227/59883,16,14,0:F4B13D77CA.C8A382A3CADEC9 -qtodec:-18647677587711109/26916,18,2,0:-38FB804D22.HC -qtodec:17817200142697406/9583,10,24,0:1859250771438.735886465616195345925075 -qtodec:-11671994921731151/3051,10,14,0:-3825629276214.73320222877745 -qtodec:-25084790823695601/724,4,9,0:-13320023333333312130211.012303213 -qtodec:55617132227847436/639,34,15,0:1EP48NP5TQ.OG5WKWQDA955GBD -qtodec:-7818552938767891/33,10,5,0:-236925846629330.03030 -qtodec:38873447567837132/65,4,8,0:2013332310102332133330202.22111222 -qtodec:95354368608906933/5,8,15,0:1036015571557436212.463146314631463 -qtodec:-40993349533336479,5,21,0:-320441040014321013231404.000000000000000000000 -qtodec:135033976497795375/40316057739120473824,25,19,0:0.02288KK6H25D8FAK52C -qtodec:-968873270873936405/81604197111822403467,33,1,0:0.0 -qtodec:-582538953962125016/4568729267973575005,4,6,0:-0.020022 -qtodec:6393160063269118/92227912540813733,10,19,0:0.0693191452255839024 -qtodec:474281688207585819/814291209842309920,10,3,0:0.582 -qtodec:40690442908425581/187118373843998614,8,12,0:0.157255306433 -qtodec:-268184957010686822/58138937651604387,10,18,0:-4.612828645369753495 -qtodec:244145735027212276/20118199473446397,10,18,0:12.135565876531608828 -qtodec:185382924301762910/5186767786834931,8,19,0:43.5735167671261201162 -qtodec:433898808529646925/9828786248752108,10,7,0:44.1457162 -qtodec:245241871711849034/3863301881929,10,23,0:63479.86235789484292426582206 -qtodec:-347923793289428653/116335863891625,16,5,0:-BAE.AF130 -qtodec:-101194595933896924/47243525609381,2,20,0:-100001011101.11111010011000101111 -qtodec:472198009745101481/5392622647777,4,6,0:111120023.231000 -qtodec:192703964184690803/5888450417178,10,2,0:32725.75 -qtodec:351370652185299362/4111024159547,10,9,0:85470.344748355 -qtodec:966591837542629967/302542852166,8,20,0:14140014.25030572653613126432 -qtodec:849532369021753832/344987961049,10,3,0:2462498.593 -qtodec:232084364697362395/63954852178,10,0,0:3628878 -qtodec:-15233960541477728/29236841251,2,10,0:-1111111001101011101.1001001000 -qtodec:-204455585309689977/2573797241,24,8,0:-9NA80J.I46J0E07 -qtodec:-208654616780822858/3143953651,16,20,0:-3F4ADE6.A4B10A1959FE7A9D8B74 -qtodec:61432060563100995/654186158,10,20,0:93906084.39486577305415869101 -qtodec:-215408951941727837/842697775,16,20,0:-F3C6CE3.6A4AABDAB1F876EE1689 -qtodec:1494042204388242/341149,2,14,0:100000101000010001111101010110000.01010101100110 -qtodec:252329963368832243/44580470,35,4,0:32QT0LR.50QV -qtodec:168671981609579290/315937,10,17,0:533878531509.69747133130972314 -qtodec:97357880572782372/2370407,5,16,0:1133103442034142.2141330201310323 -qtodec:438158095794943133/660884,8,17,0:11513512103507.35524017602321151 -qtodec:7850289549554440/306739,21,4,0:E4890EGI.6AGB -qtodec:119806400157154998/22543,8,20,0:115254513702023.51671000734614004504 -qtodec:842337451434634867/22911,16,20,0:21702A953033.D41940A3C2E70126A09C -qtodec:-191741119725912979/977,10,12,0:-196254984366338.770726714431 -qtodec:679872291852418397/4361,16,19,0:8DC9E4228BBD.64F7B9167BA06ED4626 -qtodec:-520912901611533563/280,2,4,0:-110100111000000011011100001000100011100110111100111.0100 -qtodec:39729892807989997/54,8,8,0:24722320713461336.35502275 -qtodec:970713517442043449/37,10,14,0:26235500471406579.70270270270270 -qtodec:29117381123938587/8,16,12,0:CEE4352D5D323.600000000000 -qtodec:363588332502803888/3,35,2,0:18WP2QFWYK2H.NB -qtodec:797307393945548281/8,10,23,0:99663424243193535.12500000000000000000000 -qtodec:962196352783334317/9197391367410673270,24,6,0:0.2C653F -qtodec:-1712459327217296767/24201664403827655252,2,12,0:-0.000100100001 -qtodec:-6257340861519758901/171587352958408768,11,22,0:-33.516097715A478605011696 -qtodec:417344045124814390/1985525411662453127,16,6,0:0.35CF39 -qtodec:4903347687958413477/936909515551143478,8,9,0:5.167443402 -qtodec:6815391545417096283/459992327223804545,16,7,0:E.D0FA110 -qtodec:104292470919702350/405232099156473,10,0,0:257 -qtodec:1273295935414124869/12782736302053151,34,23,0:2V.KPSOK4L6RBMXDCVRWQAD0GN -qtodec:4109078480849408360/435043171158277,10,19,0:9445.2200454249798277382 -qtodec:6514718679505732082/7354769508455189,8,8,0:1565.62007631 -qtodec:9866917402610085742/359433106924021,16,16,0:6B3B.54E315BF403F00E2 -qtodec:-1457774896854499915/466537799128293,21,21,0:-71G.DKGG5JHK6IED1DCB8C949 -qtodec:3562469801994530303/39520702664299,10,5,0:90141.86393 -qtodec:-1121788856677512277/4346264061083,10,15,0:-258104.165074127011561 -qtodec:-9277969991539582813/2921352796605,8,5,0:-14072753.47761 -qtodec:9405317682640021543/7885054834345,8,24,0:4431543.050247665143116233543566 -qtodec:6327008262496741021/191631004675,10,9,0:33016621.048494437 -qtodec:932916830728130561/490000068712,16,15,0:1D0D27.A1E90D8F3EB7E02 -qtodec:529997294498903710/61063223157,27,15,0:G8Q0A.BEM6E6H7QAPGMP1 -qtodec:-378316587720990944/3926689661,16,23,0:-5BE1B54.8DB9C3FC5575501C10951F3 -qtodec:-3320019367427260995/7860304231,16,6,0:-192CF9F4.E51A76 -qtodec:2546767615570206397/876018632,2,5,0:10101101010010000111010111011100.11111 -qtodec:4651229211968910861/560332411,10,14,0:8300839145.94208768873089 -qtodec:5163696080111021129/746361687,8,10,0:63427744254.2545124347 -qtodec:-9950518479492602835/4241804,8,1,0:-42105571761136.6 -qtodec:420714617814952557/20658446,10,21,0:20365259701.284044162857167475230 -qtodec:6389761026090454423/1077366,10,3,0:5930910225578.359 -qtodec:-3097681303678311991/1783890,4,6,0:-121101032000121021210.120323 -qtodec:821760264557780373/82357,2,1,0:10010001001100110000101011011100100010101100.1 -qtodec:6406014444168904793/598448,10,17,0:10704379401667.15369255139962035 -qtodec:1412628290169413175/3619,16,24,0:16302549B006E.CA617A05CCED655E02B02315 -qtodec:2486326722603345473/4212,10,22,0:590295993020737.2917853751187084520417 -qtodec:2663530739497419216/4037,16,2,0:25810EFFC7428.72 -qtodec:-214922836739795459/270,10,12,0:-796010506443686.885185185185 -qtodec:6226184158746697831/799,16,18,0:1BAF35FD2D429A.8FDC1D7A12954E7F84 -qtodec:-2407322554685617466/195,16,13,0:-2BDBEF138C3CFD.ABFABFABFABFA -qtodec:858459865910732119/11,24,16,0:236L1CMG4BGII.248HALJF6D248HAL -qtodec:2546836315293994167/4,8,10,0:43260270424442471455.6000000000 -qtodec:1687480025170556035,8,1,0:135531042215166732203.0 -qtodec:8502691839655002109/6,10,23,0:1417115306609167018.16666666666666666666666 -qtodec:13139171374879806857/10977381074509304689,10,0,0:1 -qtodec:25010427150343850302/67656897694844048439,16,9,0:0.5EA2677CC -qtodec:34472195313108788669/434602033270864170,16,10,0:4F.51A97A0B8E -qtodec:-83602382263216798102/7417291363069673277,2,14,0:-1011.01000101011100 -qtodec:255840050198896639/1315714580972021,2,17,0:11000010.01110011000100101 -qtodec:28302759431751782745/592140283405467652,16,17,0:2F.CC21AE72A26F651F8 -qtodec:3937631720009717237/36823618427527354,20,8,0:56.ICHH37AC -qtodec:22545518158553313659/62467059813338995,16,15,0:168.EB237A73BBA8622 -qtodec:-48446768942686919883/3741466474083086,4,11,0:-3022110.21222310212 -qtodec:7169357010298918984/1220646708315151,10,7,0:5873.4087115 -qtodec:46778564443315773088/210614351846423,4,12,0:312032121.103121102132 -qtodec:30982166662165412803/52147001878280,2,11,0:10010001000011010011.01001111111 -qtodec:80598339985947052706/2958216824641,16,15,0:19FBC0E.4F4E111B987AE60 -qtodec:44066815386005295782/52340788103663,10,7,0:841921.1284845 -qtodec:2228125575854677152/794184699731,16,5,0:2ACF2E.DEE87 -qtodec:-31021849545265661608/4106419586427,27,24,0:-E5LLB.8KKG3308C79II4HIF7HO8DM2 -qtodec:77877994428662842064/93387431541,16,12,0:31B4AA89.4008C5AB084B -qtodec:-659373254181263916/165391612333,10,10,0:-3986739.3810375323 -qtodec:98882644692855550886/8432909589,10,7,0:11725803964.7240371 -qtodec:69505961999667187147/91220437346,10,11,0:761956026.76218709506 -qtodec:10734338306931222346/1274484573,10,24,0:8422493715.764437382483718773110641 -qtodec:61367391524217084335/6370835564,14,13,0:6754326B1.A46C4BC7937B9 -qtodec:44577580152302734007/198070854,8,10,0:3214643014233.3071243700 -qtodec:-56791209452014782584/235059441,16,12,0:-3840B28498.8ADFAA158075 -qtodec:16511384744316378091/2678129,8,6,0:131556651335325.270744 -qtodec:88298173378026931716/10792589,10,12,0:8181370881261.848451377144 -qtodec:-42234235979751132649/8018900,24,5,0:-1NK84K6EHI.JE0IE -qtodec:18531075354063777193/5038119,16,19,0:35864383BFF.AB3590FFE1BAF5F6E6B -qtodec:36664397392769922711/807520,4,10,0:22110231133201221212231.0003203003 -qtodec:-42507384945776962084/555657,10,23,0:-76499324125813.15826850017186861679057 -qtodec:486858786170940568/88643,8,18,0:117731165754015.026354742305726672 -qtodec:893199977657440169/88569,10,0,0:10084792395278 -qtodec:45981109152253249913/3272,16,8,0:31ED0B3350005A.DF87D2EF -qtodec:10005656828299907515/97,4,10,0:11232131312011100201311102202.3222320233 -qtodec:5497769811530428529/891,4,11,0:111322332031222203312210312.12320022322 -qtodec:19676898338016110283/235,4,18,0:10221132111123222120031323300.201133313102033302 -qtodec:92885714512301641859/8,10,19,0:11610714314037705232.3750000000000000000 -qtodec:46299019950017172226/55,2,14,0:101110101110101011001111100001001000001011000011010010110101.10010000010010 -qtodec:86031296735581415137/3,8,6,0:3067714130270613633640.252525 -qtodec:-74317122139160378225/9,4,6,0:-13022120120211002233111020312313.032032 -qtodec:68655/564493455483553,10,10,0:0.0000000001 -qtodec:744/11213190182777,8,17,0:0.00000000000443637 -qtodec:1969/316819189359038,10,8,0:0.00000000 -qtodec:-28439/301147910327855,8,17,0:-0.00000000000637251 -qtodec:47926/42794221756379,10,6,0:0.000000 -qtodec:8609/54631358200256,4,0,0:0 -qtodec:52489/82632930569226,2,8,0:0.00000000 -qtodec:10307/11184215134882,16,14,0:0.00000003F545F5 -qtodec:-31349/9533318763438,2,5,0:0.00000 -qtodec:-26472/3296480616721,8,0,0:0 -qtodec:57256/806743900853,16,15,0:0.00000130D23A739 -qtodec:40722/3682812606167,2,7,0:0.0000000 -qtodec:37969/34007088009,10,0,0:0 -qtodec:78781/962690517003,10,15,0:0.000000081834191 -qtodec:7283/142340577595,16,9,0:0.000000DBC -qtodec:76855/907629934047,4,2,0:0.00 -qtodec:15363/69482486347,8,4,0:0.0000 -qtodec:-289/869154128,10,24,0:-0.000000332507193706845053 -qtodec:-21217/25103660786,19,1,0:0.0 -qtodec:13692/5736313747,32,11,0:0.0002G2T6T27 -qtodec:1355/477699881,10,14,0:0.00000283650897 -qtodec:18475/503078099,16,14,0:0.00026820095C41 -qtodec:62593/8927182523,8,24,0:0.000001655043044264105063 -qtodec:-82180/4421221347,16,9,0:-0.000137D93 -qtodec:-24674/17452297,12,7,0:-0.0025396 -qtodec:-11477/47606496,21,11,0:-0.0024ICB8BA6 -qtodec:-21973/418977883,8,17,0:-0.00001557675043667 -qtodec:-41725/131769957,22,2,0:0.00 -qtodec:3199/70769667,10,10,0:0.0000452029 -qtodec:34338/94122911,2,20,0:0.00000000000101111110 -qtodec:-13736/2772531,10,23,0:-0.00495431791384839339938 -qtodec:-5183/49753414,2,20,0:-0.00000000000001101101 -qtodec:-51566/4144321,10,12,0:-0.012442568999 -qtodec:-96027/1859756,4,4,0:-0.0031 -qtodec:12379/2809096,16,6,0:0.0120CD -qtodec:-24031/9122052,17,11,0:-0.00CG07B319C -qtodec:12305/38714,8,11,0:0.24257063763 -qtodec:88995/335867,8,14,0:0.20752442752633 -qtodec:81953/624954,16,1,0:0.2 -qtodec:1944/4277,33,16,0:0.EWW7Q5DG2C5HIGRA -qtodec:54911/82297,10,10,0:0.6672296681 -qtodec:29583/27671,16,14,0:1.11B0618C693572 -qtodec:-75887/60475,10,16,0:-1.2548491112029764 -qtodec:17652/15565,16,2,0:1.22 -qtodec:87767/115652505214716,4,18,0:0.000000000000000310 -qtodec:12897/583646546551346,16,2,0:0.00 -qtodec:-19825/432539042784217,16,19,0:-0.00000000326520AEFDE -qtodec:736440/839968528505573,4,18,0:0.000000000000000330 -qtodec:703589/85878714909896,8,18,0:0.000000001063003223 -qtodec:608123/89966921812529,10,15,0:0.000000006759406 -qtodec:919819/82768941199286,8,23,0:0.00000000137353716263317 -qtodec:-38153/35848949843701,16,23,0:-0.00000004922DAC4A09FC403 -qtodec:209877/1638057441965,10,0,0:0 -qtodec:751856/1582376330691,8,10,0:0.0000000776 -qtodec:212627/2270529591527,16,5,0:0.00000 -qtodec:-342197/1695850530890,8,19,0:-0.0000000330524323052 -qtodec:360157/727872304477,16,10,0:0.0000084D2F -qtodec:-840347/766875155324,8,7,0:-0.0000002 -qtodec:441366/320303145713,10,14,0:0.00000137796336 -qtodec:-397333/170752574257,20,0,0:0 -qtodec:377646/38251209193,16,16,0:0.0000A5A34AEE4273 -qtodec:492455/93020377059,10,14,0:0.00000529405508 -qtodec:-329137/677535547,8,1,0:0.0 -qtodec:-906246/51378477563,10,1,0:0.0 -qtodec:860093/6194527744,19,3,0:0.000 -qtodec:31316/103976957,23,3,0:0.003 -qtodec:243505/1499845166,8,7,0:0.0000524 -qtodec:482241/2737367521,10,17,0:0.00017616962147042 -qtodec:567088/116192713,16,14,0:0.013FDA91B97CF9 -qtodec:694040/908350707,8,9,0:0.000310227 -qtodec:288216/7323035,10,14,0:0.03935745220390 -qtodec:991400/605403489,16,24,0:0.006B522057B40442574209DF -qtodec:-461143/35204521,2,16,0:-0.0000001101011010 -qtodec:-117710/43583043,16,20,0:-0.00B1004216172B6035A9 -qtodec:-3056/22397223,2,15,0:-0.000000000000100 -qtodec:-102033/8495267,4,1,0:0.0 -qtodec:110927/145078,27,19,0:0.KHAI30C2MDG85E9MMC2 -qtodec:106035/1516586,8,11,0:0.04363023014 -qtodec:-78219/7511632,16,22,0:-0.02AA6DFD6E8394C7FBAF89 -qtodec:64866/256723,16,1,0:0.4 -qtodec:-384383/794667,30,8,0:-0.EF9TIJGJ -qtodec:105023/359600,10,13,0:0.2920550611790 -qtodec:-335084/614183,10,5,0:-0.54557 -qtodec:173356/199035,16,23,0:0.DEF8B56028757A16842DA12 -qtodec:381414/97673,27,20,0:3.OBK85563P4LQHMP877N1 -qtodec:740226/15361,10,10,0:48.1886595924 -qtodec:791292/78311,4,2,0:22.01 -qtodec:284139/12334,10,12,0:23.037052051240 -qtodec:823655/378760563881187,10,4,0:0.0000 -qtodec:4866313/111569112800605,19,9,0:0.0000020IE -qtodec:1858787/249890994746724,10,5,0:0.00000 -qtodec:7273440/805769398706737,8,22,0:0.0000000011542366515000 -qtodec:-9119403/7773223229000,16,5,0:-0.00001 -qtodec:2054927/69883023343346,8,17,0:0.00000000374455467 -qtodec:-3095106/23726483413861,10,19,0:-0.0000001304494200009 -qtodec:1124235/18821267939248,8,16,0:0.0000000100106064 -qtodec:-825697/8046469218859,4,4,0:0.0000 -qtodec:-8466329/522547357251,10,5,0:-0.00001 -qtodec:-451191/4499178998474,16,11,0:-0.000001AEB64 -qtodec:359287/900902946089,10,1,0:0.0 -qtodec:-1567363/85934054431,8,3,0:0.000 -qtodec:508948/70232110139,16,17,0:0.00007994276FF3FFE -qtodec:2394568/624074713719,8,1,0:0.0 -qtodec:-4216998/945198033841,16,12,0:-0.00004AD9FB9A -qtodec:8302337/6722959869,16,14,0:0.0050EE9167ED89 -qtodec:429445/95937769192,35,7,0:0.0006P3L -qtodec:331857/43689514733,10,16,0:0.0000075958042113 -qtodec:159145/7758156704,10,4,0:0.0000 -qtodec:2901825/9825452368,8,1,0:0.0 -qtodec:9606613/3849003924,16,22,0:0.00A391BF8D5B12DB0C8967 -qtodec:581921/247249935,4,17,0:0.00002122033212230 -qtodec:-7077467/7969534729,4,23,0:-0.00000322030310031021011 -qtodec:7654151/567131838,8,0,0:0 -qtodec:-157427/61065933,16,22,0:-0.00A8F3651849629E3984C9 -qtodec:9393952/205343869,19,20,0:0.0G9EG2BH71D114B92E89 -qtodec:1582726/158038579,2,13,0:0.0000001010010 -qtodec:2124277/82841119,4,6,0:0.001221 -qtodec:3083421/3981011,10,22,0:0.7745321477383508862447 -qtodec:3235080/17333887,4,3,0:0.023 -qtodec:-1229849/73704028,8,18,0:-0.010426157756241450 -qtodec:-1583401/1441424,10,15,0:-1.098497735572600 -qtodec:7626667/3243668,4,4,0:2.1121 -qtodec:-1121161/1274083,10,0,0:0 -qtodec:562341/836315,10,1,0:0.6 -qtodec:7101809/698134,2,17,0:1010.00101100001011001 -qtodec:3520373/805634,4,1,0:10.1 -qtodec:-6935257/276974,16,22,0:-19.0A14C076A97C6E6EAC313C -qtodec:-944696/960767,10,0,0:0 -qtodec:-1179024/57377,8,10,0:-24.4307440501 -qtodec:-6460475/3693,10,9,0:-1749.383969672 -qtodec:4614415/37109,10,2,0:124.34 -qtodec:-257431/24801,26,10,0:-A.9MKCFG90C1 -qtodec:79010339/389043341388123,16,19,0:0.00000368427AA7D37AB -qtodec:77290549/450505435559884,29,11,0:0.00003F1D92R -qtodec:1533996/23992454790335,16,3,0:0.000 -qtodec:20673781/414667535279553,10,20,0:0.00000004985628061300 -qtodec:1613195/541735894212,4,23,0:0.00000000030133112221312 -qtodec:-63576657/214144111954,16,16,0:-0.001374F10A12653D -qtodec:80261049/89465234336497,10,11,0:0.00000089711 -qtodec:-92707227/46577185021877,16,2,0:0.00 -qtodec:20180088/9052096932529,10,11,0:0.00000222932 -qtodec:5958725/9682403484536,4,2,0:0.00 -qtodec:6585917/42481037484,10,19,0:0.0001550319245964863 -qtodec:47989819/1900947593758,4,15,0:0.000000012213202 -qtodec:-54873667/162032680162,8,4,0:-0.0001 -qtodec:-52980833/419098674300,26,15,0:-0.0025JPO9FCEKGE3 -qtodec:-60842116/680762626237,16,5,0:-0.0005D -qtodec:-45311824/640856069947,16,19,0:-0.0004A23C4D9E3DCA928 -qtodec:46200845/79924033279,10,24,0:0.000578059478539094811289 -qtodec:98460259/75913335170,2,10,0:0.0000000001 -qtodec:24809941/19096691737,16,18,0:0.005524895A3969F3B0 -qtodec:10882277/3259863295,31,11,0:0.036DTIINPNJ -qtodec:4972596/3972114529,8,24,0:0.000510127773454276673616 -qtodec:-14213132/6879138065,10,24,0:-0.002066121055530813801161 -qtodec:10551615/4849980697,16,18,0:0.008E94803047CFE692 -qtodec:-10819947/251762996,10,4,0:-0.0429 -qtodec:-5411766/234581185,10,2,0:-0.02 -qtodec:-14769835/347988511,2,7,0:-0.0000101 -qtodec:50123417/964435923,2,23,0:0.00001101010011100000010 -qtodec:-16460359/132357561,2,23,0:-0.00011111110101100011110 -qtodec:3791364/16604819,16,22,0:0.3A73C74220AF142E9A1AF8 -qtodec:37528863/53944966,10,17,0:0.69568795353397757 -qtodec:-124027/319601,16,3,0:-0.635 -qtodec:4793306/12338915,4,12,0:0.120313023033 -qtodec:26259994/812687,4,17,0:200.11000003221312333 -qtodec:-46562347/4867601,8,15,0:-11.441530754510376 -qtodec:17565101/2286550,4,6,0:13.223221 -qtodec:63309560/2167187,16,1,0:1D.3 -qtodec:272611/47935,7,17,0:5.45445020052652515 -qtodec:22106/1745,10,15,0:12.668194842406876 -qtodec:92712989/247904,12,7,0:271.BA24145 -qtodec:-26831343/493699,10,1,0:-54.3 -qtodec:82814925/36226,8,4,0:4356.0402 -qtodec:5223041/7597,2,6,0:1010101111.100000 -qtodec:1284647/982,10,12,0:1308.194501018329 -qtodec:1433947/3182,4,8,0:13002.22102233 -qtodec:-344137/2854599874650,4,20,0:-0.00000000000200113013 -qtodec:165197798/175803438592331,10,11,0:0.00000093967 -qtodec:-477975899/343848834437535,8,4,0:0.0000 -qtodec:-179094377/38000927193456,8,12,0:-0.000001170433 -qtodec:128908614/5526392874913,10,7,0:0.0000233 -qtodec:78808036/21436353240389,15,20,0:0.00002BD2221322244863 -qtodec:141778616/4804415363543,2,7,0:0.0000000 -qtodec:-525236484/20786529543401,4,20,0:-0.00000001221332312331 -qtodec:-330972359/2306003612051,16,0,0:0 -qtodec:72312481/6690636866,16,10,0:0.02C4505872 -qtodec:52490699/28938790787,4,14,0:0.00001312313312 -qtodec:-282868783/8254983317343,10,11,0:-0.00003426642 -qtodec:822417609/530339299663,10,5,0:0.00155 -qtodec:-481554202/25544143895,16,17,0:-0.04D3797320111700E -qtodec:35278143/42465228617,4,10,0:0.0000031213 -qtodec:369827999/465038226115,8,12,0:0.000320362366 -qtodec:-505275021/38032954912,10,1,0:0.0 -qtodec:254690907/68730592706,16,17,0:0.00F2DA573347E3502 -qtodec:-106083040/46269280369,10,12,0:-0.002292731573 -qtodec:-60406265/22643434934,34,12,0:-0.032SWS7SG010 -qtodec:319918396/6184401717,10,9,0:0.051729886 -qtodec:-140330623/1088869052,8,5,0:-0.10177 -qtodec:-409230877/2046172793,16,9,0:-0.333315036 -qtodec:314851793/5236274560,2,24,0:0.000011110110010010011100 -qtodec:128553221/836175814,6,6,0:0.053112 -qtodec:-122961428/611026759,4,19,0:-0.0303201010230121103 -qtodec:-446255647/346867903,10,24,0:-1.286529088279465281052539 -qtodec:-260572769/470364896,28,6,0:-0.FE8R4F -qtodec:280776256/10072775,8,5,0:33.67770 -qtodec:369274812/9412439,10,11,0:39.23263800169 -qtodec:-316593321/24342910,28,8,0:-D.04A53L0J -qtodec:152179493/70796663,10,7,0:2.1495291 -qtodec:-600553760/2862917,10,22,0:-209.7698815578656314521168 -qtodec:68116207/854536,10,8,0:79.71133691 -qtodec:831793089/4921439,2,17,0:10101001.00000011101000101 -qtodec:-430839925/3981974,4,0,0:-1230 -qtodec:665664377/410666,16,9,0:654.F04907A9E -qtodec:427424299/163630,7,24,0:10421.065444130504402406531221 -qtodec:-570208971/139948,6,8,0:-30510.23351152 -qtodec:403698908/154223,35,7,0:24R.M2YQLYB -qtodec:211979567/2715,16,13,0:130FD.3046E824F649B -qtodec:691881174/35801,10,17,0:19325.74995111868383564 -qtodec:718421447/46942,16,16,0:3BC8.72F483CD15F4B8DA -qtodec:201501728/17427,10,7,0:11562.6170884 -qtodec:6614235784/345886207819559,10,13,0:0.0000191225774 -qtodec:-2302388421/790735305178466,2,17,0:0.00000000000000000 -qtodec:7147160405/219749646210273,2,19,0:0.0000000000000010001 -qtodec:1993884675/319701400539757,2,9,0:0.000000000 -qtodec:6157645931/53304026168395,16,19,0:0.00079217C9BDFCFA6C0 -qtodec:1746071285/5227857159967,4,16,0:0.0000011132031323 -qtodec:553442690/20934817860993,32,23,0:0.000RN1U6EMOSU5RV9F49PC4 -qtodec:3205641509/24017897955798,10,12,0:0.000133468862 -qtodec:3393272000/255645842301,10,2,0:0.01 -qtodec:9744696047/5669769706461,16,16,0:0.0070A32FE7590818 -qtodec:3865439982/2777396640079,8,22,0:0.0005546553373234167534 -qtodec:4190724699/7966032689051,33,7,0:0.00ITT41 -qtodec:-9506622734/658378266099,10,0,0:0 -qtodec:3974837290/274042666569,10,23,0:0.01450444684313124346213 -qtodec:3060351821/439485280782,8,7,0:0.0034413 -qtodec:-3608767797/392112547931,3,20,0:-0.00002020101100120022 -qtodec:-955758669/13342842196,10,4,0:-0.0716 -qtodec:389442347/27273496087,8,16,0:0.0072371430615551 -qtodec:5632160912/39395530459,10,16,0:0.1429644644044466 -qtodec:2712067031/40703849020,33,24,0:0.26IF0WA1MRBQE0RTIFEMN3WE -qtodec:5097549193/6461069250,2,14,0:0.11001001111110 -qtodec:7958065019/7287746841,24,20,0:1.24NC8DE54L3EKC4A039D -qtodec:8706651840/8110760959,21,20,0:1.1B887AG7I6KF270GDIG0 -qtodec:1270979794/691940283,8,10,0:1.6543531132 -qtodec:-9105312527/329024092,10,18,0:-27.673695478202246661 -qtodec:1056925223/1272276,19,5,0:25D.DIBG8 -qtodec:-7999259177/792682763,16,11,0:-A.17645D7D0D8 -qtodec:7669473418/610724525,16,17,0:C.8ED8889631A0F8E4A -qtodec:1543148811/90789352,12,22,0:14.BB6A362A93B84A069598BB -qtodec:3603627164/30995143,10,11,0:116.26425353159 -qtodec:7737616061/5485940,10,3,0:1410.444 -qtodec:2810821129/39280616,10,16,0:71.5574605296413885 -qtodec:5927485272/2570707,10,23,0:2305.78018887411128533901374 -qtodec:3101097701/525664,2,22,0:1011100001011.0110010000110101010011 -qtodec:2470594099/907464,2,4,0:101010100010.1000 -qtodec:22580764/15141,4,19,0:113103.1131203032310023320 -qtodec:-41037999/6632,16,0,0:-182B -qtodec:1026897985/217757,10,4,0:4715.7978 -qtodec:8539499023/655885,10,21,0:13019.811434931428527866927 -qtodec:-2250794858/346599,4,14,0:-1211131.33013232112020 -qtodec:-9450403358/13649,10,1,0:-692387.9 -qtodec:204008989/1324,27,17,0:7M9N.945Q8MB323LQ00ENA -qtodec:1031368481/24059,10,0,0:42868 -qtodec:1641140120/9907,10,17,0:165654.59977793479358029 -qtodec:10594464181/256539867180682,8,2,0:0.00 -qtodec:-46231449261/99440850943399,10,14,0:-0.00046491405516 -qtodec:27073997033/979290145342336,16,12,0:0.0001CFD50AA2 -qtodec:21909914237/215314847601042,10,18,0:0.000101757563313037 -qtodec:22790213983/20690898775054,16,15,0:0.00482F72209EE2C -qtodec:57162073993/66399138763836,16,24,0:0.00386B443F1EB24EAADD18E5 -qtodec:49004505327/38821416507106,16,17,0:0.0052B9FACDD757940 -qtodec:11768332051/3589682824180,10,12,0:0.003278376566 -qtodec:15850186666/2474635965095,10,16,0:0.0064050579113730 -qtodec:46667593003/1864122052703,4,0,0:0 -qtodec:-59759544899/1772867786040,10,1,0:0.0 -qtodec:-56774525477/9339451223280,10,9,0:-0.006079000 -qtodec:88931309073/791190043090,10,23,0:0.11240195683666335508307 -qtodec:-35855044967/97196495706,10,12,0:-0.368892362904 -qtodec:31352585060/666072991803,16,24,0:0.0C0CD4E3E1E55177982A4E95 -qtodec:-4008002633/30236135502,4,15,0:-0.020132330330203 -qtodec:-46826363590/29612569101,16,18,0:-1.94D0183BB64FFD4582 -qtodec:-35128605083/27702402610,16,20,0:-1.44A0480BA20A024C6723 -qtodec:-65659897349/54589663850,16,11,0:-1.33EA0A452B1 -qtodec:86323433001/89177536283,16,5,0:0.F7CE8 -qtodec:12490055427/952518779,2,8,0:1101.00011100 -qtodec:2264332583/1185373888,16,18,0:1.E9049A2BCA80B2A224 -qtodec:-74427879390/4597012537,29,9,0:-G.5F5O0DEKA -qtodec:29951503181/2445822201,8,0,0:14 -qtodec:-31576431431/83020171,10,9,0:-380.346499539 -qtodec:-9447985051/104277227,16,6,0:-5A.9ABFE8 -qtodec:35232385623/566066791,16,1,0:3E.3 -qtodec:-15116306133/99765700,16,7,0:-97.84A01D7 -qtodec:85943946533/13486473,8,4,0:14344.4650 -qtodec:17458384033/41778207,10,15,0:417.882558554990165 -qtodec:47372358000/36962941,16,4,0:501.9E1F -qtodec:-19944419571/15407785,16,5,0:-50E.7014B -qtodec:5577496827/9366839,16,9,0:253.738AF7ED4 -qtodec:2073882842/2445003,16,16,0:350.367A18E86AC9C78B -qtodec:-43839972997/4451064,10,3,0:-9849.324 -qtodec:26005540769/1779488,24,3,0:118M.199 -qtodec:1651522055/135313,16,9,0:2FAD.32DF9AD5F -qtodec:76197886466/518409,27,11,0:7CGN.30FE7G874BA -qtodec:765108336/7387,10,5,0:103574.97441 -qtodec:23901412931/455042,5,21,0:3140100.331040440011320300133 -qtodec:-30812270737/28228,2,4,0:-100001010011111011101.1110 -qtodec:-40336960322/42873,30,15,0:-14PBH.IOF1RIL9A5ETT1J -qtodec:8218880614/47365,10,15,0:173522.234012456455188 -qtodec:4420970446/22233,4,11,0:300202333.03222222132 -qtodec:614430785631/133706995251806,16,5,0:0.012D2 -qtodec:599123774551/302548464679822,4,8,0:0.00002001 -qtodec:281790013817/560893551217888,8,11,0:0.00020354622 -qtodec:-206717407741/550231026879086,8,23,0:-0.00014237041720054527517 -qtodec:666962690207/14069382615292,10,18,0:0.047405256395691365 -qtodec:931917525705/93596193043406,11,24,0:0.0122860711573932A1A861A6 -qtodec:-113538101447/619757160013,16,16,0:-0.2EE60BCB5C2D54A9 -qtodec:728394383355/38080601690192,4,13,0:0.0010321120312 -qtodec:189773534962/4102482488695,8,2,0:0.02 -qtodec:10973390446/485105217927,4,22,0:0.0011302213131130210013 -qtodec:-115610427903/163642536352,4,24,0:-0.231031233321010131133112 -qtodec:-24720050891/3267467595011,10,13,0:-0.0075655075902 -qtodec:406509460181/819769573976,8,3,0:0.375 -qtodec:819367776495/157261270951,2,4,0:101.0011 -qtodec:-256014045305/291786063426,4,1,0:-0.3 -qtodec:10334656186/19273767409,16,24,0:0.89449D46C54D81A73E4D1527 -qtodec:-186869912318/39153869757,16,24,0:-4.C5D010D70DDE0283131D1DFB -qtodec:217180119685/68726204146,10,3,0:3.160 -qtodec:129836079717/94890868831,16,19,0:1.5E46C53EB0621ACB13D -qtodec:810979911896/61650722121,8,1,0:15.1 -qtodec:45011863358/4039593361,16,18,0:B.248624FAE640A4ACF0 -qtodec:-215420752673/1003997587,8,4,0:-326.4402 -qtodec:784586911285/4052339642,10,20,0:193.61331492386293912725 -qtodec:25138297055/497924358,10,20,0:50.48617656700377771034 -qtodec:66808621591/367038485,10,13,0:182.0207534667652 -qtodec:657202139395/116949531,10,10,0:5619.5363399533 -qtodec:-50242217502/259433627,8,15,0:-301.522407370214770 -qtodec:-805222832932/648093307,8,3,0:-2332.345 -qtodec:176740416233/55550964,23,7,0:607.DD7LBL1 -qtodec:15978966044/90531185,16,14,0:B0.809963ADB03146 -qtodec:-22930906857/3466300,10,13,0:-6615.3843744049851 -qtodec:428950257809/90217188,4,20,0:1022102.22033130022220202132 -qtodec:-729269681423/3415862,4,17,0:-310013313.01003010133211323 -qtodec:716760678407/8104084,4,6,0:111211330.120101 -qtodec:-56519730643/958996,4,4,0:-32120320.1123 -qtodec:75679919054/101713,10,8,0:744053.55317412 -qtodec:899780170392/784091,16,20,0:118299.976D24C16D10DCEF0726 -qtodec:654179133521/312025,10,22,0:2096559.9984648665972277862350 -qtodec:157095035973/829990,4,19,0:232031121.1220131333300101012 -qtodec:-118896971485/312696,8,8,0:-1346507.64746463 -qtodec:291032078135/26972,8,11,0:51122413.51356143360 -qtodec:-125244286687/10654,16,7,0:-B3605B.AA6F343 -qtodec:-254071356292/52021,2,8,0:-10010101000011000101111.00111010 -qtodec:-411717868922/67827,4,7,0:-113021331211.2202322 -qtodec:-3022414154367/90907778612482,16,11,0:-0.0882E0B2B5C -qtodec:-17701275548/653297673253,17,7,0:-0.07E206F -qtodec:8979713291953/175380602612246,8,24,0:0.032156070756223520303273 -qtodec:-5326013448559/12787683829043,4,24,0:-0.122221331303312310031302 -qtodec:857488611960/30586540342757,10,7,0:0.0280348 -qtodec:5738645734057/90951057139915,10,6,0:0.063095 -qtodec:2150180745771/75085058005357,10,10,0:0.0286365996 -qtodec:9211573654621/31326323574601,10,1,0:0.2 -qtodec:-2622066957883/1546353871091,10,6,0:-1.695644 -qtodec:224011912746/207690732319,10,17,0:1.07858405738553459 -qtodec:9555205925617/1205795142091,2,20,0:111.11101100101001011010 -qtodec:-8730617437121/6055175866493,10,24,0:-1.441843743207007133126749 -qtodec:-4064904713342/494211830517,10,24,0:-8.225025105306892432251847 -qtodec:7676618287424/780404569679,35,3,0:9.T9Y -qtodec:-4358217891649/583281222878,17,13,0:-7.80676F3C2CC10 -qtodec:4328191663159/246276445006,26,9,0:H.EO9M9D2J7 -qtodec:737625000181/4792760124,17,17,0:90.F646D65A829FCC044 -qtodec:-71443761268/988984303,10,8,0:-72.23953004 -qtodec:381451888319/69461063050,16,1,0:5.7 -qtodec:201128820701/3339261143,16,3,0:3C.3B4 -qtodec:4042648911199/1793950960,10,7,0:2253.4890871 -qtodec:5673741769200/852342691,10,0,0:6656 -qtodec:-8389684341647/9150651656,10,15,0:-916.840095879505961 -qtodec:1372726881895/1560653491,16,19,0:36F.95ACC431C89A521C30D -qtodec:328988903869/101330533,4,1,0:302232.2 -qtodec:6568406520821/800160752,8,17,0:20020.66750526036730745 -qtodec:501238490585/5971867,8,0,0:243735 -qtodec:6266930625937/691212664,8,23,0:21552.44562064316534547754507 -qtodec:4565491072367/11630659,16,17,0:5FD5B.541017CCD8963842F -qtodec:-1162420020152/24630125,4,22,0:-23201123.0031031110222320020123 -qtodec:5113275296450/89201439,15,21,0:11EB7.BC9038ED2071A71B54669 -qtodec:3315661534768/61059429,10,14,0:54302.20342820434825 -qtodec:1733402780098/4797927,4,12,0:1120031001.212321010002 -qtodec:3283980196433/2438910,18,5,0:CEFF5.0A1C8 -qtodec:8489184557941/8439595,35,7,0:NG4A.SQX37QV -qtodec:3788804069259/3461851,10,3,0:1094444.581 -qtodec:-3096145670549/510543,7,24,0:-102355342.020600564131455624420322 -qtodec:-3078702213873/276616,10,22,0:-11129877.5698911125892934609711 -qtodec:1748608098871/9819,8,9,0:1247254444.540514032 -qtodec:8487930264661/21627,15,11,0:246C724D.08EEC2CE9E2 -qtodec:740911632886/11719,16,19,0:3C4B546.94752D05B3962EF76A3 -qtodec:563687406299/41136,8,8,0:64213553.32002623 -qtodec:1780375881783/26804,33,7,0:1N09JI.51C9U8J -qtodec:-3247679347711/26264,2,20,0:-111010111101101010000000000.10010101101101001111 -qtodec:21406766924698/763359226461945,8,7,0:0.0162672 -qtodec:24260209610958/200034339782053,10,24,0:0.121280224372428559322852 -qtodec:1814902384527/227339212768685,4,12,0:0.000200230300 -qtodec:31173219462521/203933404240669,8,6,0:0.116207 -qtodec:18030863259117/23714043196153,16,11,0:0.C2A5FEBA219 -qtodec:12974701069361/70664067852975,10,2,0:0.18 -qtodec:25696621276083/44253078013283,8,4,0:0.4512 -qtodec:9021988651073/35238715595793,10,6,0:0.256024 -qtodec:8048554533578/701038746989,16,11,0:B.7B1C260E450 -qtodec:-23885228112881/6921647732686,10,20,0:-3.45080088373872630271 -qtodec:33478283623865/8474518157089,8,1,0:3.7 -qtodec:-25807603431943/2948804373766,8,19,0:-10.6007565676256043474 -qtodec:89076698620825/964761424737,10,3,0:92.330 -qtodec:76836733524587/591287975017,16,14,0:81.F2B4FA0C640A59 -qtodec:2301284879441/92761811708,8,7,0:30.6357611 -qtodec:-22162325445043/7119385698,10,7,0:-3112.9547386 -qtodec:-88830049403167/77327410704,10,12,0:-1148.752409972677 -qtodec:40330389045243/30915263495,8,10,0:2430.4275130461 -qtodec:-97356183980680/88686324821,8,0,0:-2111 -qtodec:-61508444809/21872771653,4,5,0:-2.30333 -qtodec:-76008039360448/2365100065,2,20,0:-111110110001001.01011000100110100100 -qtodec:4553948402077/3181382511,10,21,0:1431.436926031746831338509 -qtodec:43200901021147/9612178431,4,1,0:1012032.1 -qtodec:98112477878099/2403895417,10,22,0:40813.9543776579361896591194 -qtodec:88141431773341/441452695,10,20,0:199662.23509710593113493168 -qtodec:-74737428452597/886243587,8,21,0:-244552.444607747231253546632 -qtodec:42004523099961/727188967,16,7,0:E1A2.DF30844 -qtodec:535967733905/65519711,9,19,0:12188.2235053083367133015 -qtodec:29508211302267/62743787,22,5,0:203F2.KH16G -qtodec:20444506756589/73095694,10,8,0:279695.09061079 -qtodec:60358251477113/17276777,2,9,0:1101010100111011100101.111110110 -qtodec:7675515321823/53051166,16,2,0:23529.5E -qtodec:68145812098865/9201386,6,15,0:422423113.430414512210252 -qtodec:9010952293583/1041530,10,5,0:8651649.29822 -qtodec:64799577298519/4451432,10,22,0:14557018.3479201749010206153884 -qtodec:4766086981551/1109401,4,20,0:100120312122.12111220122321000303 -qtodec:-14985202309069/259277,7,5,0:-1301154532.10024 -qtodec:77527740569441/65903,10,5,0:1176391675.18081 -qtodec:-34544219638590/487433,16,10,0:-43962AD.C208E5DFB8 -qtodec:89606198611077/718691,4,14,0:13123213120300.10302120010032 -qtodec:-20900481598325/19479,8,1,0:-7775046350.6 -qtodec:8694579108687/6527,2,14,0:1001111011001100010010100100000.10100101000000 -qtodec:11008512080877/36688,10,4,0:300057568.7112 -qtodec:-26629103193937/3238,16,24,0:-1EA2F4C19.E0C5562D391507BF7C71372F -qtodec:320315168187847/67090457824132,16,10,0:4.C63D998DFE -qtodec:37992496059712/933307870572061,2,15,0:0.000010100110101 -qtodec:-642835243415327/563880960452415,8,2,0:-1.10 -qtodec:-996741207812269/744724604059786,10,19,0:-1.3384024139643589286 -qtodec:865729136060421/18601273799867,4,24,0:232.202221202012312012111231 -qtodec:-190792427336021/12399475938971,8,11,0:-17.30615536546 -qtodec:353117587688196/41602134470867,4,12,0:20.133032231321 -qtodec:223068576005855/34076492509692,15,12,0:6.82D1EA2D84C4 -qtodec:219205101136492/2395575765723,4,5,0:1123.20010 -qtodec:456340378396493/4330214900946,16,21,0:69.6299AAE57B6C08183D61A -qtodec:3571581360820/3092454154269,2,22,0:1.0010011110101001110001 -qtodec:847831462081399/7150211415400,10,5,0:118.57432 -qtodec:-898578802522565/555835047564,16,16,0:-650.A0E8207F331CE070 -qtodec:663661151253796/453138066205,10,19,0:1464.5892736664396649880 -qtodec:271225450200625/257749526519,34,21,0:UW.9L5RX9FJI38PG83BX6NV9 -qtodec:-165514406278015/4322124123,22,8,0:-3D2E.F462JIGL -qtodec:969134788868309/87912888352,10,13,0:11023.8078515624311 -qtodec:349857780160166/918601801,10,19,0:380859.0183247049828067994 -qtodec:583417315283519/55625636618,23,7,0:JJ0.6AGDG5C -qtodec:5198673145663/2582846448,2,16,0:11111011100.1100010011011010 -qtodec:25224504315989/2747113245,10,16,0:9182.1858315815444295 -qtodec:-354734288655699/8606733226,10,5,0:-41215.90379 -qtodec:294622457238131/4699248277,10,15,0:62695.656809649983088 -qtodec:84851645314450/3149545649,8,5,0:64474.72505 -qtodec:162782722239884/940443795,10,5,0:173091.38845 -qtodec:-503919081966818/49953093,10,12,0:-10087845.450667449160 -qtodec:696741265176479/547456417,10,10,0:1272688.0963320208 -qtodec:123373090223114/171645417,10,19,0:718767.1676844945997014298 -qtodec:530906534529992/21770787,10,10,0:24386189.3706457189 -qtodec:25200685975741/10321244,4,3,0:21110012200.213 -qtodec:-58528486417214/9145779,16,23,0:-61A614.0F20EFF0ECB8777D9D089D6 -qtodec:-202870643410118/39728965,4,0,0:-103132222332 -qtodec:226786253503/4854200,10,10,0:46719.5940634914 -qtodec:947663833947325/1199459,8,24,0:5705715226.174676743125024435532213 -qtodec:58508575771048/1950595,10,12,0:29995245.435904429161 -qtodec:-162029920997164/5378993,10,23,0:-30122723.89965259296675046797792 -qtodec:-638908439370581/780673,2,13,0:-110000110001111110011101001101.0011111111011 -qtodec:54048561476435/260446,16,13,0:C5E8D1C.AADE1542405BB -qtodec:311253898901698/112463,16,23,0:A4F666A8.42F6DD7D2BF402286E84E52 -qtodec:-364014082098529/378836,16,13,0:-3945CA63.2A9FE228A057C -qtodec:662955978899037/29150,8,10,0:251345254234.0616507470 -qtodec:380819161094198/155,16,19,0:23C0A857C06.F4704F4704F4704F470 -qtodec:19950100398461/41364,3,22,0:1020121112200021201.1102012021021112012001 -qtodec:843068174103353/67398,8,22,0:135145224047.7022451545330470767051 - -# Writing decimal fractions, with rounding -qtodec:@0.001,10,1,0:0.0 -qtodec:@-3.5,10,0,0:-3 -qtodec:@12.001,10,2,0:12.00 -qtodec:@0.001,10,1,2:0.1 -qtodec:@-3.2,10,0,2:-4 -qtodec:@12.001,10,2,2:12.01 -qtodec:@0.001,10,1,3:0.0 -qtodec:@0.051,10,1,3:0.1 -qtodec:@0.050,10,1,3:0.0 -qtodec:@-3.5,10,0,3:-3 -qtodec:@12.001,10,2,3:12.00 -qtodec:@0.001,10,1,1:0.0 -qtodec:@0.051,10,1,1:0.1 -qtodec:@0.050,10,1,1:0.1 -qtodec:@-3.5,10,0,1:-4 -qtodec:@12.002,10,2,1:12.00 -qtodec:@12.005,10,2,1:12.01 diff --git a/polly/lib/External/isl/imath/tests/root.t b/polly/lib/External/isl/imath/tests/root.t deleted file mode 100644 index b7c5e8b4107..00000000000 --- a/polly/lib/External/isl/imath/tests/root.t +++ /dev/null @@ -1,44 +0,0 @@ -# Root-finding tests - -# Square root tests -sqrt:0,0:0 -sqrt:0,=1:0 -sqrt:1,0:1 -sqrt:1,=1:1 -sqrt:1,5:1 -sqrt:256,=1:16 -sqrt:257,=1:16 -sqrt:-1,0:$MP_UNDEF -sqrt:-1,=1:$MP_UNDEF -sqrt:-1029384298,66883:$MP_UNDEF -sqrt:394820398429038402938402,=1:628347354915 -sqrt:394820398429038402938402,-5839823984:628347354915 -sqrt:17179869183,0:131071 -sqrt:4295098369,=1:65537 -sqrt:26965706504352387672564992041751053514175649974280741932736827760729,=1:5192851481060515336695158019653723 - -# More general roots -root:0,1,0:0 -root:0,1,=1:0 -root:0,5,0:0 -root:0,5,=1:0 -root:-1,5,0:-1 -root:-1,4,0:$MP_UNDEF -root:-1,3,=1:-1 -root:-8,3,0:-2 -root:-8,3,=1:-2 -root:17,2,0:4 -root:17,3,0:2 -root:29,2,0:5 -root:29,3,0:3 -root:50,5,=1:2 -root:4295098369,2,0:65537 -root:4295098369,2,43:65537 -root:4295098369,2,=1:65537 -root:-4295098369,2,=1:$MP_UNDEF -root:-4295098369,4,65537:$MP_UNDEF -root:-281487861809153,3,0:-65537 -root:-281487861809153,3,=1:-65537 -root:-281487861809153,3,8349283:-65537 -root:-19991036671350700657170189502736817905009200157042372341654483623953031910930270960998207372480741818129399253027601458115528449927512127290460743651463958852225556661727551760552841554362323271980596910944452290359774556447658518439936535499843549082781717193598437061923,7,=1:-571823748273487384719287348728374273472 -root:26965706504352387672564992041751053514175649974280741932736827760729,2,=1:5192851481060515336695158019653723 diff --git a/polly/lib/External/isl/imath/tests/set.t b/polly/lib/External/isl/imath/tests/set.t deleted file mode 100644 index 0b870a135d0..00000000000 --- a/polly/lib/External/isl/imath/tests/set.t +++ /dev/null @@ -1,12 +0,0 @@ -#Unsigned integer assignment. Assumes sizeof(long) == 8. -setu:0,0:0 -setu:0,18446744073709551615:18446744073709551615 -setu:0,567:567 - -#Signed integer assignment. Assumes sizeof(long) == 8. -setv:0,0:0 -setv:0,-1:-1 -setv:0,9223372036854775807:9223372036854775807 -setv:0,-9223372036854775808:-9223372036854775808 -setv:0,4324:4324 - diff --git a/polly/lib/External/isl/imath/tests/sqr.t b/polly/lib/External/isl/imath/tests/sqr.t deleted file mode 100644 index 84ef2d2d621..00000000000 --- a/polly/lib/External/isl/imath/tests/sqr.t +++ /dev/null @@ -1,755 +0,0 @@ -# Squaring tests - -sqr:0,0:0 -sqr:495,0:245025 -sqr:702,0:492804 -sqr:23080,0:532686400 -sqr:-485,0:235225 -sqr:31727877,0:1006658178927129 -sqr:-8234442,0:67806035051364 -sqr:80,0:6400 -sqr:75029676,0:5629452280664976 -sqr:-8153,0:66471409 -sqr:5729957,0:32832407221849 -sqr:641,0:410881 -sqr:-82,0:6724 -sqr:7356,0:54110736 -sqr:0,=1:0 -sqr:7761224,0:60236597978176 -sqr:928319,0:861776165761 -sqr:912,0:831744 -sqr:334190449,0:111683256202821601 -sqr:#xAC46D3FD,0:#x73EF407495E70809 -sqr:-180,0:32400 -sqr:8965915,0:80387631787225 -sqr:1771,0:3136441 -sqr:131,0:17161 -sqr:2518088106,0:6340767709578667236 -sqr:31019,0:962178361 -sqr:460877681,0:212408236843937761 -sqr:2,0:4 -sqr:2,=1:4 -sqr:-43189,0:1865289721 -sqr:400,0:160000 -sqr:400,=1:160000 -sqr:16978,0:288252484 -sqr:32,0:1024 -sqr:4185,0:17514225 -sqr:246082426,0:60556560386045476 -sqr:5024,0:25240576 -sqr:4283818927,0:18351104599323431329 -sqr:79803747,0:6368638035240009 -sqr:27,0:729 -sqr:-294872579,0:86949837846111241 -sqr:5431,0:29495761 -sqr:-64,0:4096 -sqr:-27347593472,0:747890868709777014784 -sqr:-93,0:8649 -sqr:5941698,0:35303775123204 -sqr:68188,0:4649603344 -sqr:-10073,0:101465329 -sqr:712007,0:506953968049 -sqr:74981,0:5622150361 -sqr:590060947429,0:348171921680809101710041 -sqr:3375362,0:11393068631044 -sqr:6288,0:39538944 -sqr:-14938,0:223143844 -sqr:818,0:669124 -sqr:-61517636,0:3784419539028496 -sqr:-485757743,0:235960584884454049 -sqr:52047149,0:2708905719028201 -sqr:880295,0:774919287025 -sqr:23268913856,0:541442352037948788736 -sqr:8611582804,0:74159358390148502416 -sqr:-35440071,0:1255998632485041 -sqr:-123,0:15129 -sqr:-198239315,0:39298826011669225 -sqr:-18792,0:353139264 -sqr:42334,0:1792167556 -sqr:8871716,0:78707344784656 -sqr:-742998638,0:552046976069855044 -sqr:599309793653,0:359172228768401439084409 -sqr:92330620850,0:8524943546546454722500 -sqr:-21253,0:451690009 -sqr:-8591240,0:73809404737600 -sqr:-4406721416023,0:19419193638435754241136529 -sqr:7093605833487,0:50319243720880795970579169 -sqr:540053945630,0:291658264190530996096900 -sqr:6679643648234,0:44617639267392821131318756 -sqr:521589,0:272055084921 -sqr:13144286787,0:172772275138902783369 -sqr:-47469,0:2253305961 -sqr:480758624,0:231128854550373376 -sqr:-8238434,0:67871794772356 -sqr:-867204631,0:752043872027846161 -sqr:84079798766,0:7069412560531055122756 -sqr:14048677,0:197365325450329 -sqr:647598376181,0:419383656832267988144761 -sqr:89538606,0:8017161964423236 -sqr:8775965118,0:77017563752352753924 -sqr:135957585,0:18484464919032225 -sqr:76500157735,0:5852274133479880330225 -sqr:821777330800,0:675317981416772628640000 -sqr:38741,0:1500865081 -sqr:262422499893,0:68865568450091585011449 -sqr:-114911750278913,0:13204710352163261933292461569 -sqr:645965,0:417270781225 -sqr:-846535490921,0:716622337388858473428241 -sqr:56965538331,0:3245072557340630265561 -sqr:-744309142053,0:553996098943672933054809 -sqr:8398405793,0:70533219863895958849 -sqr:14899711014997,0:222001388330422931958910009 -sqr:4321091217,0:18671829305634541089 -sqr:818709681211,0:670285542108617246426521 -sqr:557620246567,0:310940339381441875285489 -sqr:666538614295667,0:444273724347187940858494974889 -sqr:-169058708804,0:28580847022475667110416 -sqr:-796502,0:634415436004 -sqr:-5416597755634,0:29339531246339285978741956 -sqr:922525,0:851052375625 -sqr:2993210,0:8959306104100 -sqr:1714169182508836,0:2938375986263011104043218074896 -sqr:-27353337,0:748205045035569 -sqr:9130672606905,0:83369182254485348653679025 -sqr:1596656380704,0:2549311598042796583535616 -sqr:-9683496758810,0:93770109477883775312616100 -sqr:909229240,0:826697810870977600 -sqr:333499398389171,0:111221848725938992589570067241 -sqr:-307250046,0:94402590767002116 -sqr:3035000042541,0:9211225258223871809736681 -sqr:-2721781933,0:7408096890805216489 -sqr:48792067992331,0:2380665898968251261074813561 -sqr:9234221,0:85270837476841 -sqr:8101724703211,0:65637943166619366033710521 -sqr:8164095821,0:66652460574469664041 -sqr:804766485,0:647649095379255225 -sqr:6183556496806,0:38236370949191691088201636 -sqr:48857539680655569,0:2387059183646833479261385610713761 -sqr:7026205978661388,0:49367570454577033123192362086544 -sqr:644316320534354,0:415143520906928406000094197316 -sqr:-2418657837,0:5849905732481518569 -sqr:-689024588558,0:474754883637521184519364 -sqr:7595432034404,0:57690587789250486239635216 -sqr:51477603372463937,0:2649943648972710500135406365539969 -sqr:-4859149914716259,0:23611337893687027113016478955081 -sqr:-596229664,0:355489812233552896 -sqr:539807450614764,0:291392083739210874761534775696 -sqr:-1566967626957,0:2455387543931251913079849 -sqr:65611170065548,0:4304825637370261946616540304 -sqr:30495282,0:929962224259524 -sqr:24673048425668,0:608759318615358173321246224 -sqr:-417870989,0:174616163447838121 -sqr:973135796,0:946993277456553616 -sqr:61834268876013338,0:3823476807431111794332536353902244 -sqr:82806890204302,0:6856981065307326523299307204 -sqr:1316959192994,0:1734381516011407738684036 -sqr:80328462383346,0:6452661868872633334658155716 -sqr:42624480104111,0:1816846304145754485399100321 -sqr:-375979141,0:141360314467097881 -sqr:9920379080,0:98413921090901646400 -sqr:80353168236771535,0:6456631645686909915006519786256225 -sqr:21921266256,0:480541914266444257536 -sqr:51036336390,0:2604707632113238232100 -sqr:7536279247897084,0:56795504902284238073836255703056 -sqr:4057492473172,0:16463245169847433139741584 -sqr:270453549401790,0:73145122384026464066855204100 -sqr:-97595328880030,0:9524848219201217774132800900 -sqr:2730620091663,0:7456286084993650522105569 -sqr:596640915610381483,0:355980382180394358404919444789279289 -sqr:907362117785845,0:823306012792813655285282364025 -sqr:3529407863794686,0:12456719869015768803663561838596 -sqr:5637629105915,0:31782861935859962287987225 -sqr:701177821774260333,0:491650337748096387958827849257270889 -sqr:388674994544,0:151068251383778429767936 -sqr:9003508844276352939,0:81063171508962508596780155978893937721 -sqr:5782278255807599,0:33434741827585369298571706144801 -sqr:54932190594257,0:3017545563483777218801382049 -sqr:2330326791,0:5430422952852357681 -sqr:2344523846,0:5496792064462631716 -sqr:734348606390121,0:539267875707112861194846394641 -sqr:1667343410703,0:2780034049214712934954209 -sqr:47416690990247089326,0:2248342584464579496535799798615023134276 -sqr:2992718026488505861,0:8956361186069257268281338748231351321 -sqr:36345508239,0:1320995969151216881121 -sqr:9136952501974852622,0:83483901023344519207328952878620274884 -sqr:-68684476889,0:4717557365515575118321 -sqr:3324362191672831934,0:11051383981423794566026717599410180356 -sqr:3950591846438354580,0:15607175937145207775001664097806976400 -sqr:452699498737223,0:204936836156932968571605751729 -sqr:16407472075973,0:269205139923833746283896729 -sqr:-42791759402,0:1831134672718655397604 -sqr:-969620447288,0:940163811798981186554944 -sqr:-7324554153015094663,0:53649093540450670762129798726851083569 -sqr:1246969904304174,0:1554933942240360863251113822276 -sqr:527095728932983463,0:277829907459393180154350270231472369 -sqr:133034527166,0:17698185418281191991556 -sqr:5806610887494202860,0:33716729998766214183769310106832179600 -sqr:604840631315943,0:365832189290668488059885979249 -sqr:7106121629098296578,0:50496964607538628518974633341246510084 -sqr:81378228896850,0:6622416138388112367939922500 -sqr:-18768741494576,0:352265657290218942237419776 -sqr:81188620065937,0:6591592028211068078227687969 -sqr:8219251025608152,0:67556087421960658524081448855104 -sqr:20867876779389,0:435468281279762622975213321 -sqr:27156769177930279482,0:737490112183384027655411672542630188324 -sqr:40320990680365371419,0:1625782289446111137560608246113822073561 -sqr:231848755308011786,0:53753845337874323313724120314909796 -sqr:841695784516,0:708451793672004705354256 -sqr:1766836913116,0:3121712677549275732829456 -sqr:664177322904,0:441131516259924282993216 -sqr:5979213918247228581465,0:35750999080161375874506971631233196141546225 -sqr:1758746127509067,0:3093187941028139358526167210489 -sqr:135179542401621982047,0:18273508683911915341791581411360790310209 -sqr:112047175441308,0:12554569524375254604552750864 -sqr:70541788345164680600,0:4976143902934011567084482333700016360000 -sqr:1492832267100,0:2228548177694925742410000 -sqr:3521705164411,0:12402407265039108540976921 -sqr:-473191108111249626,0:223909824795552331595427695285139876 -sqr:855883713881684,0:732536931687904321002750675856 -sqr:16916839558930925199,0:286179460662610259828831065810133189601 -sqr:296829185936965,0:88107565624001340524953411225 -sqr:7414275234516727336390,0:54971477253168072142121335070692704218232100 -sqr:90237037450605,0:8142722927861889317814866025 -sqr:60553464627047020812,0:3666722078339034795281351845204761139344 -sqr:4439551436109999,0:19709616953866354532829227780001 -sqr:5735204172472,0:32892566899940238322590784 -sqr:-477556465681133,0:228060177913855160813632163689 -sqr:6136903544018042,0:37661585108581203963482021513764 -sqr:7355012443029717610726,0:54096208037121975042332803663623262070247076 -sqr:2615297272121929464,0:6839779821568405573166111210191327296 -sqr:1236583510060121661932,0:1529138777352611011481426496873465697972624 -sqr:259304999298782298,0:67239082661341488057486265598160804 -sqr:67283385405374162098001,0:4527053951608116799312629323426390509928196001 -sqr:301048056239861279998,0:90629932165798680163672601418278954880004 -sqr:513985608867175879,0:264181206122561507573492869119422641 -sqr:8456087728243890247050,0:71505419667756916634176268857406110033702500 -sqr:978607251971625,0:957672153611455542449805140625 -sqr:190320200462916,0:36221778704244531620691223056 -sqr:213818886286553,0:45718516132821882562028621809 -sqr:-862217602106683,0:743419193382598324879713262489 -sqr:318640018205323583652,0:101531461201888944823553345475699841657104 -sqr:-500900129006539730,0:250900939238768144201293108068472900 -sqr:820114087330800098,0:672587116238431209810989756836809604 -sqr:55403047897851377414057,0:3069497716371613929908572787677424384421199249 -sqr:4810813844423644764918,0:23143929845698208536190754736426427483546724 -sqr:9103047106745502875,0:82865466627627670814122634036633265625 -sqr:963951698125641,0:929202876319306914592621660881 -sqr:539175052498265418,0:290709737236507269568171898774714724 -sqr:-50157204922004988220,0:2515745205588001416429472062562338768400 -sqr:11026905984136936161244,0:121592655582994972607713656480448242767627536 -sqr:3502071722216797290044,0:12264506347550524601785650136506422261521936 -sqr:-40351577732954785,0:1628249825538692426114606854396225 -sqr:-95254896582422725495010,0:9073495322928048629343683310955771449534900100 -sqr:60457070221477869,0:3655057339764706108220106456781161 -sqr:93325659970487089,0:8709678808926976205678491915693921 -sqr:413237232385124613101743,0:170765010229317482334791391007519236011269638049 -sqr:951114415591592288075347,0:904618631546136131332571710964234352253549170409 -sqr:401010074180215687828,0:160809079594022088656212052683319147357584 -sqr:52476554710721850732027,0:2753788794307383662963857897873667915763528729 -sqr:5258576802493280623,0:27652629987720455286211141065027268129 -sqr:6054103219841182396749,0:36652165796491372073556099894662392045769001 -sqr:956352502346019997280,0:914610108743494184401252227637651207398400 -sqr:-26892207599979464777,0:723190829600393285039943832095383659729 -sqr:764634776535170557034248,0:584666341486990214285762412733243291473444925504 -sqr:8999350031831592,0:80988300995427275943650249254464 -sqr:7641437781743263624,0:58391571372253409436905597502761613376 -sqr:27231085935730852312965,0:741532041239158628505821004397916290307091225 -sqr:54460324605443402457738,0:2965926956130264089583329153826508098876076644 -sqr:360110851757167625249,0:129679825553272757329435766523210102312001 -sqr:5646907739554115833792819,0:31887567019036174101601259024712393010835015966761 -sqr:8713094333529031952536,0:75918012864975725504514567963780052556831296 -sqr:6067775047370385059161755,0:36817894025490678648663816543505226751463254680025 -sqr:-39161602370641311011,0:1533631100236219150516980671952829842121 -sqr:7592562487471228106393,0:57647005126155282856061129287036732527470449 -sqr:-117854390966306661620,0:13889657470039065250071587891189181024400 -sqr:-5296482668083754900244441,0:28052728653311610979016516323012132263081551402481 -sqr:4890037916081745315,0:23912470820717098435617409376524449225 -sqr:878103465304676151,0:771065695780080592884753986988174801 -sqr:410286152523309284403,0:168334726952380209481013581654379939066409 -sqr:1320575015715850,0:1743918372132917474487941222500 -sqr:1130593146191972580760544,0:1278240862216263084092458499026711588345467175936 -sqr:9152293784326972307,0:83764481514630131881899390265544902249 -sqr:-30945617243677794421601,0:957631226592208454530069639810039434135403201 -sqr:637512608176985502983848,0:406422325584622643202173308977613669311348887104 -sqr:953752290145863389507,0:909643430958479183560202570458470797703049 -sqr:71232551174252547137921372,0:5074076346792507932127726514013453732491272854362384 -sqr:89641379812972941263,0:8035576974773672749927646579813248035169 -sqr:570533510213359628,0:325508486276377734955790890860298384 -sqr:156037452082545281465,0:24347686452412614795656577852136072546225 -sqr:820946717694830576249,0:673953513293915850368458978756517402910001 -sqr:897982009226057242719944960,0:806371688893666754984415476086593388617121385429401600 -sqr:30047225710589062348346,0:902835772903084382776376808801558904248935716 -sqr:91332956688159987977447,0:8341708977401308279373560739783999581780637809 -sqr:779547769133542092868254,0:607694724361082242143909923818285375848601008516 -sqr:70223199028646964984,0:4931297681816964046455576234794522120256 -sqr:-7130588717194686908,0:50845295453784170628102737064146600464 -sqr:7862855876206371917242,0:61824502529993072660297880196210138896886564 -sqr:99635166626419149819259,0:9927166428674308348042432184271252852367309081 -sqr:9143110466763720332929390,0:83596469007444295894790689042921258303578725772100 -sqr:624603802062355481979,0:390129909550750146243139974448833393756441 -sqr:57467188276773877127351,0:3302477728438176937336538778081989035872277201 -sqr:56666158509765775413,0:3211053520253900204952292290417155320569 -sqr:1669285813108053464947655816,0:2786515125843815201176904833798671100095144793598625856 -sqr:-3894381579633443035,0:15166207887788271015100954608590011225 -sqr:260571571745997869095,0:67897544002179714981985817184280756119025 -sqr:53560277137779384583336,0:2868703287075733025329170304306805830328888896 -sqr:532633647890554999729943,0:283698602865199724513575317928240776802930783249 -sqr:-8109683324597705697831,0:65766963625258096837076939441707642678104561 -sqr:71512764950951349786,0:5114075550930015809763806667815322245796 -sqr:-3230261313024043132,0:10434588150419815167286482704196369424 -sqr:3876597618180653484531214,0:15028009093283915659666843759569773575981340313796 -sqr:2022902748890635933130119,0:4092135531469291257986156298716581802948984954161 -sqr:-9239803654422657921335,0:85373971572282304128064994834647223048182225 -sqr:40891548247525081118,0:1672118718079671532749847110472480129924 -sqr:165164019691356860628567608,0:27279153400606916807248493439181759924278997826841664 -sqr:236044194969218596813550,0:55716861978666481928715444466626794213463602500 -sqr:-9327691800876445934166044473,0:87005834332137675107296063213991033162475616331013847729 -sqr:-1141008979009187167080443,0:1301901490179587721260801760634357975556433076249 -sqr:80240901025439711368171436,0:6438602197374411723371216408703542996140198286302096 -sqr:48396694980176876386,0:2342240085004277665404844769815924420996 -sqr:8287110859147430899223483,0:68676206391799270292835857144249638800252378651289 -sqr:979738309307210018577,0:959887154724150329311355128100080685104929 -sqr:79997549118990663707588,0:6399607865045323915139363453196300002368777744 -sqr:404720558142791950357,0:163798730183413039673176219498755952427449 -sqr:39783276700470626124196,0:1582709105026208988642497555015175748816646416 -sqr:68076977401073761586383174,0:4634474852066307646499543932220927310440054750314276 -sqr:8780946490021005951868,0:77105021260612224378649288336653880732689424 -sqr:2293326364302719333015,0:5259345813205928950683229209501046468990225 -sqr:-85950587462318432622522110756,0:7387503485117650543389782822459944191622287564105530891536 -sqr:-45213570780978740239083451,0:2044266982766574490551025400685924690824376542069401 -sqr:-252288475394454050742693,0:63649474816858046994487266873669024064892892249 -sqr:13343208905111714280686404,0:178041223885452552994753470810964520657769390451216 -sqr:2532670767542782527921078886,0:6414421216765747171902768427962647904467236158235000996 -sqr:90594811403510761816916775742,0:8207419853237683569360118704220290897994537812705119650564 -sqr:8205141011719296761924,0:67324339022197964842201619162042351536181776 -sqr:9720036859316498875611356,0:94479116546471347354649044496204860597822756158736 -sqr:283132666802141375993924892,0:80164107010492409231567496032871329019099690937211664 -sqr:35478297544662423863733,0:1258709596667599773811969774518746956152695289 -sqr:32285080416677631255843925,0:1042326417511341492231091561259042214939463959405625 -sqr:-34268147969999862649888,0:1174305965293805707432076575873585053266412544 -sqr:700904064615551520403894,0:491266507794601220883840126321977531400890363236 -sqr:911134642830965648237534581154,0:830166337366711341532911911675565532094507072828006211971716 -sqr:51391198660039915856968,0:2641055299715688443070254859801397489834153024 -sqr:66416349272456975065639625734,0:4411131450680996161120441843876023071544149766499595038756 -sqr:806758926584205263840,0:650859965623299098779505861978364011545600 -sqr:477799154735707308352114224,0:228292032266156375585779864239845871819082410743122176 -sqr:-1654950158079442331247637936451,0:2738860025727171161306644564106812249408719162131709514475401 -sqr:942376212580429636273132640938,0:888072926037435108264123633745578188505325516681766433519844 -sqr:-173744882442406814125820238,0:30187284174925763628296929994001889276434196290376644 -sqr:2808504238232363752504253,0:7887696056169149811385548240526285742328783088009 -sqr:807298846393541075908135,0:651731427388342229023346153451352474114959178225 -sqr:26937190640553605997330,0:725612239605528790179357561582679743967128900 -sqr:62574675969704339348702583,0:3915590072713493701996057357474786632808765390871889 -sqr:804162708867230857991464,0:646677662332682695199247623301634798792296863296 -sqr:-386730036170782490733,0:149560120876654733607852171916967230877289 -sqr:-434273419527492647189701,0:188593402908101632063112882554636374293080469401 -sqr:869166535411038930671123943286,0:755450466278428791412005047210119303561723595211750144477796 -sqr:10449922204455770677506,0:109200874079177753861811872396922278254380036 -sqr:-90720321424101605506013285,0:8230176719292308756103957083707087895694294596491225 -sqr:618017451906480640476197978670,0:381945570860979111437601753456109637509740412489393774968900 -sqr:600218595859234657114146,0:360262362815231263075003129475804047328873309316 -sqr:-1271084021549941372472074416151,0:1615654589839571823374561631341349734773214052728307529654801 -sqr:-1550867554578739621065776,0:2405190171845039917385273345455165995626118482176 -sqr:6043648591268889505332580,0:36525688294746432641148169772867559568256409456400 -sqr:4436117400241675705710942,0:19679137588726963606581585499912481843633658527364 -sqr:963653222408138267064741,0:928627533057588796323445139533613848091885397081 -sqr:79810459027918017737526,0:6369709370246980620783598883260816355828600676 -sqr:902803003175340266413761,0:815053262542413447161071151674614683772050165121 -sqr:41752360733446165868795969,0:1743259626815817253890642356111049015824205750648961 -sqr:18433679660798345484293758,0:339800545836930605431594748131416795001464037762564 -sqr:-8099616466845982700651861415703,0:65603786910002599981017618042158396492585415981482319374984209 -sqr:53861499928450854325903869409643,0:2901061174542511385668622771108001926502370466421638385341387449 -sqr:-9539042911647353522749973,0:90993339670249619985617080925599605810472271500729 -sqr:-9953723302036330682964697708913,0:99076607573501034335207891975711363757759935206913991279641569 -sqr:819405964225846194717255113,0:671426134208888733847054770271652175310634741124642769 -sqr:802401078039205223147440807946,0:643847490038478710635011163996163360107384995763769256738916 -sqr:519449268240923314088505,0:269827542276030702352860062200068431818973135025 -sqr:-4555091246368490325696260,0:20748856262742846629765230682011655772853777987600 -sqr:92030015548432048748093276815,0:8469523761844644646313223067398164807006285055804216544225 -sqr:69892106365908429041254342845691,0:4884906532263457551578632249701418592382287262507816195837267481 -sqr:910047959446947352191893618610,0:828187288493552732485135863553654427423698002303240138332100 -sqr:248378228391386474704886916939167,0:61691744338843742253916643321386052988120454926320117359978653889 -sqr:44668713115713790179611935799452,0:1995293931413941180740289260931549563994989167786466958363500304 -sqr:554146318830994817582767590433,0:307078142673942561571697027825775135058421635981084833127489 -sqr:913107312130554773072541881000511,0:833764963466286379835121944707623846292155777477098298802382261121 -sqr:81108023466385198143279886584,0:6578511470623691973244557720131367432321893163523903189056 -sqr:-4943833529340426042939004,0:24441489965830613211569173244841340595166064512016 -sqr:51140730159890637422105920403,0:2615374281286747861428645748709966547587341461263771682409 -sqr:-607843803842581788311388679398,0:369474089869819046801414956186873945785214116905230429642404 -sqr:122000635477119336893648,0:14884155056820949371250828570794377554062747904 -sqr:5316396721948668528754688,0:28264074105146548353074606970605680292688081977344 -sqr:3871007685189086282275603,0:14984700498792968128669630624162919017232049013609 -sqr:7594454675984973208305706419,0:57675741825590024399104214106984154178550700718617803561 -sqr:28214522979760017572876300,0:796059306975406100990301973660076181981455101690000 -sqr:-8758954355837792555434977,0:76719281407649839529729437792891939009581674990529 -sqr:192247354570382237619981,0:36959045339310268227417106552924468739370440361 -sqr:17921008488602803526064091292,0:321162545248573740358745190642913074581611098877710229264 -sqr:2786656582338594569854846808207651,0:7765454907891016297545581568122273298720717571197646453099134937801 -sqr:-8119878340729712848165819773762372,0:65932424268251514701015178259411842162406168492081516233544323066384 -sqr:-79010392379176306659400405,0:6242642103911401396317544499881175920416754114164025 -sqr:502548653639979591878843903680232,0:252555149275356173101979364004936274487595147326132901113707573824 -sqr:370095553656392383016573,0:136970718836231613385863745681913470927192664329 -sqr:3308233251214375641713788330957879,0:10944407244440438253289991279061494519953582690662512604421672178641 -sqr:-183583169171890388291350537,0:33702780003194925435879559331574763782761847410188369 -sqr:20022240072762280694432559381,0:400890097531327699316940227336660015830476888446091103161 -sqr:991600160459479600853539507705,0:983270878223265691657333328413726449497510327213293754367025 -sqr:-886802930484090401215003053,0:786419437515170472599024051267193209332214818799320809 -sqr:-4021243178549426619810076170246,0:16170396701030295777747606521080114147933679758148426375700516 -sqr:-437190641321459296906356238626351,0:191135656859068873243134481446335599971533230314698916447391575201 -sqr:4949096192729469662233605922109588,0:24493553124889331919611856555201632265117322697483182895572281529744 -sqr:-222922740889004859161836432272026,0:49694548405466398945671001441165552874782078359206058576462144676 -sqr:6633207453537081635390578639208521,0:43999441121659895022772886274234937490050952802629650017809319007441 -sqr:-388419057976394528897376766008911,0:150869364599269734301902942514512041010013259450627804723731405921 -sqr:1587145903911990027117983209,0:2519032120304607880066057705136945202936833323605937681 -sqr:9341556580305242597961446590124642,0:87264679343044178399059265004205078308505980101212849351757095628164 -sqr:-98589396724476958519746033,0:9719869146496308037624494359753950110951166819237089 -sqr:68949788143317567890727634506437,0:4754073285008375866022480396033956238363312230990817816594434969 -sqr:15348440724699030968793800,0:235574632679599714954032510452755198589426918440000 -sqr:19579760235445809588453948,0:383367010877544944929983398547473038485912916786704 -sqr:72079227800301785573175211637474,0:5195415080287797782151390372393575616172253417843110320401100676 -sqr:6817374173872891802717574,0:46476590626589093993102340500884140128371608445476 -sqr:27365680739830168291453603457,0:748880482354311826968810008262872424540584520070202350849 -sqr:267264590007941098022378239,0:71430361072112848614264522780315039578433629580741121 -sqr:6823763963460016478347085218,0:46563754629015553103873634993707652191220912556554107524 -sqr:8549091706180068110128584180,0:73086969000676828009663171737806902080553533491346272400 -sqr:-68363462105740373654914242951,0:4673562951083000043628088543159794818215387066081453188401 -sqr:63674293081366378395048823165,0:4054415599411742243170904564153062594260665424051440617225 -sqr:12314822493559883827822938851812,0:151654853047888474961995203087973689051788205242869652895683344 -sqr:360322042567152808702152365098795,0:129831974359765080636852128393794927791043507146551510810110452025 -sqr:2648892181207467563739706353,0:7016629787662055175845497345399540904332220966668560609 -sqr:1931728450461383908845059474429384,0:3731574806321939346389291168735723327873036035228210710552402619456 -sqr:358403207284545478566799458841,0:128452858991848873192347508921766736387368968538450453063281 -sqr:16923832563401191240604105408,0:286416108634038535732613208202327062603817395183974846464 -sqr:-60296919348805772314352496412720,0:3635718482956387921607376827103051300909552440589140468577798400 -sqr:137381863838359684196723188000,0:18873776511701600260921940211907923493005196696883344000000 -sqr:591213095515431378414779198676378,0:349532924308938586251105113436721993590864360832386253227175198884 -sqr:550075895507569886172410506205,0:302583490818454944080300856365310614939073667909864343502025 -sqr:711087936283568776727078639050747961,0:505646053128024768394217620639062509678773141734419309834385513545657521 -sqr:87137753047658080124389033343282625,0:7592988006194645030937734327894136192749543225796276656746210626890625 -sqr:892477052408611488403157406380218433,0:796515289075963457333727567531410316000818421665541198467895652792975489 -sqr:6158563241782182682620279504718154739,0:37927901203030667115475855586796884579475600717657459343120085141148158121 -sqr:163129498185919713569905746566,0:26611233178389983120491164583169402737995471084949820792356 -sqr:-840675253673606619740059054280,0:706734882139182840398643757541187982055463962461807986318400 -sqr:3156757217808506455275677523420556199,0:9965116132186102265018848181467495754138541196082820401622097670517327601 -sqr:993671209419443022612977747577,0:987382472429098591948836324268579783286641834412572329370929 -sqr:-9326822514499666899515267554736938,0:86989618216977889172048813242979601855371201795395107397962381615844 -sqr:-235676703573040466448512193799813867,0:55543508607054784964710322367602777661099488105005836599662883845493689 -sqr:9745324195976053070545476544,0:94971343684676305233934428420617617171065924820054183936 -sqr:42036349610817613966650109709956317,0:1767054688602886165196914277223620205192980370693225930615078048204489 -sqr:6423789221002494265324250049541,0:41265067955867832110408469297659891351326774859357340954310681 -sqr:39820799073224257724368475037593,0:1585696038830097902894340812101752876025276615089993162763233649 -sqr:-248685011975388562625272850484520,0:61844235181199152802863183501684240433880069673516902798759630400 -sqr:7810586566859132079040306752412919266,0:61005262518400323306681848115066990496722484937205544401071870384233978756 -sqr:148248035689146148163507965322876507,0:21977480085690350061040242660528838386718186881517058316005748772521049 -sqr:2174924777531088681854941082964503,0:4730297787918655595183218550423839198281245191521603201754758037009 -sqr:7460214282782494008461541364649578693,0:55654797145031921479620736345863324550380883977276538456407066982399588249 -sqr:910214324198168001046442701640701,0:828490115975527682261108829195991618894759199353089171357299771401 -sqr:-59899876223007500200643117496816827084,0:3587995171531619267909340862365356764690500898711702775194521329813155943056 -sqr:3693325822188682181380816692,0:13640655628845705229325716773595065057160551856905822864 -sqr:-377300624776321473819796906114622586,0:142355761456602529596293103174374647548147320880285674734176169221327396 -sqr:414831269398550325451238357295142,0:172084982070812635693442772673726339898901985136718231410496800164 -sqr:6560318055585225985879353052799903,0:43037772990437520228181479222553604645045752273627418993347756809409 -sqr:81752690538327392490210233502803189412,0:6683502410255525163317352014073423856877240881760773530410353274879548905744 -sqr:218839351597324273539262978455,0:47890661807537314072553854206046627823699636362157794187025 -sqr:-5805326576316957672801693030589753,0:33701816657691969378866024022901213186262873511166214639390988601009 -sqr:657052654171627411520319781527678957,0:431718190353980208506608543148088461575698759507192213967541915660607849 -sqr:850803172144816061232121227544210866,0:723866037731681512526641628957082234808088810211668969221470630672469956 -sqr:96750262807275012100488295035769,0:9360613353276782505243770907131423414773817247651756648989421361 -sqr:1302972096425652715773488728124955290,0:1697736284063860438660129973080040668130028649420585700653556064498984100 -sqr:362539128333737071068563296326856312,0:131434619572985877564322363931711449060712966012688612245083752694241344 -sqr:8647059398106102973445629549035094,0:74771636234375079831388808708994826778243955204442145247786443588836 -sqr:4801679506442312786805559965365951,0:23056126082588092523487649586475214155591493450499364174637350134401 -sqr:-77184374294092760219449891857411639,0:5957427635170607277431236668258878037311657775496943176517416692666321 -sqr:237675308690641513277997273186171423,0:56489552361191733248853882918288952408272576415112822843718756741844929 -sqr:-5002351530431559668603019491716529,0:25023520834010967237231458781580750346527800518094804987246891807841 -sqr:43664655191273703505834328260330,0:1906602112972825584894722514125938669910101850559285284251708900 -sqr:61437334296785487665781722675145481656,0:3774546045494974352232649823192447953130381594535380154723604664512232502336 -sqr:76999761286305362841208123728009,0:5928963238148010105553373748266081481905919994513298364211104081 -sqr:4045969265340624054820554440481625,0:16369867296080949138563301459618249171273665229809612664561962640625 -sqr:-90733797775896931157915560238405881,0:8232622058837358891226618551896739737707140965912018467654084095386161 -sqr:1250789450925599394334826479552697791,0:1564474250546762415577515695203307841292579604239130459928690626176279681 -sqr:5972484542109405765482619578501051194087,0:35670571605735798250313214826049005528483190382247035739054380369668008543763569 -sqr:65678344134099005094717808763640919760,0:4313644888197137191319800821202398871887873211187330220689626491898758457600 -sqr:-62990747469444164811979252597669258024,0:3967834266759286452973199215274493545160660868223522376653578082958688384576 -sqr:-53997255662311143749287788767141410,0:2915703619060992875399948731380693863707266595015584952708102936788100 -sqr:5686190404642301882852816915831698249955,0:32332761317846184821910191091058430280642996317973095727786765956628209657502025 -sqr:4318656996688968372478897431491494622189,0:18650798255050580180132125928030568680914499281769771597690822356558707851151721 -sqr:90772643431688731485119396638690,0:8239672795576503406798366498149929387564332199866630470404916100 -sqr:5194695663243172552311326817796924132,0:26984863033717424374763712982568150984157237537337208924447183760163953424 -sqr:663052304331426874021220834995676750,0:439638358279215120964420211896852784266488221371872739050191190490562500 -sqr:765274211863773061319130051954728,0:585644619343719017714207640892708560609108866025443392573761553984 -sqr:8793390746808666322341142829879636,0:77323720826060274427606858051544436111644164324015870268834247492496 -sqr:-1143404644203622436511911843731903,0:1307374180386412415102092423534367931853000575304412276790140001409 -sqr:1274715157279956414098609764282,0:1624898732199264017780108312111877512545271895107751602975524 -sqr:409119214024402199476926287393039,0:167378531283944613340338055007668151076742941392029630986865655521 -sqr:71377375780409892756507920763626830337332,0:5094729773297844747021699813855551310975623888825070108789795349920431748912878224 -sqr:16711505580703743734170498011402976914,0:279274418773892371081455883621263741224242040916240683397794226501216963396 -sqr:-74453371480687043335744644177229319766278,0:5543304524841182775798580739240538131276183842677571645900572414881617796545973284 -sqr:-6405878501504187329383105565378712287,0:41035279376033532548797887930856354109329109091108165640510577306324770369 -sqr:40950531000192473613267941356844194183,0:1676945989197724793333658733771064889173041987235658694162953328114611037489 -sqr:4307204533471560374295387513178008657555,0:18552010893157962052718908742109438219933838558835235689466967303594533258578025 -sqr:-149484891420637067740168061887375693,0:22345732763039653620332820862877954314918077499338875920118166527230249 -sqr:8343682513737833903327046937516169964,0:69617037890054498842921226973866568012575744383637684564661631967735761296 -sqr:3509188584470681541017936658877926984,0:12314404521379345637100883238194066833159131043160907804892714733235336256 -sqr:843579050130514060756624621185917,0:711625613819100354786465278348435375464052902370772400359479130889 -sqr:31410619716472975493735222400837838865,0:986627030972880827393632528272477830148142517559149626692979125963704488225 -sqr:99785546587226129843537244978723,0:9957155307711476328643044694094129659431472972828141076722710729 -sqr:87088383260454928172097866342477398,0:7584386498919886145615067404165620415719691675067902815356104140850404 -sqr:-21019572728823619340736653333183687,0:441822437702305615250281344482791728824090026904703796170591282913969 -sqr:-213022293683144585643783023194682847,0:45378497606027901635433606485223048786626898394552542573714372916025409 -sqr:821558964589159729952441643882176928965,0:674959132296812211087604639834230395153394804319126838028473912988118655971225 -sqr:93628576598887540441164941175327620645,0:8766310355933751549963656542407355813018943206504806465783388451037030216025 -sqr:808908479404403522256434597056244,0:654332928052344317344932524548899015475902513950134223950499387536 -sqr:2403686005394008280252761408349209,0:5777706412527004403350603444613906227812077284451715581174490925681 -sqr:98761522656704312056591131334972202427,0:9753838357470719156604333998408117019236907401667603138016126272795064690329 -sqr:264921969502430465410895298885047472157,0:70183649925046697616917925839949419303701946877664620425503463543495690232649 -sqr:5734044193381222850292161236386120,0:32879262811648918591058681843423942962076958921730666289037728654400 -sqr:-77343515936181223098604746930499746,0:5982019457370318819325847928980176284218772540166615080618809306064516 -sqr:477530086265353018187224199691826067746,0:228034983288595495261021696621307088152352747277191879096752478920892981520516 -sqr:6380429851450892850108602700855721,0:40709885089285662602074098891157189887680003507622857222825658429841 -sqr:1614017525491513292625779920457654198,0:2605052572593747761378509433651355353858519931761187647033655684947023204 -sqr:5843196999513910258932442804866747074,0:34142951175128363766762829236509048605085738725187936744829961482287561476 -sqr:-16840291081678306354388229172771403474441,0:283595403715653901461439541409615997910511102944454782045143368506083646540262481 -sqr:7474294456536468895568721815784039906712,0:55865077623011788920219279745354529689516076975872074869650077219876961662650944 -sqr:40025018325908445925732334410935532,0:1602002091989306935275241821685425175435487432655654492651387460123024 -sqr:71178821881382993600746091906288293726,0:5066424684421646444739284493107312862767524722848585207267121476784450963076 -sqr:-956534424185242867042536059215467741482912,0:914958104651394134287596545591933348101595618215576678952462132267362996716787999744 -sqr:721829962859255739884681107822513072001361,0:521038495281394520876802923408055786959896312734012309918355263586370064581985852321 -sqr:513339816745878383185851793188104945331,0:263517767456692000522339869140844051045940350138813491305250127423978498699561 -sqr:799894410213938707352908144028526318948,0:639831067491504852234204013807619439299774103064068517022995175896723023826704 -sqr:5059143920618658416911136512212276876813,0:25594937209532730337328341168912486221010349334531467986696362464941481577036969 -sqr:7379242107602262033739052700681405641112,0:54453214082610274166992064235604092051241247993780042359574422852539255744596544 -sqr:4599028230060805133113661583732548660414,0:21151060660896221947440972108717970222629954445507481380394996890598345890651396 -sqr:-610947584794355405122282058915720029,0:373256951366056087824599406569194476559334062938481114234422535511760841 -sqr:151016760305167557688524773300221125,0:22806061893068431731595439152646898640190980000204142970991973896265625 -sqr:-5043972380615273383773350465024144665722,0:25441657376409708308182401188063792057370329788793418956979339486342827121781284 -sqr:-1901326156132477111554066093388015224,0:3615041151993500730555701528108452476651988041641332535522955478055770176 -sqr:186173294979292913545567242624444046622,0:34660495763446811970285555836345743988397392804771376759698280409658509610884 -sqr:134444238155321083315064919179926948671901,0:18075253173164693407381472881519065043651038267940050028398999140418897027746953801 -sqr:182751469381748889650715918274290926706,0:33398099561188301891306676682175702712867585589145527684366524689236264010436 -sqr:-19782833113399238615456499401930538244,0:391360485992605412572841611431223918801790691677441123223853085111546603536 -sqr:-53439814746421546360134168635454563545302138,0:2855813800131853763301018844500573332922284544274015258314229885052800908865809707371044 -sqr:-942658818709448211511437874237821183862608,0:888605648490692349494488804835692227243472617418048028178845602724596399794620561664 -sqr:9834555863623710363291061910128791251884,0:96718489034735503589624960384782834610966324564239408703329883463441847933549456 -sqr:51449832652939146582734700068610837004647986,0:2647085280015443222139677978390743228846577502050643060932244409106773419670167773856196 -sqr:2291742184006479592618233849836236908475350,0:5252082237954788967476725027613349500538682695376657947018844871340710892661557622500 -sqr:35726042449731702718621910342910442871,0:1276350109120031602372605532253019950930377400791207831395379049985354722641 -sqr:314864095665797450690432494576559180549068,0:99139398739440448973186550472760318244168691761448570815799105906596791989955668624 -sqr:-59649935536675658576676397615555554,0:3558114809529561588382641776313422189329463523863391447026516060246916 -sqr:46149412421201088724138934931962583741,0:2129768266822109334168041249232625528680710162397761120741201681200437555081 -sqr:81505683246039956870662440686055779,0:6643176401403798520603430158045363639536746978811045511154051899296841 -sqr:-91299975424257598936582802453683157768592,0:8335685512470041532934583154336766995790602158310653976092333552449139600621662464 -sqr:574823126630437679349613040851854060,0:330421626909192191581312097609382416497762511199933655831540139538483600 -sqr:5848279024202366423130208101566693655407,0:34202367544925383191149561091505226508437583697212620809081729403292547660335649 -sqr:33303836250493780483071804093805232,0:1109145508999703631203582340229800796051766205357661302556477550573824 -sqr:-90097283028670050701146267779856415835245618,0:8117520409148276344113019232317307994477445330168474386622133497011544293514182388201924 -sqr:-14668385513233950758334444245442362205,0:215161533564851632997671384914831185622213282649650113792531204770412462025 -sqr:7590774137730042375112728223871690355920093,0:57619852010031268329372461592010579705963482263927747947299813304373576413452601128649 -sqr:343995691938696340599208107211356310244992,0:118333036072382474528342713640289708614178710132517265632044214980665310259061080064 -sqr:9070182305961666411059354831291359229936,0:82268207063380092355731635277150073589698333812886179476183173042500898918564096 -sqr:-613222418174165442752517769424869180677247339,0:376041734151371031903812645758550041032916828201133265381231649900288825614887998182580921 -sqr:581873090996018714406098523305834447403,0:338576294025261075090661404647983063923320691169652763323293680756298373444409 -sqr:820560888183185727159245513358928235617874576,0:673320171215978629926989442338497570791398876600290863949889599973315463411875711667179776 -sqr:-9626227543559910905998441385452600037,0:92664256720391476419210060982085791459697761624823914410791509283492401369 -sqr:66650014481401668085852877112449263254057605,0:4442224430371052066838460958811706436780164160347132176597571432339519948135496658336025 -sqr:7315583918748836072386922803226766220,0:53517768072256576981304868128894291620776130258551034531987652238533088400 -sqr:70529223458010474926294230806646675385113866,0:4974371361589975054598623878560502789346907784009727387771830847443624158903789785465956 -sqr:401470286946091912268711270125222133422,0:161178391300577378096702751397459234166566519344188262751550714578757169430084 -sqr:4572343757129188862013232461765111042143389,0:20906327433358266822416965557951167365266138697665588057103694409510400778423236405321 -sqr:715210017519130849476306967366881834101790443,0:511525369159715456627844733333364085544303094139050148620796444543726446833386218286136249 -sqr:4527199826692724171566735731879658501804396281,0:20495538270806631774445707083379965566022585863396771217697173872449187877155922938886630961 -sqr:35406064719217317374472447210630089246913,0:1253589418901405255011316475685007527140454016052775693446831108384535391480029569 -sqr:2644657831335048513698968865262623996785,0:6994215044841801912150035078815852976779574670478382280388121561737327690336225 -sqr:228843981090068751940043109460476113233,0:52369567681151744523434257037145251209496783558582439385608973652170637712289 -sqr:-363455548653099175486553836897754887953239,0:132099935846725341876165715863568689720197347788826724804411086993540711366650591121 -sqr:49645456723940808192361707189216800740740233,0:2464671373328679603526959106904136209915438913265444195194837009476455587724892784894289 -sqr:-41972159081040399279897402054342460893529,0:1761662137924162054566224840868772179586183621899204603865834479280728681074073841 -sqr:904449444989445227486671780903374927026028972,0:818028798541715508716549477493246211642182516309001046520574799048903490361447595383376784 -sqr:-4637800501264787734476081456234817427937,0:21509193489531916376293763644814267498077828503138957431543983297006948188075969 -sqr:2819020042629861965107669573484320344278,0:7946874000748868771060776526221076809798728593879130631101816702469560447341284 -sqr:-1419073712851139608844222498035130011907978763,0:2013770202505118633030036333824745381599233534572616361640971080598274677688338220059010169 -sqr:1279435386592185332336335306072373865346150,0:1636954908464294734873238356134567494583629002794863673644038288728942651859319822500 -sqr:7540143721140140666472157286788379305,0:56853767335449087373733223381002849374201673267193998122596274388552283025 -sqr:-5262011646580039205673608048505741906619582985,0:27688766568743975427118675132271563800332472067380214865377259872310937555902021895301510225 -sqr:-7327313385175641658893891579493621423472131,0:53689521444574121181384482122663805719648236391922401719821519793880350881347733681161 -sqr:5706335860903446254669972577013696202625,0:32562268957432675122028129097936933650790091200861535522835758415216345056890625 -sqr:60764795039857320711933375802630887834931,0:3692360316235868846208377282943565982855715966661963445194081550939587924703774761 -sqr:6600882114332387632455874953453879300978,0:43571644687313212152096063287158210620222118112302362027400043627924277911756484 -sqr:-2251822567054969085004683861579459385511998,0:5070704873498030741204798440716913976082340904309541108933200404386498317664601952004 -sqr:2529814352175492857421615283607797166745474847,0:6399960656473108602788181861993114613603433429900229071740736287078399957217499951509673409 -sqr:8879583655989939149712696359705781351087498,0:78847005903723654012446892603376809645393741694579508469156852345582458114307251900004 -sqr:3351414487201377754699699738698168276843,0:11231979065023273817960765077734203806947341396425672066505356077057923890046649 -sqr:493311088492211553497370970192138517368154,0:243355830029370578206188770286494126657338190622766247718762414035192416310773367716 -sqr:82685877720710523061992100323174276509125450,0:6836954374444292844442742416877544049404896861094638922225024615086673653057123837702500 -sqr:647294863666837620786899669173664903756583190,0:418990640529469902225676759601758499930370634181067199099319436360711522177979263390576100 -sqr:216273949195441394151753549195148053993499942,0:46774421100592365260727829266381968975002672686299927792795537237038284660867986754003364 -sqr:3950961225764940372370426740411682156774744080,0:15610094607498000126930368549421600598238504973066689872189952445984103363005501349495046400 -sqr:-64567592264420980155379737156740169852286,0:4168973970824515995743765693939003440464366784937500483094535902887465079059425796 -sqr:-5393776308108858222846593366287251097190,0:29092822861916424670653729347861600362879624868296884894957063675916858825896100 -sqr:4421257035474409230652669129710743041139129999,0:19547513773731961522209166180650357790395010294343310626102311499057900780186531074621740001 -sqr:25745585348235541052001355061838556004714,0:662835164923280565618572665499610627882266313568159091349035783688149905990221796 -sqr:3022361477414863092264903791427345647050163,0:9134668900161353985753195181966102732074420111230027247692488593788588488383438326569 -sqr:16174126083338739712392546466600144029545,0:261602354559738560524227152873205540857880607788363443574217951532138509832907025 -sqr:8536359038962118971924046789322102135506936,0:72869425642070271408155883035265401649238199527773293064559915981755136561073704108096 -sqr:16829452309909947550920920604869233567741,0:283230465051533269305657969245471380416496809799098078990297800266415747635843081 -sqr:355623225691640883087356495814808440781511,0:126467878651327748249114458690580697745795910662947600858514518696687118116439443121 -sqr:-4209401143443034381092730841013060610254,0:17719057986419525309516357045133676283967190690277715809293823866768206889944516 -sqr:918167948787358412274755629955529806721807808,0:843032382180385220097634047295256324836379578514035039013396468142117850016057007689764864 -sqr:938573266314205341044186153980377755729062621,0:880919776239716222375696294047377432376471646919887673869340040964527602792324015339389641 -sqr:-337834833138283209912173119871827704113293618,0:114132374481571659273888147381589921838671732890472824055868207447165729730421587879529924 -sqr:3347677785850637302491730901579246582150171,0:11206946557877825427011369191220138899303204964536294325376558809200796800953595329241 -sqr:4356645141393535940709418390025017847118962,0:18980356888027902768955973980307120610625051788598446346637986213696827755243779957444 -sqr:92826772426011694027779601747722647943499793413,0:8616809679030564963186880963791809918932126468805307429201291100830072265634908592373678188569 -sqr:51010376762258960953864569830757574823681474404,0:2602058537427608996290624274755631383147159000024273704429828958236707279671443068347307155216 -sqr:30382831063227602873284055143189355113414,0:923116423416628149265937489922124060523986868896196859513517045335380028802735396 -sqr:3915054492997401943585003235342851158415,0:15327651683139143984118805637794267152206819518847446899400091861876507425312225 -sqr:-4641090311724785696843174695620414415792,0:21539719281585668471865797038997005291814557178275054719466959614202528658987264 -sqr:-39951447861070793408634234428218891908517431,0:1596118186195858073668911179663982468054349199578643473088622372024243339381964430839761 -sqr:-555198960224555495005823246552894089948692,0:308245885434427554629461691197291076483738765823061906226206596488656320063192510864 -sqr:58589016716833637943477313441669085819261,0:3432672879845411479467663313022248204450828930033468407431125219807738163558586121 -sqr:81263647890474008516998822691088790271345139919,0:6603780468466940774544731497500550809853395908650543188970162129807619747633000977661687326561 -sqr:5560457512376932639583447838381337320337229849,0:30918687746949065998721620382358683435170457483405007324210641546498211977797053331056562801 -sqr:432730426644912729122981083168165400551009,0:187255622144288196428332849203454859775636894202341850981185369067975298080810918081 -sqr:165634868693456077262813338073145431993831748,0:27434909727098436123329108213498577822229788099353666621117280426073913085588319332735504 -sqr:5136036432296350718059822910992767783245508,0:26378870233875426793297045400748869895784309008118709948631066937426759954797802178064 -sqr:52495461812056415175919972939040513752659169,0:2755773510861073404770251585451023468741709259421767644302188340904609910323218679770561 -sqr:644921741309901067265662755007058628663417209308,0:415924052414194952773497338448414267721637881779193538991963654588957862098729012454014681838864 -sqr:77219986751846279294740383367169789369471081163,0:5962926353955314887856712243839730087619098814350842401405209118435169818950049029756133432569 -sqr:-406564763021417498306152266546407011266123,0:165294906530661369246246104614399625280534743301156579253890792930213067047527451129 -sqr:77332635435051704171741918986869908321498,0:5980336503330614478952575573159205861850436194935556182332670256809867467728964004 -sqr:-30133226652964637636178317676292739183072833,0:908011348518938418160952049024705846190373876758216571799570644467898365634836182645889 -sqr:843353980371530518867911928059756715267687917567,0:711245936208503883695472164087598868479574150979252250593440597707343604621646246021356987199489 -sqr:52416664036135192338300928811249602187501,0:2747506668677068472049940358100381783185000537820108447834753651234627284360625001 -sqr:24936864359653987871165102360085320772025101390,0:621847204091781294552778349831227902040956037620708005774854493451595520123946776239779932100 -sqr:2505909981582499443571901125584999220379619248,0:6279584835794802700486852245258742443988754052584342546884836165850470328098083893452085504 -sqr:-73977703479204885730664268429435963708518,0:5472700612057162655101360993309179348039302715439935757192986595911588767665756324 -sqr:-198589249704105435037679342682866043073186,0:39437690098039540617666518382007710264897977029189581552408645429654317451352190596 -sqr:73328039448018528864208189941878255640285587838,0:5377001369290161515275169918004259959150861969199997507466059992543980522974959373053213514244 -sqr:535683488298987839878819855712326543532053,0:286956799636171841961137163658674435700232958301938352313323115244951797648638394809 -sqr:184063216702015429721557935438113110817744644,0:33879267742693091845169539821262585008285349159029510408323623234301679006071982790686736 -sqr:9676294432856266922797489910606089116869045937198,0:93630673951325184339475444014224838280508945273159278657409367399182897368794695514896350160091204 -sqr:-2663749195133384508359036407296314458167292120970,0:7095559774573753778551499428892681382031491295323466926688594859703932221913778622258641113740900 -sqr:56186493557755840121940359083662314213584866639,0:3156922058315738524532619454274852899939633083172653727996908969426171204418780549199415156321 -sqr:144196799982597573891264558388418615203807,0:20792717125221251686070638980516239709909762281452172068877272181455090376147293249 -sqr:450542969038187905714211262451476459135879207294,0:202988966949745545842203931499090333856324212634176893780523587535885897796107342866845822802436 -sqr:467808110665735390128574258585344541690288818,0:218844428404644929675525571476567575876982168069310375514724173646708352135783728255837124 -sqr:43329024140220466727250156222903487498123397,0:1877404332943807955894226235179737256169220753410657867280549089825917543297596638819609 -sqr:-6438501793677256617789281924089504319534108161,0:41454305347185250745373491255204904408762383595512409623526297043091627263730566245646801921 -sqr:-510407326611660928505767463487707749496052517369,0:260515639058862714248740984693664668973511630313643512343292186231469444203704884750122046682161 -sqr:594859310867495622564465375741063919562317268,0:353857599725751795685985263032949412484008176182571404388603629978255638007107293890983824 -sqr:472755285423104075830726552388870346265278901544,0:223497559895480601087050545047908867496351886554740936596802968200467105106203324052391245583936 -sqr:919376689556435886927444595022970417850392,0:845253497299751088037885686267060750171668735078243780695626798158701607430094553664 -sqr:-57876848300975619887354759108579447562241954,0:3349729569254144498438740796585193942967339615854670325521241615639822207154890837738116 -sqr:92443624150723929520372770653993712765851558123728,0:8545823646120308559485384430414356108540247254855261339713154331207835436289869077213927151756617984 -sqr:6356695791313384685269608982290373651589003464257,0:40407581383301297900732576196843555338795405220256471898087562078412738286830831265520747076562049 -sqr:307127491594185711277517789087998032847443,0:94327296092936614738485546027297758808557937399435107006033165112073657182511638249 -sqr:17428956723465902727803305936369912233011708,0:303768532468447295689240001394414945439324062976254537841546907447929084153848065077264 -sqr:72297817711860917755762192038277545133731492273,0:5226974445897470229462257539080517594348715584296818355233250622811936276677931595563458706529 -sqr:67252278294589637192130214244481638653946844,0:4522868935812932439511615502129787436243727493914417949589485803608267599747418777560336 -sqr:233519289964558213430232864885327053119123532000,0:54531258785551418329049006520631935794109261573329320368381923668902676071212807876155024000000 -sqr:-563139419418908049216270219501394613917054555130,0:317126005703464832075631587212216737604993581567807889138062714550857544319576086464682209316900 -sqr:387346925081870204031788982970764929245794451,0:150037640370379968568374859913413077524950740578939448357312222610670070607632870142391401 -sqr:6548128948957570787901878097677042348848668836243860,0:42877992732176180696955854123775448728390486486456039969161855812399796757319019743578067660753387699600 -sqr:3936261343830022028126989725444688680102839,0:15494153366930530895998393269628264395230650631049274762266477014870155078335615859921 -sqr:-6668751893614929632721278392171875150277412,0:44472251818592709753921778491551103916600149753115944646208009229845890958300557417744 -sqr:822791736100600708215338516228167925437093404964,0:676986240995440558720776181683504597370626325184035707987923521578936602522691804063023299841296 -sqr:2255604311982997704851854524113475159961890,0:5087750812236292443500181849614429747419680925075316427764315940109096523306252372100 -sqr:52999724285024877184966735916574085712319285570070,0:2808970774288655729113448519823998478249246548895966709777902921010943548779991866954934924879804900 -sqr:8675455794622195828232781164728362446211729095767700,0:75263533244443835242476547921223757363355239874534465194829970026093679319415889649583007878052363290000 -sqr:9766818189510276491458799796620669154596997230,0:95390737546948795157658200093224007046731125703431784850732659642141281407725292532627672900 -sqr:-9024401376963549724600495802510085357805727790,0:81439820212541612297986698812686168419623022133807410031655461931147272504463139331578284100 -sqr:-164402463040098189805763808555384663595781727680,0:27028169853650851333425988271230481834028482476783289514442582861911248333185010717365678182400 -sqr:8209632913178182128605357625511278362817287,0:67398072569138485304045634372020174804374820709272995681812799898811875361955746040369 -sqr:7849224085998259155678225291216074629306321405059,0:61610318752215206841639102273634107076695214340061949813699902301891202503337597099419319950793481 -sqr:84268602084300522449759528578955949436191540691506,0:7101197297242178356528279504357739226784541729116446371397131837835040302245005109217734596660548036 -sqr:6902994314778717651425565958771304030675588082954,0:47651330509867297636610632795902289548938744057689235679157410009315813482325208267069460785366116 -sqr:50206220922066168700530370919092488455057426610,0:2520664619275314690877903300166053204159444860750414396463078163212160418801872872915536092100 -sqr:96072567275642889243275576425042150057804998,0:9229938182932928965775346621497651355565875548926029234561161694019317264672817793780004 -sqr:-6595062761346074146596020647362793948252580229123,0:43494852826093704554640308679361114439497638530221613744048447331967293266246352267351827177349129 -sqr:8568149081811385177067925203516520860649420,0:73413178688145282880121477119739180696541954507523244741188166930150537554224146336400 -sqr:49248502660946919517092747877001926974328533013,0:2425415014345295812313592875146328669679484501975145885494533043030190389627256319264630858169 -sqr:17904856181876925295665552266562559466201268258,0:320583874893696347362514229991660521224017219129814545000338054375384201139526969367678354564 -sqr:771631948578145161796849085547411200917340758349,0:595415864066505259182407508395039909989724181602136362998216709114978732844986284528318413205801 -sqr:12382670011838180563176688905711438881735913656016,0:153330516622076566768604699870546073103022701784337888662872589882573674742398852825302835572992256 -sqr:79887086905840845071329751273276580577004634220257,0:6381946654301367805599628548194540727819498426580860632249477255744128432673947273772575390389146049 -sqr:-30740506384917649516095908074870705315727017255,0:944978732801162777072483626498071187718358606407147765800812805176218918541578974739067735025 -sqr:2367793261905004127519128277205938124388123643062,0:5606444931122739470452985637552178996115400052104533840285616956995976414363107753679718780735844 -sqr:-7205537163239928136782948117253088856431489639087,0:51919765810831710781135325357956163524444034169223786198198403577770151672808946737583429518193569 -sqr:-87222501875881575403280138643647476695025770484971921,0:7607764833488164940156888723183272524826225411571931628845909517856498792285963403271657878006104158430241 -sqr:768592553397196739913804827364926053433680074,0:590734513137622721905021754614420272988265613837215107708841948464515520527214250584645476 -sqr:72654430008231434800757497564201500782485093291413,0:5278666199821000407130155626386018512614357611234992080780160725379258284115224662271305897739536569 -sqr:5294979779912456291593332485003094781099145296,0:28036810869681764068248622882698671835224328885732252901436697669373532746966430141718927616 -sqr:-225524330077841338311518714864637992502982300827,0:50861223457059131344076452854745359154811942946783092141124606168363630406185633713222724883929 -sqr:76300515665590045878902542341914483141905465924,0:5821768690834952001877892404074353487780621638858283497181488390792314668694315843107525173776 -sqr:1367671021590108635537147568793462718551758852,0:1870524023297331401480243199414359851331324615117918733772848624680091553081397302760357904 -sqr:510148602546875823515395311882287764490427522201,0:260251596680530277967028454013847983210561613833634354975554290871003699196080451660212347884401 -sqr:-431885828352074513804191534183233827345066984060724,0:186525368731357569947997844493090345640360420960321598190276095427440182661892141310259951076519404176 -sqr:-809483217718253905386013436699549868896275873002,0:655263079767498053425256239691815322385021649460858579931313119375600071847578167997497232492004 -sqr:7093947060113745921407567380188169090451326617,0:50324084891696458689525345491512385227204357117921476509864826534231186457831032775212664689 -sqr:-68080232880306501903664558878954222691596262631984,0:4634918109036766536359386931180300421938059628159541879284111014923670444055728559424188487019776256 -sqr:123732084807188820529492594422304230836960515452,0:15309628810733366542785996328670362388267452693830627108998185467309957713222828345677530764304 -sqr:7540117648567179857455046065990308358027888235,0:56853374154234257609895527408355719669136623351747723531173678837172982618421514013651415225 -sqr:-45060593639989118987524402495961714937398249804074054,0:2030457099188227839836890779305097649691764560779479754889468083163520905704358745278334218397976315994916 -sqr:632053029293918960044415400816420531501630472353905348,0:399491031839619579039593812314125996580654591892869493458792928066176249648663979069801773646377507343001104 -sqr:3817746132424122174583264307874535849181410143,0:14575185531639343007201251665616569687900232059519506674273338124182781949884342453983280449 -sqr:-601998309194629269720110854571071245260480241599,0:362401964273192463544703828120443279897492192836031400769571647881320007895533397773473410076801 -sqr:149189674784531010082775561427484020603730152224437164,0:22257559062314127889768903830566720975053523644513943276233173866428033619416786913180630322709896584362896 -sqr:-667952680634617065225948909891271695652859024779524,0:446160783566970739385553579285903168560292605633974252482379900185517391327443619782431132256809666576 -sqr:896442187023978024135817888181355581875489698966,0:803608594676332793793077691071489566065573314613637479558689073204033255413470271487577301469156 -sqr:469876837063508044888529054004029741634188262,0:220784242008806487516585370721594781809415657049495909138954715803166606284395035658580644 -sqr:333460505499634389071621746836449438345651158948851902,0:111195908728071696640013460481101860680028270768188479169081462544951631246428196028946634293924963929017604 -sqr:2786546981347699152350591332346527753272696601615332,0:7764844079257974407678493361975288835463281192151603359405015138569536085295805773150543091151697470224 -sqr:-73071180676220826524286202896313207937408377936310398,0:5339397445416907926684389231894822147916634835106530498340816561362917793316088182837322991485253402918404 -sqr:97268643839279074792000245431060117711471587597076511,0:9461189074332523111016107641208277216000335342535735276099162974736485081225309337128089039686273987933121 -sqr:5373770600769362045085178646946336003315453933096,0:28877410469693110277861132973833648845693365290082720947082539067604050573484907294481735644145216 -sqr:7730022208425583302760731266174266674824479287,0:59753243342752732027570001943282813441979961478227838695136173133534955486934528970692028369 -sqr:186015250092269625466554459097460746814672772260764,0:34601673266889614905648672478996105551510265225901936707632047204975658817888057802926645503613863696 -sqr:4815666699948553139200366699245624686477868625356,0:23190645764993388131257987862178276692328734350163125333215390017611850098020996699531633086126736 -sqr:17081969233179688351760402283975114660908394799,0:291793672883297470081631634308890045217155311366254116499612450017968346005970487790850250401 -sqr:-43332131748563083907399274032132960698499791186721,0:1877673641874828787625525012286653311094511677166880415689214828901799869432475136212839985486731841 -sqr:1898554232540005594761509086534555991176474523590966619,0:3604508173895569638767886256267002152378977439165342675620569566281281336502387804811587491743137018772291161 -sqr:-6445244173897779327967913685216339870247860278566770826,0:41541172461163267894256110942941660309957282870559131430664069420103268562436340311324462473310528425204722276 -sqr:65847514811614176821263497363221055127791917392687769,0:4335895206865748400390819297884493082375490967259923170455114945080901924156961634452124720130029922197361 -sqr:-28264343742850718502716299981680971000837535755872043920,0:798873127214024562941629848748102397995321372847598546364602780290618822199779680422856795951621179798408966400 -sqr:-282181133469986333088832466973840605999043481716,0:79626192086406241151931423646013826941082487042406305406535152992700626621319634719227626304656 -sqr:-434247247729195929964308594117079054346013291477644823,0:188570672160381659752938334784076794251905170787774464494097399065847591192000757928868479498829562938701329 -sqr:9240816951257803833721612536356214330313434983018109831,0:85392697926653572474441387898710779160646698736295404941246735442747843749195839063211719258143563711978848561 -sqr:-553437984914283832199711793939722097864052715723678494,0:306293603145983058628720487059837183281755876058747737586115542682024534807946633420427796579332982678108036 -sqr:6047211011673838976527797824201388483565752195,0:36568761019709335078453798066472987505683172242522836648346989500201360601930015916147318025 -sqr:8955137550631297248650463364979038566397939600995033172,0:80194488550726709893601438825399931426591990165490900865830781031863248149485356041714708909894913413380381584 -sqr:790779058506749058766189248617038335165057845224,0:625331519372820450923822161102637479423295357609393493544855157664620164122653416349989939610176 -sqr:924579527319299462598706457157008969788011018317012,0:854847302337979221303684560755968979733480484179132343486688206396061271407117703550270221776928608144 -sqr:8261040079039720082284754517273813743276045370542446932,0:68244783187500584624392647600687253970401912865126265782976546569564017937607883404257489780392858354036212624 -sqr:81648112117151901296706874493743067927111503972,0:6666414212295007129897504217103504480128611223900886718005747056017651759771665045223771776784 -sqr:7899564578684868309378186947806084222206879072463,0:62403120532812640959186386238692291461262959507356112939970796721050816677313636908195151204886369 -sqr:202875148688606841162017225883717133105073395273,0:41158325955424334103292855054548709570644287446922395354404946376369163111503043012196098744529 -sqr:-447599944273190621944023321274152349834427894265443,0:200345710113363350241573135392171477512633083999735087675041776698945249056665566679475323004543986249 -sqr:279448269247759221729545915827816901286962304397091,0:78091335185568132343602216620236567337871190952067796247538287572338846008514454214870712673009262281 -sqr:263048068751475889817576462013638717456577558094,0:69194286473881186494904734527044427456680242987310636245194242896044320271253317351079944912836 -sqr:4953918586547460893294750792007989508019383275031399,0:24541309362140392785101770879220285481237618136650376029112407574731123149898250836474326855904435897201 -sqr:4471437353356145807877658377771700534452125783017614265,0:19993752004988613946043886485552363304372507758161087249440003657966157279048035653082325835710499252331490225 -sqr:-72098170677932326230814230626869993207419376557699079862,0:5198146215104260669761646225033691215158769193995972929447181676171580708713242869981328524528675902921453939044 -sqr:298429988994779695408244160373799551781709296663708,0:89060458331424330116238562159365179356263870750077166569310858891659319712469121280685043299644309264 -sqr:15631841203855394599569166381728452039734506241667,0:244354459422551272302469662109502580403312226387630490060815637724042398254594605237073781406938889 -sqr:660426807315003637221713949061982205086603339679753,0:436163567820288941746673080355640275297800545472250496547078441144692622864124308034416680452598141009 -sqr:917392439916950305180360768242753564177817712397351776809,0:841608888816775275663208862326623620567046837893704481168518555441621791638059053430461906332510516549269350222481 -sqr:-155846450238268495344369959195559500580543629842832,0:24288116051869098349295047128215656778566742131145679653985424636366108865305515159091137545021780224 -sqr:25472033362764858072900019697941213135876145681845377,0:648824483633806003744793667544511819270248356569452159505562928008016765090401968998670090576448136272129 -sqr:20189277289260360026888777803572924468097073267041778216,0:407606917462644151076725849420885819139012157714254702542998040670975149459822767551525742560834848763332142656 -sqr:325204287745187960673217120597871887240330145314572,0:105757828767855008418740324132756067538697480557296437838517344014269355767453319221651293844835543184 -sqr:-6414722934234222900958263644266120836831440017886,0:41148670322990518384944829118717910442843247950185748761142292129209592995146647048734271999908996 -sqr:312301120272909624627968726242736198455177785970818842,0:97531989723714362934668096275738607603861443157722482847186557044333833343486010148981998218139163982220964 -sqr:9028894954680171974419101406148453477562571298124980366,0:81520944102649064731832317449161331094564889092209138390941931719546194698076589489252890701465890227885493956 -sqr:788806307332790616113150948641884167876975922667808167,0:622215390487992922911688182036473235781447944210433463649952255548713919326836326920237228393877695911899889 -sqr:8462072534820037419699255083511733952413272276484107788809,0:71606671584555613408851055334596052520163369900719944476255980385358955582796459794726778717991205869753539345638481 -sqr:-685942527221288609261737584619270624284127458641912,0:470517150650728264715592414998231622951986855228964433454490078408056889339366486340487414051443015744 -sqr:370058929694186697058774342888571633336040599274254758,0:136943611446407012761130137137417712864012148304763406301401028969847631099408086708759895389055756285638564 -sqr:9704187879914430313664077393665195769441512689418966870566,0:94171262408678125773934398641195191307284789234258975677909176503419014249751224545097316770934552462579867397160356 -sqr:5925798128737745925759715663331423546607679889144875112930,0:35115083462551771236157369162138315687265847656064728641830503311468988183199467328159949805669318527886480253184900 -sqr:33488647002377175259885536134537076443400396426003731,0:1121489478049825766276530922246725189111830952465458275864281151986139799264328218398374227234130825920361 -sqr:2123735232819297700815836330311374814786388785356210060,0:4510251339118036610109622239017828107705345092062097267522409602229318236281318584088873097703239806845203600 -sqr:29872141162702890384989735017623770258183788742075,0:892344817644448391848145835628174663828417858780217507228848289828118687946707014712413510875305625 -sqr:7532139657883258576470960593627865781553593844952,0:56733127825857731552224724505206926449807777229886757388281330093349393178013626920192739015882304 -sqr:845457525713874120263223171268947077567681659698840902652,0:714798427786226119268210281388981030688454506537030966614579539102544522728409887855024503885468326555462140633104 -sqr:521768158545019160169259844676904044401662888508547040917,0:272242011271460250849489239712473973544134037328971616162419516920558472338192391022931027231772869417436872200889 -sqr:8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973375,=1:71448348576730208360402604523024658663907311448489024669693316988935593287322878666163481950176220037593478347105937422686501991894419788796088422137966026262523598150372719976137911322484446114613284904383977643176193557817897027023063420124852033989626806764509137929897881780377071828193979369536094745977623512725964279515528917451111552087757216338484610394583686853163069435510427134801022221259480105632478261997058761512146362996413333996057383868504433356414886358698618132135318758644287722813462338791398132036589335991224708890625 diff --git a/polly/lib/External/isl/imath/tests/sub.t b/polly/lib/External/isl/imath/tests/sub.t deleted file mode 100644 index ef5f97a061b..00000000000 --- a/polly/lib/External/isl/imath/tests/sub.t +++ /dev/null @@ -1,849 +0,0 @@ -# Subtraction tests - -sub:0,0,0:0 -sub:0,0,=1:0 -sub:1,=1,=1:0 -sub:1,-1,0:2 -sub:1,-1,=2:2 -sub:1,-1,=1:2 -sub:-1,1,0:-2 -sub:-1,1,=1:-2 - -sub:103427990038,909510006269847,0:-909406578279809 -sub:128593002,-9007199254740992,0:9007199383333994 -sub:-65537,70000,0:-135537 -sub:-1000000,-6543210,0:5543210 -sub:#x29C932F25E6CEF8046FA,#x29C932F25E6CEF8046FA,0:0 -sub:#x800000001,2,0:#x7FFFFFFFF -sub:95031018,=1,=1:0 -sub:#x-176E7F8018D6BA4B550AB36AAAFDC78A9,#x186DAD2485A41B18AAF5EF17922D7E5F1F,=1:#x-19E4951C873186BD60469A4E3CDD5AD7C8 -sub:-628443782411312,-301652218193016,=2:-326791564218296 -sub:950147,37133897,0:-36183750 -sub:649972385,297,0:649972088 -sub:505,9,0:496 -sub:33,-2638,0:2671 -sub:-5,71542573,0:-71542578 -sub:4,475357,0:-475353 -sub:5,775166,0:-775161 -sub:0,20805741,0:-20805741 -sub:1,39,0:-38 -sub:76825770,751287444,0:-674461674 -sub:-5846049,574445,0:-6420494 -sub:501105944,54475,0:501051469 -sub:84350933,594,0:84350339 -sub:1367,-96716998,0:96718365 -sub:49879,-426695,0:476574 -sub:4,2,0:2 -sub:710883222,2440893,0:708442329 -sub:-68,2096377330,0:-2096377398 -sub:-87838,-485655,0:397817 -sub:4683739592,822,0:4683738770 -sub:2849496,766332,0:2083164 -sub:60422837,52,0:60422785 -sub:-13318,250,0:-13568 -sub:1,2001827,0:-2001826 -sub:97481748,62763650,0:34718098 -sub:1643,636255899,0:-636254256 -sub:-400522,-40393280,0:39992758 -sub:45568099,22,0:45568077 -sub:645024401,860182184,0:-215157783 -sub:37244191,-976205,0:38220396 -sub:-27,359887,0:-359914 -sub:27528,8076231,0:-8048703 -sub:7298,58548352177,0:-58548344879 -sub:71847293055,573,0:71847292482 -sub:673824473,27805877,0:646018596 -sub:449,53709067,0:-53708618 -sub:40569,6538078687,0:-6538038118 -sub:-642338,9669221067,0:-9669863405 -sub:209745,-28,0:209773 -sub:2488518646,-1846396,0:2490365042 -sub:581,539581676,0:-539581095 -sub:-86,16372077246,0:-16372077332 -sub:82972869,96,0:82972773 -sub:81666,-224,0:81890 -sub:3353174666,6467525,0:3346707141 -sub:178,76264272942,0:-76264272764 -sub:67786255,18533457,0:49252798 -sub:-59339460,8103,0:-59347563 -sub:427117459,-6532,0:427123991 -sub:-514830072898,10894,0:-514830083792 -sub:4160587,946181096,0:-942020509 -sub:76936,1066849,0:-989913 -sub:-776709551,28397881,0:-805107432 -sub:917,6034390,0:-6033473 -sub:5528,-1297,0:6825 -sub:303,37728739196,0:-37728738893 -sub:920355,13059,0:907296 -sub:55576,-56300,0:111876 -sub:-85278759,67364939177,0:-67450217936 -sub:50472201146,-89468966856,0:139941168002 -sub:7257002442515,-4541182637,0:7261543625152 -sub:56005,-57203,0:113208 -sub:1508,8778323669,0:-8778322161 -sub:7477,1777344,0:-1769867 -sub:619620595216,-271826,0:619620867042 -sub:503021,559324,0:-56303 -sub:46990,601026675862,0:-601026628872 -sub:630276867,92393884,0:537882983 -sub:64847122,-1741761,0:66588883 -sub:-901885041650,6063747686,0:-907948789336 -sub:9090817588683,-74217059906,0:9165034648589 -sub:4643353802,39676050,0:4603677752 -sub:61222313,-991211846100,0:991273068413 -sub:8145673172195,79545920286,0:8066127251909 -sub:4326733518687,315334416,0:4326418184271 -sub:65122622889524,686861271,0:65121936028253 -sub:91927935495,815931,0:91927119564 -sub:360036184139,-929647,0:360037113786 -sub:851769193,5104213614039,0:-5103361844846 -sub:49764,-1370901,0:1420665 -sub:543849288,7706203685,0:-7162354397 -sub:62844,8576091,0:-8513247 -sub:-809058073978,541423856,0:-809599497834 -sub:-2639589,58729,0:-2698318 -sub:-79585473,1798247,0:-81383720 -sub:316852976150,-860129592,0:317713105742 -sub:1273939285186,11601,0:1273939273585 -sub:80537932950,292617381640,0:-212079448690 -sub:5467548,5430035835,0:-5424568287 -sub:-5937877,24003123599412,0:-24003129537289 -sub:684651821908033,41369461672136,0:643282360235897 -sub:1137993337,2322246811872,0:-2321108818535 -sub:7374342836,64650413647,0:-57276070811 -sub:432132,-42261483441184,0:42261483873316 -sub:83231980056423,2783677270377,0:80448302786046 -sub:2587541968775,479202225,0:2587062766550 -sub:-928954175477668,-1742785659277,0:-927211389818391 -sub:6404997096,7343350521970,0:-7336945524874 -sub:727251429810,3193503,0:727248236307 -sub:77165840,-457577668996931,0:457577746162771 -sub:33934095603840,74283623494449,0:-40349527890609 -sub:3846088301735,-44249412464855,0:48095500766590 -sub:24497022452,4724262825964,0:-4699765803512 -sub:463651487662200,-753243402,0:463652240905602 -sub:71713522960,15380043873197,0:-15308330350237 -sub:8294630828927135,31183461626,0:8294599645465509 -sub:6703541383230,44950919818203,0:-38247378434973 -sub:868891910767,8481827,0:868883428940 -sub:6321902376793877,-477388684714663,0:6799291061508540 -sub:-32763637641,66549351522069,0:-66582115159710 -sub:288533359019263,58471469888811,0:230061889130452 -sub:-751498035858161,527076997758,0:-752025112855919 -sub:1940356995569832,103761002,0:1940356891808830 -sub:11785051,32863482880064,0:-32863471095013 -sub:6832388,998030894437455,0:-998030887605067 -sub:-29992855,4391685016,0:-4421677871 -sub:-60108503487,-15310122633,0:-44798380854 -sub:-6477442216968621,60885516917,0:-6477503102485538 -sub:31744989963367,971914401,0:31744018048966 -sub:4773395,-699494329,0:704267724 -sub:158083905091,153315973803,0:4767931288 -sub:9257392592301,778762452,0:9256613829849 -sub:-869525659304,751325704189605,0:-752195229848909 -sub:-49703875573842714,4505925018715,0:-49708381498861429 -sub:-91664099,25339513330017666,0:-25339513421681765 -sub:469453608,-325915913621728,0:325916383075336 -sub:-6329249891,453489665443616,0:-453495994693507 -sub:1555896943,216164615094,0:-214608718151 -sub:7867736225,6515990968510638,0:-6515983100774413 -sub:47191079551,22909405,0:47168170146 -sub:480598620144,-630471272,0:481229091416 -sub:-44964236,4129791840132424,0:-4129791885096660 -sub:2078461471836,9510166882939211,0:-9508088421467375 -sub:3399372328,4480430653,0:-1081058325 -sub:37397829728829741,55828595309,0:37397773900234432 -sub:932684640397258009,-748484093750,0:932685388881351759 -sub:840884486710412,70796060480,0:840813690649932 -sub:2539205,16161203759,0:-16158664554 -sub:713637461058,6441899124,0:707195561934 -sub:-8173074559441,-280676331618304941,0:280668158543745500 -sub:430261608,4233937508,0:-3803675900 -sub:-131645380114748755,77441408953418,0:-131722821523702173 -sub:-31661643391,786373077474234,0:-786404739117625 -sub:278686734235471032,120592814722,0:278686613642656310 -sub:-2931231599090,18746712502644976,0:-18749643734244066 -sub:61029444723255769,-2293742672243933,0:63323187395499702 -sub:816220890520,640524790657208413,0:-640523974436317893 -sub:16665591262,113580566277835849,0:-113580549612244587 -sub:-868305701832,6230551669213729,0:-6231419974915561 -sub:11999732039934306,23827304849399,0:11975904735084907 -sub:91534672684829653,795520608093438312,0:-703985935408608659 -sub:-8985197818103126,141826190572801,0:-9127024008675927 -sub:390870406977082056,3249082110578,0:390867157894971478 -sub:88089340380,339939269745765,0:-339851180405385 -sub:-9559600885723,1043929655718,0:-10603530541441 -sub:7521666468386587380,-6553266884,0:7521666474939854264 -sub:8481985305837,8883976116,0:8473101329721 -sub:8322745787655471,-2367148822664118142,0:2375471568451773613 -sub:-1536130411,5098377844876093,0:-5098379381006504 -sub:-80409580247,-379667394325917,0:379586984745670 -sub:2780978527253898223,-793585194380805771,0:3574563721634703994 -sub:983228849414820623,411233979567,0:983228438180841056 -sub:4312344973,8504030055,0:-4191685082 -sub:6929160648081603523,-9139369237550637,0:6938300017319154160 -sub:40543447104286,922867012966969520,0:-922826469519865234 -sub:-32492268811,-52539511415,0:20047242604 -sub:-837736542959704435,-11698939306808,0:-837724844020397627 -sub:30695570430,6965534034801150,0:-6965503339230720 -sub:743449156492,-892800013061,0:1636249169553 -sub:4650491989907718938,9119100370137466,0:4641372889537581472 -sub:475327493368,391070618301538,0:-390595290808170 -sub:9789197909023,-2250068166694,0:12039266075717 -sub:3951486522961630212,41419130651165087030,0:-37467644128203456818 -sub:36289729721981,609158820292,0:35680570901689 -sub:5238096716643,857369737080,0:4380726979563 -sub:20927421747352,7859500562781,0:13067921184571 -sub:853523362775,-58650620319893709899,0:58650621173417072674 -sub:46324137709977166,3445427404517058,0:42878710305460108 -sub:8903783900,665953140969,0:-657049357069 -sub:8807754569337,1429027872766,0:7378726696571 -sub:-69086569251605,3823065660047,0:-72909634911652 -sub:74058749504331776,4434739153355644691,0:-4360680403851312915 -sub:-52234016526389,-2748494775019,0:-49485521751370 -sub:-6279254893906588798,625713048668,0:-6279255519619637466 -sub:3054225188071649,435737551736,0:3053789450519913 -sub:773765483980477636,76679006788618217,0:697086477191859419 -sub:9779893465932,7787153050157190775,0:-7787143270263724843 -sub:59561782129137,9069749963639028245,0:-9069690401856899108 -sub:-341767412794852361,347062438266855646,0:-688829851061708007 -sub:-9228152928357,640608182261,0:-9868761110618 -sub:-42043060859484,7345135549532130055,0:-7345177592592989539 -sub:19318981939433,264137322793696365561,0:-264137303474714426128 -sub:8745011564822621615,75690236981341546,0:8669321327841280069 -sub:2006412627556,444508404836,0:1561904222720 -sub:-996892139262,3687846060016536,0:-3688842952155798 -sub:591666758481462692,6187092701409,0:591660571388761283 -sub:17253871467666658,521693769674,0:17253349773896984 -sub:-18811272204464,-70402687077401900203,0:70402668266129695739 -sub:45980222925454243960,90960767776830610102,0:-44980544851376366142 -sub:-66394515686754,99465607502696,0:-165860123189450 -sub:-731492671961447493,42337700004380375319,0:-43069192676341822812 -sub:6642648198381310,-567336740547801378,0:573979388746182688 -sub:811917479145896,258859229290245057,0:-258047311811099161 -sub:66015593565297,625461142945341,0:-559445549380044 -sub:30440701155222429,6075207040555619467769,0:-6075176599854464245340 -sub:2751861052219993314121,760255884133587996796,0:1991605168086405317325 -sub:9525855084181563454,4607581127890,0:9525850476600435564 -sub:5557962211148071712,1921710471388746938,0:3636251739759324774 -sub:800293622218736473310,8120868065192,0:800293614097868408118 -sub:-45549550905111,-3937133121943669502489,0:3937133076394118597378 -sub:-81611168134401657674033,-29024094310537521258,0:-81582144040091120152775 -sub:473739545776060,-95651109326027,0:569390655102087 -sub:-9943711197250791783,5192955396843373262,0:-15136666594094165045 -sub:74362674758137703088,991218776208774087,0:73371455981928929001 -sub:8942190838160347,42915360862670,0:8899275477297677 -sub:66210460069722759,8216793402040737008247,0:-8216727191580667285488 -sub:28630228799120059057,-727654086775011,0:28630956453206834068 -sub:-2502191839260572,-609085018990088802,0:606582827150828230 -sub:-707403262721461629,-9548746126714505844843,0:9548038723451784383214 -sub:-42739413943936747053,7248311562458017,0:-42746662255499205070 -sub:46123774937019599821,521218568189626101724,0:-475094793252606501903 -sub:9415554602318087,9000595012272170366,0:-8991179457669852279 -sub:-1951679141829705122,-12285787616979339429,0:10334108475149634307 -sub:-4386967398151873150474,2143436435198250529,0:-4389110834587071401003 -sub:97977437591194303377451,642191000671555391,0:97976795400193631822060 -sub:83261682108887535662635,511317890231125086112,0:82750364218656410576523 -sub:41310833218589671,9897170076989397,0:31413663141600274 -sub:1683930885684182315875,-66190399132485560,0:1683997076083314801435 -sub:83038493375345259207979,58284882728646817780,0:82980208492616612390199 -sub:174833752819190460,58205143986480293592,0:-58030310233661103132 -sub:-51972688295317718162,-53017954844280432,0:-51919670340473437730 -sub:3049073769975215127,-8413940824249555462,0:11463014594224770589 -sub:66856363357316667,-37906703703222242237619,0:37906770559585599554286 -sub:541685788711205,813493512383742701225466,0:-813493511842056912514261 -sub:12039482877604486443159,-27784227929617157318,0:12067267105534103600477 -sub:2031498290041713,-706931410323604521481,0:706933441821894563194 -sub:793163145663267355,488093806957995,0:792675051856309360 -sub:-35932264894813,6608203939349524510555,0:-6608203975281789405368 -sub:6095035696899997995461,49012978744796870,0:6094986683921253198591 -sub:736660687461873,2928166059556503986320,0:-2928165322895816524447 -sub:-80752317921759003744482,-2784356502312865996499584,0:2703604184391106992755102 -sub:-55600025805872206,-7990044978835553,0:-47609980827036653 -sub:20131235857391244,745599894858331816,0:-725468659000940572 -sub:473379993971533482724,53545104197056246737,0:419834889774477235987 -sub:-7901274667808068,7310483319842229,0:-15211757987650297 -sub:611143500250518767744,565842823113937536426566,0:-565231679613687017658822 -sub:8702674605316149,74225958414698686231,0:-74217255740093370082 -sub:847520472084398906,-181833891734712245,0:1029354363819111151 -sub:882552741752125480,4287937154291698619767895,0:-4287936271738956867642415 -sub:1164933678283444,-605787688418745409686,0:605788853352423693130 -sub:8189990356647722508802,5327680305703219926,0:8184662676342019288876 -sub:20126414182234863325418,651586473061170891,0:20125762595761802154527 -sub:-7243913367665451229510,920916193262000838,0:-7244834283858713230348 -sub:241247407616518609790,849820061721310660,0:240397587554797299130 -sub:11610932258446222276,-238310622287414468083,0:249921554545860690359 -sub:333102694750160639,69609722651274194224,0:-69276619956524033585 -sub:489371802875965014118478,96271202587903139,0:489371706604762426215339 -sub:7344620696143243253130,-354550759273217997666,0:7699171455416461250796 -sub:7443029079637089736774,47397475977873627,0:7442981682161111863147 -sub:-552185046973685246703728,5086882342952953836639656,0:-5639067389926639083343384 -sub:34160638466370340264992,6442462400353615432715,0:27718176066016724832277 -sub:224642516163621778782,4567297709761777098,0:220075218453860001684 -sub:396245283577471672779404,-28835207585120519380895,0:425080491162592192160299 -sub:542742994231711454505,1493274706520691229211,0:-950531712288979774706 -sub:-4010437024179449951252946,6148766465731638330749,0:-4016585790645181589583695 -sub:-45993733981177457,-2333654032343500227394581,0:2333653986349766246217124 -sub:-53268979390855780768161,244917458799919371067,0:-53513896849655700139228 -sub:9597472083289623017,283637277496645411,0:9313834805792977606 -sub:-549237729763380362715631,4233347728399082996881,0:-553471077491779445712512 -sub:546810502069383982063,-5966616092961401439222,0:6513426595030785421285 -sub:2693320235570423841,-636227430987384270,0:3329547666557808111 -sub:299001294509600705281,-662976479255032381882,0:961977773764633087163 -sub:-9969627469592910143441654,-4697810125124307023,0:-9969622771782785019134631 -sub:295862851742112486,62089965837017871773124,0:-62089669974166129660638 -sub:35578586721878839413,524399278031861381275,0:-488820691309982541862 -sub:-579419395708175094375,-86888512465827623053,0:-492530883242347471322 -sub:6685264590200748832,2474399060436569565967165,0:-2474392375171979365218333 -sub:411194309664386491791190124,-758109583623796174126,0:411195067773970115587364250 -sub:63387968120454752,367951841292571472228663,0:-367951777904603351773911 -sub:-523269515783595554078,49060669022383177598,0:-572330184805978731676 -sub:13445326521609443648,9751080551639245658806,0:-9737635225117636215158 -sub:789739255835156800013,315101502591672711170806,0:-314311763335837554370793 -sub:73481634769773817391,7522066373372077852,0:65959568396401739539 -sub:59238938099041804756,-284755768386936014001,0:343994706485977818757 -sub:2345748144830635294766296,26772347379722903394664,0:2318975797450912391371632 -sub:-96180432920038812502,7130528324583233658,0:-103310961244622046160 -sub:-6103646636128907863077733278,167360991644513667938,0:-6103646803489899507591401216 -sub:89183651282796860734843567,650591691692940868,0:89183650632205169041902699 -sub:885385723843334016669166462,7959173204532632279022148,0:877426550638801384390144314 -sub:426509712333758537770,3053810150190399695475807,0:-3053383640478065936938037 -sub:-43602818211336693439,37720583430905942376,0:-81323401642242635815 -sub:42082335899892839012828,54006514124159856356378769,0:-53964431788259963517365941 -sub:744007647137500935704813,9607111119925514823029,0:734400536017575420881784 -sub:49316936033792930103965,-3034940638845987540137,0:52351876672638917644102 -sub:83874798574806162505693,464988593797915772,0:83874333586212364589921 -sub:47935017932067725904,525937150680246466817568,0:-525889215662314399091664 -sub:15759732742160839060899,8468547017336608217,0:15751264195143502452682 -sub:68081177675380449585,232838274961715380121771,0:-232770193784039999672186 -sub:198837569846432824894,74142127460226777613642,0:-73943289890380344788748 -sub:1898390184425605471746,-8609726339421831182804422363,0:8609728237812015608409894109 -sub:5010086610580228482335807,750924907754526639102577674,0:-745914821143946410620241867 -sub:3239772657087138659473,26630017052110857873,0:3213142640035027801600 -sub:30931222688688580641792927,47650975868262142324567646743,0:-47620044645573453743925853816 -sub:2618635242932069293276,-37969350588765740201326652600,0:37969353207400983133395945876 -sub:62748041061334975755,-8597227755884238992024742173,0:8597227818632280053359717928 -sub:73666512572900713065,727593598628012630085291831,0:-727593524961500057184578766 -sub:73065402278129705309963059248,-1510259437891597840030938,0:73066912537567596907803090186 -sub:652852443033404198570557,3218208198091308335983,0:649634234835312890234574 -sub:322654125619631317783651175,103982638102588159557510478,0:218671487517043158226140697 -sub:47298054366651393257588577343,25292337944252217030,0:47298054341359055313336360313 -sub:4969650998010954466,-5928799632879538310681042,0:5928804602530536321635508 -sub:94361219162537205953,-573028299187075717448661476,0:573028393548294879985867429 -sub:500487140938346964814,-666190790348527856857515,0:666691277489466203822329 -sub:2397057037367709886558,8469650679664722706535608,0:-8467253622627354996649050 -sub:5916454672457377863577802905,-301691311710205742681455,0:5916756363769088069320484360 -sub:-4732324961421982812667328,-41666595440544717926863264,0:36934270479122735114195936 -sub:7784556296620016124437432,295631109431335676271,0:7784260665510584788761161 -sub:-468243465340943117955484398,-86059014635749889021797574078,0:85590771170408945903842089680 -sub:7581798337258404983887829,286326330291344819121713,0:7295472006967060164766116 -sub:-59661872187286137669680,993451500121394333929486,0:-1053113372308680471599166 -sub:2962196560211918477855182834,429980300074111981923309698661,0:-427018103513900063445454515827 -sub:-117191815514577197960025,-93952901109567063533541898393,0:93952783917751548956343938368 -sub:972649124468069443877962,39940702160872858805890483783,0:-39939729511748390736446605821 -sub:52911349728309634554095814861,640041502135571284090,0:52911349088268132418524530771 -sub:9563434009347863250789850,39324990112287164371797250,0:-29761556102939301121007400 -sub:501256807694158654884,8345102795766270329548488379,0:-8345102294509462635389833495 -sub:73135419149054064613594459638,-376755188742340618890,0:73135419525809253355935078528 -sub:258128605755268399576,116154542754127542403,0:141974063001140857173 -sub:-388289190817020242752560429,683426700586684828499964340,0:-1071715891403705071252524769 -sub:77603273142377289304718668478,7907734025138351381355884534,0:69695539117238937923362783944 -sub:59920022083646756381083767,-676349674131765453090842,0:60596371757778521834174609 -sub:1386456963825362091135,5043324890371013843489776600,0:-5043323503914050018127685465 -sub:22908004694216963557562131,1437848391259187655742912574429,0:-1437825483254493438779355012298 -sub:75830204485394953668558224750,818650518003178932071960,0:75829385834876950489626152790 -sub:8072507208044425938387,2801437782939637080569080,0:-2793365275731592654630693 -sub:996986457053305310363710,4270654800444412431799788016,0:-4269657813987359126489424306 -sub:476227015634465030195295,802516552923254955041235580710,0:-802516076696239320576205385415 -sub:-3862793080955285675336,601225923445782883856004,0:-605088716526738169531340 -sub:34058788843087368388987,788661560182208367542729826,0:-788627501393365280174340839 -sub:75890485056733894277957536421,28898157540847408357479445339,0:46992327515886485920478091082 -sub:836419152310550927547976,-715832228817310323167747520,0:716668647969620874095295496 -sub:71149688455411718068481321,130052491916581090823794037636,0:-129981342228125679105725556315 -sub:3047224655714425540346555,583427698600273187296801675761,0:-583424651375617472871261329206 -sub:-1762508903601801463391,1123979050566438206073605513714,0:-1123979052328947109675406977105 -sub:75571713529690058494700131,154047782298368874362663480,0:-78476068768678815867963349 -sub:8881924107521011726353538,-3145465133030840075856549,0:12027389240551851802210087 -sub:2119385564140685046061904,42628989499638883272827242,0:-40509603935498198226765338 -sub:636137867409083757104434174,876963242090925483645110008648,0:-876327104223516399888005574474 -sub:956392636402263734252628073,47247440520063140522408813223,0:-46291047883660876788156185150 -sub:5565262347877821939981460417240,-985376663560828156502183,0:5565263333254485500809616919423 -sub:-96960327111310542205299575340,754323275128519456665692931,0:-97714650386439061661965268271 -sub:390903876504582680914435276856,409728963505921718859992691123,0:-18825087001339037945557414267 -sub:600683747782519279592349358,3076791699376918600719019341,0:-2476107951594399321126669983 -sub:9867764659515798940712578323,6357991496217721443026258037557,0:-6348123731558205644085545459234 -sub:68114522731034072566854092812686,62725405971469064330284876,0:68114460005628101097789762527810 -sub:907396594886580376638506,-894708410482856602073830977246,0:894709317879451488654207615752 -sub:-30792046454713176872672190485565,-8017250846058869636998077777,0:-30784029203867118003035192407788 -sub:-18821866119770039003181629912,82441485710616151410107,0:-18821948561255749619333040019 -sub:80095770818874409058224,9316123957640218030400143320,0:-9316043861869399155991085096 -sub:-901755584000000420457516562373,-2517773106349772310667656,0:-901753066226894070685205894717 -sub:-883321569482669903165683,-44558935482820169589044365546478,0:44558934599498600106374462380795 -sub:601706200500617282847480732962335,43201582734874942566066864633597,0:558504617765742340281413868328738 -sub:3611141688653897808711895791472,54026584092810638450252354,0:3611087662069804998073445539118 -sub:-9089386632359156927536477163974,604640114580951133123734104973745,0:-613729501213310290051270582137719 -sub:-65911585682039568232806668,921349267715834145888878007323,0:-921415179301516185457110813991 -sub:740180119243741829715055823,420700352624083519085129,0:739759418891117746195970694 -sub:85012296935839090922311415,56044320231947385798897291322,0:-55959307935011546707974979907 -sub:5658315653448747612688000,4877275861716865293755139,0:781039791731882318932861 -sub:53078309233697402718315797802,786142563765269101788772678439,0:-733064254531571699070456880637 -sub:380283779338470154888541799,69789893061880576858724867806,0:-69409609282542106703836326007 -sub:-36819622867396721797461,-487239057841776678372530391049923,0:487239057804957055505133669252462 -sub:432355289983835194025265634880,722175859400496706671386831852299,0:-721743504110512871477361566217419 -sub:406113849743376356851682,-2948843385313638396180656653220,0:2948843791427488139557013504902 -sub:-450089373848778279085231682276,6922355877436261896463320824,0:-457011729726214540981695003100 -sub:-461778533905902103878563791120779,30903051263975616567418133538553,0:-492681585169877720445981924659332 -sub:2225847828886634429718900,-141670429280564340131559528873669,0:141670431506412169018193958592569 -sub:-518005307820181246928833,41493548566098807242410918395372,0:-41493549084104115062592165324205 -sub:1386972819787742372011414030306,6378199700569631039860797133,0:1380594620087172740971553233173 -sub:-9953467574634703627642091359525106,109232097199219102894213900,0:-9953467683866800826861194253739006 -sub:272224578522098768588271712614,-954774545043667358357735233977,0:1226999123565766126946006946591 -sub:-13397521090097970078307026041,-208746646957761968673045385061,0:195349125867663998594738359020 -sub:90242053814362992528569637627538,819378127307812972535514213,0:90241234436235684715597102113325 -sub:475879565794423355160366826570767,-981714991594839343058124009,0:475880547509414949999709884694776 -sub:73272944471878906655000028253254,9316121481273747448232884110081053,0:-9242848536801868541577884081827799 -sub:156124484535009677347773264807041,41067689846332812531537548182,0:156083416845163344535241727258859 -sub:5750622698618635176765494780582,8778936683577810871387349,0:5750613919681951598954623393233 -sub:752423753475915953095080157764850,110028403919321544278497683,0:752423643447512033773535879267167 -sub:986438424059798089328623129,944289987162416305345778315780032,0:-944289000723992245547688987156903 -sub:2940131992853959894009314316599,-6130856644000035009877295436,0:2946262849497959929019191612035 -sub:-60219475207618615852406049263760,245420985013813274904940493371846,0:-305640460221431890757346542635606 -sub:76132456058041997180166479105207,1333701621741713587577000118516444,0:-1257569165683671590396833639411237 -sub:551757239718514829275035933587668,20975678617718960357674898185,0:551736264039897110314678258689483 -sub:827026171479636357807858542315003,657266896495283042560293955528681,0:169759274984353315247564586786322 -sub:62029235723027056966248632640016,4720308399791420006433428083,0:62024515414627265546242199211933 -sub:3370077911228331451226459981542,56700095331827269676453888012958,0:-53330017420598938225227428031416 -sub:3514193210192659422357386965236028,5945062235433978181560378967712895,0:-2430869025241318759202992002476867 -sub:3725417532430237033267313551512,-29139588479237546460280773,0:3725446672018716270813773832285 -sub:86971485372454469574581715701279,76600079495825348746163163766060,0:10371405876629120828418551935219 -sub:52025473585241225053445613599064,64931994025064476703228951534248,0:-12906520439823251649783337935184 -sub:-46094956887492446679275334,4199288643419024266960740601763,0:-4199334738375911759407419877097 -sub:-199531081865328340581624098,61586813654360478634926776,0:-261117895519688819216550874 -sub:2228997256609098057220853694688,77983035307573853597859653028,0:2151014221301524203622994041660 -sub:-998325557636914977245575086,7667612449137815647454849829,0:-8665938006774730624700424915 -sub:746793137925798942820906830,399507178175236915401754759449,0:-398760385037311116458933852619 -sub:634724387005569029859717498,3437595978823543942820525964913,0:-3436961254436538373790666247415 -sub:7141573144886127523784053337066625,-390050969405812623337724114002,0:7141963195855533336407391061180627 -sub:-91403573621251855050085889821,78465471196357080847824505165565,0:-78556874769978332702874591055386 -sub:349658297262594920988266356059043171,796963132566625995186691340562185,0:348861334130028294993079664718480986 -sub:-633893601713106197757857736129298,86189806992731837430692951480,0:-633979791520098929595288429080778 -sub:-43900746259116235552821471377,591055471482916203481396667491207,0:-591099372229175319716949488962584 -sub:2557547273135447028597996609,64663579124550082208338293785,0:-62106031851414635179740297176 -sub:94701712281465414851697898675451825,1024428303725598723580617161,0:94701711257037111126099175094834664 -sub:1405995388343974884472280878660,-220054432405512280858363563,0:1406215442776380396753139242223 -sub:999816594826990228141732119822,984552280063995997341773813089627665,0:-984551280247401170351545671357507843 -sub:5838938294141788996592039893,50902237118539094354421180186316,0:-50896398180244952565424588146423 -sub:599678492538583548148447971111185,73667844355412382811962121530977,0:526010648183171165336485849580208 -sub:6395778081807663524044632168813593,867149393095359006170012722,0:6395777214658270428685625998800871 -sub:939460433716954373684816294933837,474277009046118167849279293527097,0:465183424670836205835537001406740 -sub:7816286294597662244110191807959541,6233835682136551847146227987794,0:7810052458915525692263045579971747 -sub:23281631659668473110100795038996,116520759657498664805703882673,0:23165110900010974445295091156323 -sub:46391396072715161551587488065814,33356982434471244343742063785074041,0:-33310591038398529182190476297008227 -sub:4585954807809352935161825310034011798,-54552397859131970401808336962,0:4585954862361750794293795711842348760 -sub:2422872895287330189582522753,4480479893211606075278003418285,0:-4478057020316318745088420895532 -sub:-13361745527437011657973841351,984220774495913608130872189292612,0:-984234136241441045142530163133963 -sub:-52685529704743149299243245793811,124512071496978690744692284754346701,0:-124564757026683433893991528000140512 -sub:143835388043216256200766869526,498925860575853395417250651462811889,0:-498925716740465352200994450695942363 -sub:371250666979424888145103423650818,1951666913810216016291928636377,0:369299000065614672128811495014441 -sub:14113880586323385101587281089,5086582061966123909499437086680,0:-5072468181379800524397849805591 -sub:457422738047527621626918654730135,17793707850630720090008287485134930,0:-17336285112583192468381368830404795 -sub:75091527004493134510290819264195424,48439881910003416229205500079317137,0:26651645094489718281085319184878287 -sub:-37624201790320133398219479795320611,4305256066030674211442956228314751717,0:-4342880267820994344841175708110072328 -sub:-63359729740153326293762634,354591974904021002246602880500006792,0:-354591974967380731986756206793769426 -sub:9308446708313654525402624748223454,-60317991035211151378177464977415474,0:69626437743524805903580089725638928 -sub:120534458842619000629729516606,567080219552763040041011655657,0:-446545760710144039411282139051 -sub:-8121545527448089591108392261383421226,-250658045580063728305171566063327,0:-8121294869402509527380087089817357899 -sub:196379537181644459409584027643681,1405776248624555617885389492315342,0:-1209396711442911158475805464671661 -sub:249608305407374994198898962694969319,2499313962944780828355872882428,0:249605806093412049418070606822086891 -sub:-86133870952625036607121720129239484192,-2210083521958904762483447549909,0:-86133868742541514648216957645791934283 -sub:-5537761268890338810683747816401,88831072690533799673765398860186343,0:-88836610451802690012576082608002744 -sub:7650066177648379388712028843866717642,918679522282053129239748147974121,0:7649147498126097335582789095718743521 -sub:565791730633833592281012727365648,852047442684103892006895595156346311,0:-851481650953470058414614582428980663 -sub:35625580968671553109914463243195234,991752088396773683576302377308181924,0:-956126507428102130466387914064986690 -sub:6830152102738950636231503454962474,6109835276749854485232715520241,0:6824042267462200781746270739442233 -sub:9645316618209602253070352413137908638,3394079504397347166925767086732227,0:9641922538705204905903426646051176411 -sub:6906473148858285032644642660383154266,-13248476237838956330778312519,0:6906473162106761270483598991161466785 -sub:663679860762267995009788953575,245501799877415862306412167957117435,0:-245501136197555100038417158168163860 -sub:-44512568466689863068389777224796828752,59397617756155227553085552332805471,0:-44571966084446018295942862777129634223 -sub:-9780895042010683622315363216460759418,76907130979153947097579514138695056628,0:-86688026021164630719894877355155816046 -sub:7347847663681638512926883660656747,21689722568710802776572651908345,0:7326157941112927710150311008748402 -sub:3783373250173630571015208086015385375,85650811474649882924710498921920,0:3783287599362155921132283375516463455 -sub:56849910710166566393455502068193,938068347237485972222899422567001939804,0:-938068290387575262056333029111499871611 -sub:504581213153898088538898634074784,298859276817968178012741515281,0:504282353877080120360885892559503 -sub:62457537532467044548168035547098,350956278715084042186918483657291476,0:-350893821177551575142370315621744378 -sub:7253075028419141077788097530219264862,50712428890680046435253055355573928021,0:-43459353862260905357464957825354663159 -sub:908092436379098470271979681591988,-50980440695559153633860322916212052697,0:50981348787995532732330594895893644685 -sub:199609775815884715957098583502038535,126431898613403845101203447550779,0:199483343917271312111997380054487756 -sub:9582359917228621477273022611353,-7814266758202663854720672879571,0:17396626675431285331993695490924 -sub:-8602898145948602715689375495162314,160918011477272833149624669760689743,0:-169520909623221435865314045255852057 -sub:9948567545244824462599097821402,321969130181831095335604501478150,0:-312020562636586270873005403656748 -sub:3108375720921396317913873465866,515757643860608151355730977219,0:2592618077060788166558142488647 -sub:-6959118740348618652311501232880384,314902316795577348140190091299453995580,0:-314909275914317696758842402800686875964 -sub:852431860747366034722063069637910,697844878845085176354494126562269534,0:-696992446984337810319772063492631624 -sub:-695872067848396881315408129801830330160,515796995164989970353676000353939744,0:-696387864843561871285761805802184269904 -sub:763264778536698023696216317523596944856,66658684467328574590928002628720352,0:763198119852230695121625389520968224504 -sub:551406701743303600756051581664966707,-2096778986234403787979394471172513533,0:2648185687977707388735446052837480240 -sub:8980464673485071567470684316357345,706157473742536317728718771566732899996,0:-706148493277862832657151300882416542651 -sub:-8959013916303797315474218091253977724,17317243712015390717561716185598103919,0:-26276257628319188033035934276852081643 -sub:610642046003967779716956199512502965820,-1342047130732031394498227273521440693,0:611984093134699811111454426786024406513 -sub:39048465017221373894786787092323,27171758183377068947756846246554,0:11876706833844304947029940845769 -sub:8851422489276175894252333429720103986615,23971945232205648973518397199417121,0:8851398517330943688603359911322904569494 -sub:-84833640081477194078008827918110,4096265727659744202225819899847459,0:-4181099367741221396303828727765569 -sub:2449552679550251863203300609863059096,-87978393823203322230640767374297,0:2449640657944075066525531250630433393 -sub:-78001817791533007712431842020149120,-517984095203705432252174589659459457366,0:517906093385913899244462157817439308246 -sub:925643199231868890271300730031810,24193296045997277400311155524231,0:901449903185871612870989574507579 -sub:45809177403727955831024802122687486932,47359799236575106780358807894627994236,0:-1550621832847150949334005771940507304 -sub:517605223957091165935716210936350445,862910955378659702358254436657666937,0:-345305731421568536422538225721316492 -sub:72688630642528437745188023003208451686,-6514092119486018712109302075636901,0:72695144734647923763900132305284088587 -sub:9017708871653095110086602388639208564217,9686163604138029584498185971117663,0:9017699185489490972057017890453237446554 -sub:232079069033420026812017177630381923958,-620458583032652195500759259597623123174,0:852537652066072222312776437228005047132 -sub:7890695491854299352485817202277388,703159083088728550533731201284887315751,0:-703151192393236696234378715467685038363 -sub:89820101894310757911847760478077656263,83262600530464963372213698397466309520,0:6557501363845794539634062080611346743 -sub:15643499204310770849595390474553,-167812233465782889797029678386637503251,0:167812249109282094107800527982027977804 -sub:-5489423773440626595521848968440708,53474930188578916210505119684094887079874,0:-53474935678002689651131715205943855520582 -sub:9795002336914579634933717979516686913,261017010939337312979598924346472448676,0:-251222008602422733344665206366955761763 -sub:4331261142314159296760231606251204672243,95924782688351130622315102956854589,0:4331165217531470945629609291148247817654 -sub:-8555084299250330981422502494290977,-783738723298387481257063528884261006006,0:783730168214088230926082106381766715029 -sub:55877969868981220363181591809987047101,-582660368158295495569660057228613506663,0:638538338027276715932841649038600553764 -sub:7431276323200780996119690290385564268160,352432120959308196444383869982649742380,0:7078844202241472799675306420402914525780 -sub:55510991248344199097615219287024885342254,332608825632573500219548085422149375,0:55510658639518566524114999738939463192879 -sub:-407443715077704811283446238871658731249,-40791246123034116937388818513050,0:-407443674286458688249329301482840218199 -sub:92659603513745501543601415394970469662329,6767288283622355176053882537452755648142,0:85892315230123146367547532857517714014187 -sub:47223347378419458293433033085679670112,-62754319264178123190515063783530,0:47223410132738722471556223600743453642 -sub:1267788394862117094544460471276744086901,-665697188010909239862834883890257046539,0:1933485582873026334407295355167001133440 -sub:295345762969445285300883528234566,676193063455453770878866399645739938,0:-675897717692484325593565516117505372 -sub:5505393498870816097766218031623252626,39514445630793756368190395762767,0:5505353984425185304009849841227489859 -sub:42208069897508165365927050240558926,45558978530284359271147071076409531,0:-3350908632776193905220020835850605 -sub:54167453556761503889312836115010425171760,187522719313793483915703839179272166586,0:53979930837447710405397132275831153005174 -sub:362669233317017065848977774618899144317100,22296129083231337516474760065879885,0:362669211020887982617640258144139078437215 -sub:2070398587579928847370215004355097684669,-64067479504146184394486079741662,0:2070398651647408351516399398841177426331 -sub:547456256889894902401571239347850863825110,963930110027673150476898540751636078,0:547455292959784874728420762449310112189032 -sub:1331413985442244763704908202938864787301,-6928236741466387982911397285024730442,0:1338342222183711151687819600223889517743 -sub:2647018820693334945869095350861961405456,68207845515177324917936202808076981,0:2646950612847819768544177414659153328475 -sub:8513268833284045819607290710032375651,877742296072025989690540346672438747497853,0:-877733782803192705644720739381728715122202 -sub:-362723824300008973505657052571345045426697,-3728428407208494550981026382186278817,0:-362720095871601765011106071544962859147880 -sub:29679672086905939495640819132486834971886,805805496484559347056265315535987,0:29679671281100443011081472076221519435899 -sub:85912095665544820943415113062566570378,-2312537069323562328248319672615297,0:85914408202614144505743361382239185675 -sub:-92634213643016881068533819685947190995,874723874226479957426284530510689780,0:-93508937517243361025960104216457880775 -sub:339348983157405555268049494721010874912,538915927881095996244878294700090,0:339348444241477674172053249842716174822 -sub:-786507623206485460799545427617928648802,-66497629708368438568316964408808815,0:-786441125576777092360977110653519839987 -sub:7838773867614617728873367710439469,-20970941234515400392700499346730050,0:28809715102130018121573867057169519 -sub:-14549979612356881205802146600958641293,-4331851795749574278449787125765833575320873,0:4331837245769961921568581323619232616679580 -sub:916100575956975239103806648291021240434945,-6239107263122317258754465996318083039813,0:922339683220097556362561114287339323474758 -sub:92055367791915247552778134001204029114,6493201508072505271272645779402011239988532,0:-6493109452704713356025093001268010035959418 -sub:-6983015937156891828369789959503372656192768,774335279468118483882198373037947794429,0:-6983790272436359946853672157876410603987197 -sub:3000995395281402114598820789701617484765714,21554713637509345916067753026101593,0:3000995373726688477089474873633864458664121 -sub:210513959404424485767273638342023036080,7040631017221420564743196284036319107483,0:-6830117057816996078975922645694296071403 -sub:927299366270769201971090702434342061,292331300721224857352792240371766440,0:634968065549544344618298462062575621 -sub:4878072375408814508188936210997478,1660478705544816285463647361127486,0:3217593669863998222725288849869992 -sub:549522597810758995529412992430729353622069,28161367971601239141551130639124424718,0:549494436442787394290271441300090229197351 -sub:-3158360246238245818023338839988456941,266461438371462069740221467823944724791696,0:-266464596731708307986039491162784713248637 -sub:9007280594321441251173718122758301273400191,5723070952876244917629403533894720814995808,0:3284209641445196333544314588863580458404383 -sub:7884430922306064951790326519656428,-265155882238652982403545634743490030,0:273040313160959047355335961263146458 -sub:4597158820829446940984073371303248589349336,4591368594874737502008341975525406,0:4597158816238078346109335869294906613823930 -sub:187371543407659146021544517634809651432,2502692698036481709764505060551779924246,0:-2315321154628822563742960542916970272814 -sub:-46135001830288779024726983515547650361,28041526428243568730358118145100364532,0:-74176528258532347755085101660648014893 -sub:-9572831631676924773779207132507340476745,6190297632466241073074006835641016273635051,0:-6199870464097917997847786042773523614111796 -sub:47274442119812358441831910654123850,99197173529181174900799490801927162,0:-51922731409368816458967580147803312 -sub:4006521386515878530482447147782028809,9872623466258041127006795769315012678883,0:-9868616944871525248476313322167230650074 -sub:82360906569911962379105787490864998240463,3515099274891762492395251937584744489436,0:78845807295020199886710535553280253751027 -sub:343670280360898716041692324762031485,912832148190967667750082998631524743067,0:-912488477910606769034041306306762711582 -sub:-253140613356453965474749134907880537,-170796125539274882635608256319127725001467,0:170795872398661526181642781569992817120930 -sub:36063566343365723001908493555712611383171,32734135808710310540138548400630432992351,0:3329430534655412461769945155082178390820 -sub:8562448362864558581436509546230412228013,97253910164731217335889068286633868249,0:8465194452699827364100620477943778359764 -sub:458404043113501189736392131389765493,90992739814093306447341282135584737049,0:-90534335770979805257604890004194971556 -sub:93153136351650823472294576193567969076519204,-173058937221894304147436488969103021,0:93153136524709760694188880341004458045622225 -sub:6881134628891939703289843575851421899205356,411386417698245110176551995497774432463572,0:6469748211193694593113291580353647466741784 -sub:4806770024356558662054629453935871253631,-54599892445310777761980324364755187,0:4806824624249003972832391434260236008818 -sub:-659266383152476584352966529996782786154127,435809612191536018491951858809486469615871,0:-1095075995344012602844918388806269255769998 -sub:6935351506572536921188795798274428881775,-576575580669724321453218122448616063259,0:7511927087242261242642013920723044945034 -sub:858138516046706031509684781296126036025,8270111802191391308669991938939548604849,0:-7411973286144685277160307157643422568824 -sub:817937608310793751229857205081702066047,67716404516400692803055765045097508053,0:750221203794393058426801440036604557994 -sub:21505104291973748253849551840337359946735,724706181460445217421835535592570632258046,0:-703201077168471469167985983752233272311311 -sub:708273146228220275650926105350112291281906759,23865262954820244462104344820227603348946351,0:684407883273400031188821760529884687932960408 -sub:6099153001249914941269621426404674818058,2938683952037817006492484814984313285,0:6096214317297877124263128941589690504773 -sub:-31923841914332687245342017699243753384096,-5606132365222969440586408949174817104241599,0:5574208523308636753341066931475573350857503 -sub:72727007176742518045851035107319602707253724,6024790453998465390250582473731871348,0:72727001151952064047385644856737128975382376 -sub:83215407925470185284051090474309060496,291921577188866523931442328192670035753786,0:-291838361780941053746158277102195726693290 -sub:9122506511038509689834545171005820589612113,719752849629179435477077881697561682399792,0:8402753661409330254357467289308258907212321 -sub:-706538117813388518478786341886424717471940980,753933770122593367025588615709647464797283389,0:-1460471887935981885504374957596072182269224369 -sub:-521928555277746411910375390507381642863,6565723095409618237803362642454225982248113,0:-6566245023964895984215273017844733363890976 -sub:24450643550397676433664068681105834123,-3553012684598341625460876864934571794587360,0:3553037135241892023137310529003252900421483 -sub:4697123465198881265199203985357713516731,2536656939218887194502000678986317871877842,0:-2531959815753688313236801475000960158361111 -sub:-434930612814998054601249422118251831669239,-9901632499831703140917838027000240996177,0:-425028980315166351460331584091251590673062 -sub:-24385109664317253785149664202310847974785,96607275813663749523021171230142234086194,0:-120992385477981003308170835432453082060979 -sub:175998623183130570261164123649545173,5736821048759940607107406386900421138480116,0:-5736820872761317423976836125736297488934943 -sub:29899463144003206689099598069297927023037663,99983896248939908245937246988587266778965056,0:-70084433104936701556837648919289339755927393 -sub:-2847961215729667396008072338427848628952207702,-18041421325649266529475871020854283985158140,0:-2829919794404018129478596467406994344967049562 -sub:860655541398867584200967070629696235008,78536431962263231465180358761552384639106,0:-77675776420864363880979391690922688404098 -sub:635054687904331166120357977754969371811679971,-686756348638066683308736393560844813903,0:635055374660679804187041286491362932656493874 -sub:66115475514119620126879119225040664892295317,-87563343403151221453653304787865218792612594,0:153678818917270841580532424012905883684907911 -sub:-95550181030075465859987797705444435041845,-13665284586416167283376541733856225706235,0:-81884896443659298576611255971588209335610 -sub:92616049236912210791574668731523882357,-50096816156035511846343817545380962370926891,0:50096908772084748758554609120049693894809248 -sub:752708246188412062918458739359406381571670,-91802938193508678084864563021449730861494286,0:92555646439697090147783021760809137243065956 -sub:4243612523329014748898840962380294468164,-7391899758560053704137252356014460148281541618,0:7391904002172577033152001254855422528576009782 -sub:7067486379132347032443631353172208490907237,6868653310067531021850169369487996413345,0:7060617725822279501421781183802720494493892 -sub:652556473645101039426795633187084650620590359,66152612457983000774979517275135281517333,0:652490321032643056426020653669809515339073026 -sub:-35248969314647098087083472237063687482719167,25849045865960518844267357563296662714932,0:-35274818360513058605927739594626984145434099 -sub:154806501204449775250550809865383692315599,220408143673773957176222952814246726548300733,0:-220253337172569507400972402004381342855985134 -sub:426192001635333106574725027301522624829,54396270337654281439857103497213765055827390,0:-54395844145652646106750528772186463533202561 -sub:2229896635643148464416291192052339376,44520846864866048574834661782670612999637,0:-44518616968230405426370245491478560660261 -sub:3511182372941029827917330703726647738515,103149425998143931124350359115352011,0:3511079223515031683986206353367532386504 -sub:525626542557810263995696385369141917216429,28217794014403546465377535948401259179623,0:497408748543406717530318849420740658036806 -sub:246690678230593477546220249711651118557673599,7508868156388634892422733339741334130597495770,0:-7262177478158041414876513090029683012039822171 -sub:-52449842456878273278887468997485654278006880781,-8622224358149020156382756933011263673304901,0:-52441220232520124258731086240552643014333575880 -sub:43917648018810264827549426849617327620,237558137782296171751042504067082682085,0:-193640489763485906923493077217465354465 -sub:436885913378194523559098742354033959419293521,-4530060472748984412434685566970122986799899668,0:4966946386127178935993784309324156946219193189 -sub:934641428600528147928021193868692944237063,766500089354618869804173156494044479533434,0:168141339245909278123848037374648464703629 -sub:-9768794865885075606938340182122123503498,43399753693320722515476020420307206331,0:-9812194619578396329453816202542430709829 -sub:4363510431895873679990777251153049456887914686,-513680867120410140612246382388345195337,0:4363510945576740800400917863399431845233110023 -sub:813902461333355602341973794050956320693244,45925401255610697190710944025791579854,0:813856535932099991644783083106930529113390 -sub:469188297775571118958824594174696108861,49387169240595114881040011727698749675,0:419801128534976004077784582446997359186 -sub:2617097578471262472460098378161373440917,626830512279231586849866185531317270325856135,0:-626827895181653115587393725432939108952415218 -sub:5151556733598102144567084692707520491967675549,925683351507641765110930982020390027551182330,0:4225873382090460379456153710687130464416493219 -sub:7961214185889032744958189528184087887568,15082937694452952801156707282245848781046520,0:-15074976480267063768411749092717664693158952 -sub:103879675257649176952122144944531240879704,-22423657059836578389654041651233303849189846,0:22527536735094227566606163796177835090069550 -sub:-377277225308671992459589258065441211400861174609,785048601099920118475775642499967466881441513003,0:-1162325826408592110935364900565408678282302687612 -sub:2735744675788022453896759288099853051599961,8561848816916220633924173923975969846159936,0:-5826104141128198180027414635876116794559975 -sub:-8108322047295156406910661075095138292543118,765970407325610304094444482334627162219563792,0:-774078729372905460501355143409722300512106910 -sub:62171119480646146147373364600786632314820,68234069541303335859784698762591456286309,0:-6062950060657189712411334161804823971489 -sub:522026031606431401123213997569507489607798170076,-717305442128471697055893486214586513387,0:522026032323736843251685694625400975822384683463 -sub:7106849336102271174193475715677967626534,9912977315535152329193899289756117840576705086,0:-9912970208685816226922725096280402162609078552 -sub:5058631248804275381537183819839410866070,50068425216904104076548398574368463679233329,0:-50063366585655299801166861390548624268367259 -sub:377384922290900684378766697765696266656684929965,3450714239029691596858831084813277683453331017,0:373934208051870992781907866680882988973231598948 -sub:4127043375130626839550947340494729073973521,-93626779328435839646986009707952408489178855259,0:93630906371810970273825560655292903218252828780 -sub:8332162922657358325764463012629457809751,18980828259225905732804403805861953606268378,0:-18972496096303248374478639342849324148458627 -sub:6824265591340935169578122399500191463946638,540683715600472521291029118849898014133054,0:6283581875740462648287093280650293449813584 -sub:938521197483583303249511621812565283382055,44983796709641426782128325690649049185212710901,0:-44982858188443943198825076179027236619929328846 -sub:6735919466177663580236501266144291220013606,545280109966768999298146733178996573556068,0:6190639356210894580938354532965294646457538 -sub:141557686844798866713592847624357600454939,63012778579350927253738282115561965895300222,0:-62871220892506128387024689267937608294845283 -sub:2911872274073904179049270098803758998758604373,5178258239494241937818225445947335874009677,0:2906694015834409937111451873357811662884594696 -sub:1408871869925689627762516558570503883504,142730298505138588027696948531422563739,0:1266141571420551039734819610039081319765 -sub:8517606735957047009697093887557000606415498004,67761524001779430467799539453579156328203130,0:8449845211955267579229294348103421450087294874 -sub:4191752928232629208839556407817672130663759960,31120143251696350351062838658625186585417641244,0:-26928390323463721142223282250807514454753881284 -sub:1773460231905714486091498164221417916299907001,-13984788525502795401300137979455088110924764646,0:15758248757408509887391636143676506027224671647 -sub:25958221336257013267259455572234542250872387609,369753082501759921518867762124056653598276202875,0:-343794861165502908251608306551822111347403815266 -sub:2747326205290884717571093710516354517279131,-200370678858880488915468681389496795418066109,0:203118005064171373633039775100013149935345240 -sub:40540925013283891720123827423744878263336,16816649411016376863928894144184888209331,0:23724275602267514856194933279559990054005 -sub:956824713963595631181304277992935834382643,3722011506884112771542173984351354075026431,0:-2765186792920517140360869706358418240643788 -sub:33786382660255444220666312795011817615453429904,735670904381689507641600295585249267679379526941,0:-701884521721434063420933982790237450063926097037 -sub:2877930508524945640926303283416511321376944980965,-43009247946073345794766337066700378436417844073,0:2920939756471018986721069620483211699813362825038 -sub:850600786011638919961278503128401557972292751560,899851210392294397522137472190488479511758393106,0:-49250424380655477560858969062086921539465641546 -sub:2462694975979744365735428888726732845981,9408686710098328540592679577780711010523157567,0:-9408684247403352560848313842351822283790311586 -sub:-2041867610696880800533651474257712171578353,-2951979315678021415040184889765351233307860,0:910111704981140614506533415507639061729507 -sub:-129073103525919620980862298218649200450487,-4680531750102980987058307458952588397482469573,0:4680402676999455067437326596654369748282019086 -sub:560697897202574381605152953497173580884569831607,-4417286348361216883592573456612155389663357,0:560702314488922742822036546070630193039959494964 -sub:17697094196983519858381804010054585256525242,1131229531263856806842311520174862769452765002,0:-1113532437066873286983929716164808184196239760 -sub:804944662083760414801916105180787524533460301166,561420687759659377688505547923187467868090247,0:804383241396000755424227599632864337065592210919 -sub:-1028404789696953408936491711523277627418563936203,-464819589190508369472777448816708894892918349,0:-1027939970107762900567018934074460918523671017854 -sub:3239904738301933363048789064790365041923795,-9362725662858815747997680077547152674652685944821,0:9362728902763554049931043126336217465017727868616 -sub:761535872788271240805547447218654406655,107117430857728547131949784152272910306695,0:-106355894984940275891144236705054255900040 -sub:-706599751963833313886288562747297926395913585,8278362817238299934703728858793740479430872564850,0:-8279069416990263768017615147356487777357268478435 -sub:463035181445197130733843489204182896424351860,455471771631505836436066499095031596509414,0:462579709673565624897407422705087864827842446 -sub:2824978869446515961236880620253514087311655553702,84452147844444783212562643686865477267414258,0:2824894417298671516453668057609827221834388139444 -sub:95172190180193659817200533401819150201616611288,4253516641549024667802049662408505566309488148712,0:-4158344451368831007984849129006686416107871537424 -sub:-413667190552706011487044934212907016404257969614,33510901758543302257900826215150539862667792900853,0:-33924568949096008269387871149363446879072050870467 -sub:1802858236899130718560292083677283004676939126204,-9591029147984982245013613101603852129053721197,0:1812449266047115700805305696778886856805992847401 -sub:5057939642669588382714715374719737582363077336,6279587642602985268062149755325894048022192320,0:-1221647999933396885347434380606156465659114984 -sub:20062487148514066658598386877620234236424,92694212932494347668352880363113439277308854,0:-92674150445345833601694281976235819043072430 -sub:334984437475294142374221031664489193167379,-6135445036242663334683894840540269979231933,0:6470429473717957477058115872204759172399312 -sub:78029827510297184965229487811790757939762626812,-32404291595021766293653499499799280338229,0:78029859914588779986995781465290257739042965041 -sub:713392855478976816484264895166180199146764030460313,681291155333056129472241044283899139868686991,0:713392174187821483428135422925135915247624161773322 -sub:-80133415624337150636387109270312659175361915999,51418478774844443709286576402320460325196,0:-80133467042815925480830818556889061495822241195 -sub:880115711847568080735088547347709199159560057170765,93939048978536600599293035541531212947874110,0:880115617908519102198487948054673657628347109296655 -sub:6923910812034533596353419663722878592724935671,484167528133286735810248062291120475761574,0:6923426644506400309617609415660587472249174097 -sub:67181341858171188344681106006257889001113561091,-275892233786910833508198970431602677775347,0:67181617750404975255514614205228320603791336438 -sub:36921718877954581697392970162605715186348102300,94932105400913864317595606773063738421165759973115,0:-94895183682035909735898213802901132705979411870815 -sub:10176087189864101236325835126503742119508524,578515167611780503112210135879212793628134689743,0:-578504991524590639010973810044086289886015181219 -sub:771806623592639026200339778481682177781432660780,67004362616728326045114859791690823708021066956420,0:-66232555993135687018914520013209141530239634295640 -sub:-203402851288321919373536431407297524778554,6479472994213736597322939815331596128853683,0:-6682875845502058516696476246738893653632237 -sub:1472434831082398237848463668763914130244321191790,749284377551792267939683738695982222675701748529,0:723150453530605969908779930067931907568619443261 -sub:21819548957613983312659642613368102599157263541546,-43027293878272366259573611249912277474953128041,0:21862576251492255678919216224618014876632216669587 -sub:79183581106215686052084319942513882987033006034916,395676242411723933204666672941564134969621059,0:79183185429973274328151115275840941422898036413857 -sub:8848994582532139477750176043869310148875814,308406836916867466802062976742038687492470522689,0:-308397987922284934662585226565994818182321646875 -sub:7723560617201337569325102213658726205516718762753,10703682032080071751681616104703726510312121990,0:7712856935169257497573420597554022479006406640763 -sub:57399920075594463974650254762286091360205308040447,7737623533444627764626187063734986201237515268274,0:49662296542149836210024067698551105158967792772173 -sub:9235227695889244745982433565536373274090597220112,107148050059803991302004419466765330676586504,0:9235120547839184941991131561116906508759920633608 -sub:-4983756542035372848701023851198318990123574220609,-6542643049007414884687990348404270219346342352782197,0:6537659292465379511839289324553071900356218778561588 -sub:567419840932221417516346055492012551836180868531246,33746605794257306032350927932072975156967743676747,0:533673235137964111483995127559939576679213124854499 -sub:587649861585950611495201008010198217521972105575,887181300999163339932116937542961612984777530930,0:-299531439413212728436915929532763395462805425355 -sub:7453222478591891189413329402038211767394218016685,2017672006030135323721939597399603743488046383,0:7451204806585861054089607462440812163650729970302 -sub:2861829900660252465253636986401989994945337,773601832041130668133623108987574604308317806,0:-770740002140470415668369472001172614313372469 -sub:1854813068723965360605974071849448846065646688997753,-1779594647650002771086955563648126785119135484216483,0:3634407716373968131692929635497575631184782173214236 -sub:92477926938178288909943789222630295714892817851483,-9993806749512159715432826828952487671606121447735045,0:10086284676450338004342770618175117967321014265586528 -sub:180006337772988467709872310927140175108921733,2381572659355146492539589222943064206470713510957947,0:-2381572479348808719551121513070753279330538402036214 -sub:-8062115630203258999893376666703748484646367,-242384162973621030696116727652753612307623848798,0:242376100857990827437116834276086908559139202431 -sub:-9512092783939545330832128518113211511839319679,51817273821892700393156339701080192019872355095563,0:-51826785914676639938487171829598305231384194415242 -sub:95014753687636191420633875239958137975948173417195,-3085034910995602744319197683314962939217430996273791,0:3180049664683238935739831558554921077193379169690986 -sub:-851020909203213144832385221818295668814907441557232,920708095345140363620526592235073155935947208,0:-851021829911308489972748842344887903888063377504440 -sub:57322816917914786923271397439113286785049794499,375876690150945835847772932354648419953665427305,0:-318553873233031048924501534915535133168615632806 -sub:31393149038789273525817858949583645513566324353,414359836823939404881738593288787821854173,0:31392734678952449586412977210990356725744470180 -sub:77504028676487775641669635436308236988049655601524,181344091581225499628551847769549638986540093069,0:77322684584906550142041083588538687349063115508455 -sub:98633986434584756460936637580630245052082529240,4571853594019360336499761737542755082748090242,0:94062132840565396124436875843087489969334438998 -sub:72702371263558464947877213929280953160835791,336826520924373293318758608698133996765552613,0:-264124149660814828370881394768853043604716822 -sub:790131994620824397445459877738169154533174191,3152340776901124584130874954251376174718487427033,0:-3151550644906503759733429494373638005563954252842 -sub:-9550173574955362798449947158209546914492142849353,-54424792605728662879926674617913575370555620507,0:-9495748782349634135570020483591633339121587228846 -sub:94354150013483998466350999623761463016719477838,6188045953454972757543729666811730031705853499240,0:-6093691803441488759077378667187968568689134021402 -sub:3939113274773256610453330771473753217221500577791591,-8856764963107169782992507920019475780655171681871327,0:12795878237880426393445838691493228997876672259662918 -sub:2660941406633181818791417317975166457527878033652214,7055550945359964654212545682444924769432938191323615,0:-4394609538726782835421128364469758311905060157671401 -sub:6672381018209518975788815573873682181604983076,69748594953382081761188754597777837110112667,0:6602632423256136894027626819275904344494870409 -sub:-22928680073391300326697730831966862930951563902710,-36030604459777331413643572771813761886932316,0:-22928644042786840549366317188394091117189676970394 -sub:906731248248897060644189710812453469279110754543,-41959270679040328466239441893560854573456943089818,0:42866001927289225526883631604373308042736053844361 -sub:-70638227944710922429439115847001418432478750483,760914797512164822868407393497280368562831931857,0:-831553025456875745297846509344281786995310682340 -sub:-216358205244444335173319801401182209472584639,998326193886993948549118716632444642265383767831852,0:-998326410245199192993453889952246043447593240416491 -sub:9580122909801568750668900466947122420236232215529435,-62027973553309464740272784879673114659231909,0:9580122971829542303978365207219907299909346874761344 -sub:622693558963818873312878405559947227488964435,3981112093580815021150239981188100077575880890208,0:-3980489400021851202276927102782540130348391925773 -sub:866815675276233673264562843306494664048668452463644611,71519824955354947547025359232296671791960617075,0:866815603756408717909615296281135431751996660503027536 -sub:-6687913766044745929873407959705938856856788714,-128082208096293248054363272445011912033353379,0:-6559831557948452681819044687260926944823435335 -sub:6533704846133682195298434566037164357331105933,-9099620103006618056421372601941016491284861199065,0:9106153807852751738616671036507053655642192304998 -sub:4119542544028390490425044803879052308401738542548112,-20834003332412447609236300940967058715737799257,0:4119563378031722902872654040179993275460454280347369 -sub:-13158459479990345059531702133456996581106330236513,888807402238789998415182036488079992896567250394,0:-14047266882229135057946884169945076574002897486907 -sub:986374598296880992789870555481914795958300865,36115966024290721654021137035289387632631652243,0:-35129591425993840661231266479807472836673351378 -sub:60328360173152774817583105641423657510833102534,806537457680548774367999519005704564118620169512120612,0:-806537397352188601215224701422598922694962658679018078 -sub:8497710798125734752308241652761644166763994003249,2232134954790237265184644308782501409978670104200558,0:-2223637243992111530432336067129739765811906110197309 -sub:-66833280768590802448180039862748595225905660580,8736830538198277449921336865075351529251534384,0:-75570111306789079898101376727823946755157194964 -sub:912827735433629466385516382081400733023462641070447,4902935580754276432455992085105349174803805305833,0:907924799852875189953060389996295383848658835764614 -sub:5478598360832354100644271821080131609231404518792,-47055673068764638632714990426082071032104852775171,0:52534271429596992733359262247162202641336257293963 -sub:7690586776927788135745843200669172025110973236,384324896599663253158847925223211417882480709853337445,0:-384324888909076476231059789477368217213308684742364209 -sub:983884777941532996194149884936915312060876070737,518287984800732830855502265279223067978197266689047,0:-517304100022791297859308115394286152666136390618310 -sub:-954694380473047886020997568695000343640652324258341,14189460325400480062958182003318094361774366261792942,0:-15144154705873527948979179572013094705415018586051283 -sub:61441847820605789319902797573300129174741870859,-56353161438453661015964270802670942459168904316247488,0:56353222880301481621753590705468515759298079058118347 -sub:840900363013208299376170217559531949250066389223,-518733806293446093467395721640110032406740773472,0:1359634169306654392843565939199641981656807162695 -sub:2801043712260244666215482898915857882171271259,30068822738933846329923273175088581474609748837369043,0:-30068819937890134069678606959605682558751866666097784 -sub:39332562720628190237986833106169417514936299004,3977882056567658721057988043991788532782214317,0:35354680664060531516928845062177628982154084687 -sub:4875943313527670330837641575224800871607771346650,3006293236431797162023390328257380215745687023197,0:1869650077095873168814251246967420655862084323453 -sub:1046076579612442168236157596521887526129291572,56509310551736435818443805857748077305452153240874241,0:-56509309505659856206001637621590480783564627111582669 -sub:68801970722430443700036017990845232711747541145506,3921528808796839431326261733514349542141553429,0:68798049193621646860604691729111718362205399592077 -sub:7996124256938877464175310613395477260421185912077919187,43920453269964575011284701085185099530091428989544,0:7996080336485607499600299328694392075321655820648929643 -sub:437847871205482940383237227334352005149025155566700,8912640649325787853768245140880891930970131371688993,0:-8474792778120304913385007913546539925821106216122293 -sub:-189562142066164910097303467426752455631983999971824429,-3126396058243394757216280555044878821697145366839147,0:-186435746007921515340087186871707576810286854604985282 -sub:3738151126960474749651813623570168405472279315305,16849954488569956342093577361010810357803346759,0:3721301172471904793309720046209157595114475968546 -sub:326436788465045244627154191800265908625864556666530,8436920985951650690723103995113757167828613977782053802,0:-8436594549163185645478476840921956901919988113225387272 -sub:73862903715165018158730950116899815638213415384,3605176405676828750083989599730691253025429971416,0:-3531313501961663731925258649613791437387216556032 -sub:-98508500558610553174664717035831451337440647751,-85349349113075502208578338510421486004026291637018909,0:85349250604574943598025163845704450172574954196371158 -sub:-3958479771038348317047929281014493361412362156,74460379620572355406333334733218930851102604423,0:-78418859391610703723381264014233424212514966579 -sub:-2678832891454610091209266352796918435982227896,844180754012069973260601080737112141842619632733391282,0:-844180756690902864715211171946378494639538068715619178 -sub:62145977984087344899814827854294051292745009920192834974,7334739588662979743633482328597512684449095879737,0:62145970649347756236835084220811722695232325471096955237 -sub:829628512088735025241917875963770566118880397874,2778273578473650916716745944557448674527619910366636167,0:-2778272748845138827981720702639572710757053791486238293 -sub:5475358208178590127449325322332321821544579907242021829,5101549647265375935536396006666544834314249747938912445,0:373808560913214191912929315665776987230330159303109384 -sub:-327933746445993810109526304208281604193537699541388,-17513330151263794083025328269239503268164355683299,0:-310420416294730016026500975939042100925373343858089 -sub:-97299271106272768099051589856225693996221199008328,-683640181471185906440394924792222282513250833654408,0:586340910364913138341343334935996588517029634646080 -sub:81950415706753285772469335186046579994901810195099988,-695576496751235568817818414861599429774724685935,0:81951111283250037008038153004461441594331584919785923 -sub:11733022337838616680086438101577803026869925229236251633,4209981603742836477443590186310139108935024708250714,0:11728812356234873843608994511391492887760990204528000919 -sub:2993252088056118669505330045592351552378298855615136540,12751727236236955721686048352301817814151141431,0:2993252075304391433268374323906303200076481041463995109 -sub:39376759077330221210471049201931709948853198615,-9493608874721279041170835115951049053361083855467392,0:9493648251480356371392045587000250985071032708666007 -sub:-5280130155085387575883303159292113846385931782810769147,-1019810672320943407741389860781837676645351883469636964,0:-4260319482764444168141913298510276169740579899341132183 -sub:8457922806422768126334853404146638292374687915778812,995127687303275765352581834049367391219012453856914,0:7462795119119492360982271570097270901155675461921898 -sub:34992662458077134231839550916665303135384048742,-8152964279502937641561776276851678598174407814,0:43145626737580071873401327193516981733558456556 -sub:8237492058118191763481523977841344753346311488313,1647118892275027900093320780430922273315158677508003654,0:-1647110654782969781901557298906944431970405331196515341 -sub:-440042339580320057764506833117106015591230779324161,513962930617733479729549861446740257284856596728706,0:-954005270198053537494056694563846272876087376052867 -sub:34635151931992497392391616758693644900635250427499823,287128980133325949899403223688828310849990578079457307,0:-252493828201333452507011606930134665949355327651957484 -sub:48138028043471938379654489799905392276347294678190375860,8955461479465751553200394404645878189278984773776867,0:48129072581992472628101289405500746398158015693416598993 -sub:7624317887859192567599023956675797189693348039462742,-973928186389609942202650295012119719585450666839535260,0:981552504277469134770249318968795516775144014878998002 -sub:775402642132715473344595954662582545794117369927872,63796684229986115177275440213147384846517231365197485,0:-63021281587853399703930844258484802300723113995269613 -sub:37362432357418646911115330814724472853415155235293,87036796847105652716376950065916449694424391617602112013,0:-87036759484673295297730038950585634969951538202446876720 -sub:-300945445086734604702237356948834421909997080585835251,86543393214880176913230280671573673375238923042066,0:-301031988479949484879150587229505995583372319508877317 -sub:-654047435982290398129267970179757606710004276417490112,86422930881746427524648992269920847889306495489,0:-654047522405221279875695494828749876630852165723985601 -sub:794552108714326403336258405676646043844624401498072689,544976653015779028031808690831373018858631899320,0:794551563737673387557230373867955212471605542866173369 -sub:-195959798494693192093817249845807727728979751653,18593677965094459754532848130637776457537309190937253673,0:-18593678161054258249226040224455026303345036919917005326 -sub:57601304615929231199752161276702979414912411756145,21951958716061857914468826747760163180070915240014675524,0:-21951901114757241985237626995598886477091500327602919379 -sub:311215074108149476976205428525338649682414980832,6243249733271681693520367645680387625166806885842687456,0:-6243249422056607585370890669474959099828157203427706624 -sub:-60089258178336658544420554675373945148810656687928409220,-940949437845306471952666460412774999437620754784474,0:-60088317228898813237948602008913532373811219067173624746 -sub:3844895658482592533059556269556968661475827694950384997,527322363491124024058755005552497077118499938802,0:3844895131160229041935532210801963108978750576450446195 -sub:-6028944995177498518136854918757906591099625985414,15888968609159402431030920451645796896759203224067431,0:-15894997554154579929549057306564554803350302850052845 -sub:996013497441974701923950607149438472739078933691,112407411020615162605964831561295393767448218127,0:883606086421359539317985775588143078971630715564 -sub:7719318511816366427665580178076378029426275595533,163667549683108101581704958685911902179912256741218,0:-155948231171291735154039378507835524150485981145685 -sub:123382564431290774896664572552493052435404643704458759934,12531798191484951858836698658135874099473672299388553,0:123370032633099289944805735853834916561305170032159371381 -sub:942048756549299165967164928739420673047263758767141,3639275805983487223033248868875293658626128636190227,0:-2697227049434188057066083940135872985578864877423086 -sub:240418823794626925772533604032962688702579243574687,4907674204394917198714890794857507854118108024516422187,0:-4907433785571122571789118261253474891429405445272847500 -sub:3950213238876863129818663666502819327768719939127457701,29991402193339371342321385670768500228753395231039352972,0:-26041188954462508212502722004265680900984675291911895271 -sub:1920667868219534801099538208015399489683153418341349572065,-233412004414149707586851107620826952570732551540827551954,0:2154079872633684508686389315636226442253885969882177124019 -sub:7784321585128756839986661147453831080387260908002873,586237266875238457979621090825032494806800315405801,0:7198084318253518382007040056628798585580460592597072 -sub:-34225848774985487393407814198681047162140030645991253741,-789489361585689258214473176784928536166156096643657,0:-34225059285623901704149599725504262233603864489894610084 -sub:-944338971240124849797024756328867740674305651345965,649970029057878269623349411694378680589331156335769959,0:-650914368029118394473146436450707548330005461987115924 -sub:25816073494421415375915233416338690441492640884943818729,764159631162282034769988362928740167840568754650018844,0:25051913863259133341145245053409950273652072130293799885 -sub:7111381553325219432932289055091214481651627513743376,7385563406175559235314072692841151936136627185182905,0:-274181852850339802381783637749937454484999671439529 -sub:-438137611853268269308435226684643695607887735487389,5824616025576441892684517623276732904299681537303913,0:-6262753637429710161992952849961376599907569272791302 -sub:-9680790659167697968786181797074343179561171865505840566,-932899327759500157755319258322165056527752927868968726,0:-8747891331408197811030862538752178123033418937636871840 -sub:567793364811051880825781313748966696400236576537363041402,-976578291468928773578542746545826341079985184892523837,0:568769943102520809599359856495512522741316561722255565239 -sub:38007779187090670273244552314378701844162920433585869254,7187767815567041059760334263355184283280579165883650238,0:30820011371523629213484218051023517560882341267702219016 -sub:9014053603553462724377168305482782158101121369010869473906,755601637469656651454003843855153366578358802242924461,0:9013298001915993067725714301638927004734543010208626549445 - -# Small integer subtraction tests - -subv:3358604991,36411,0:3358568580 -subv:674222429,18986,0:674203443 -subv:-3,-29805,=1:29802 -subv:3,-61063,=1:61066 -subv:2717723,-25258,=1:2742981 -subv:394,-40508,=2:40902 -subv:4744781967,21435,0:4744760532 -subv:-14,50287,0:-50301 -subv:2197,3582,=2:-1385 -subv:-5296,38162,=2:-43458 -subv:-258774,57544,=2:-316318 -subv:7417476246,-58958,=2:7417535204 -subv:6714936,-40949,0:6755885 -subv:15862,-58672,0:74534 -subv:958081,21046,0:937035 -subv:82515,-11287,0:93802 -subv:72715,-25449,0:98164 -subv:-8346662975566,52150,0:-8346663027716 -subv:96216,-33648,=2:129864 -subv:71597071124556,40786,0:71597071083770 -subv:2795133710510,-24996,=1:2795133735506 -subv:8501300888546,1685,0:8501300886861 -subv:3877092429,45143,0:3877047286 -subv:-9123902,27698,0:-9151600 -subv:-71914098152,-49684,0:-71914048468 -subv:-5633175963555389,-13681,0:-5633175963541708 -subv:-68774492,24946,0:-68799438 -subv:2837978518,2447,=1:2837976071 -subv:9527903026793981,34045,=2:9527903026759936 -subv:-719766995836501,-14683,=1:-719766995821818 -subv:6826892934542,-9599,0:6826892944141 -subv:474765520,-36545,=2:474802065 -subv:137980222,12896,0:137967326 -subv:4124108674,61743,0:4124046931 -subv:-4977334202151,16161,0:-4977334218312 -subv:-6764356933,33130,=1:-6764390063 -subv:6639990082377605303,63220,0:6639990082377542083 -subv:68384248282,-28652,0:68384276934 -subv:-64782488650,-31866,=2:-64782456784 -subv:84126983615,63328,0:84126920287 -subv:280281352217,19756,=1:280281332461 -subv:-337730569530652702,55596,0:-337730569530708298 -subv:750462053456012,-18056,=1:750462053474068 -subv:-859984251764611,60341,0:-859984251824952 -subv:781147832162694072159,10186,0:781147832162694061973 -subv:414707731902540,13874,0:414707731888666 -subv:4749293013793395,-27594,0:4749293013820989 -subv:-476780935041195291,-51859,0:-476780935041143432 -subv:-3619074244886709,38416,=1:-3619074244925125 -subv:97855199057493,40752,0:97855199016741 -subv:777675086535345464853,9892,=2:777675086535345454961 -subv:3103441257588144,4992,0:3103441257583152 -subv:136564148041720,53068,=2:136564147988652 -subv:-4664978338218772692212,46644,0:-4664978338218772738856 -subv:235299291342838779459,27155,=1:235299291342838752304 -subv:45286262426870,28782,0:45286262398088 -subv:422289955984703063,27236,=2:422289955984675827 -subv:-6379926829937406097,-63773,0:-6379926829937342324 -subv:830836702855178852980658,-61406,=1:830836702855178853042064 -subv:4000074483936047411,59077,=2:4000074483935988334 -subv:1622930723651719839167208,63514,0:1622930723651719839103694 -subv:532951482400205192926144,57956,0:532951482400205192868188 -subv:148980429628794512840,63138,=2:148980429628794449702 -subv:-9890648040727702186064,-46766,=1:-9890648040727702139298 -subv:-10934480308082214085686,63224,=2:-10934480308082214148910 -subv:355809482274653919711872,32446,0:355809482274653919679426 -subv:-33926193961684655624,11389,=2:-33926193961684667013 -subv:-7186493575578045620,15528,=1:-7186493575578061148 -subv:34706765155128499193360248,83,=1:34706765155128499193360165 -subv:4328479538590740673745630,14623,0:4328479538590740673731007 -subv:-963713498430054741223932789,30239,0:-963713498430054741223963028 -subv:-831264221344401371,39516,0:-831264221344440887 -subv:318721481318817753735405,52833,0:318721481318817753682572 -subv:-62693787119478234447,27553,=1:-62693787119478262000 -subv:-7016655669525046977522194886,32638,=2:-7016655669525046977522227524 -subv:608134301020199755515,29066,0:608134301020199726449 diff --git a/polly/lib/External/isl/imath/tests/test.bc b/polly/lib/External/isl/imath/tests/test.bc deleted file mode 100644 index f067be8c483..00000000000 --- a/polly/lib/External/isl/imath/tests/test.bc +++ /dev/null @@ -1,155 +0,0 @@ -/* e(a, b, m) := a^b (mod m) */ -define e(a, b, m) { - auto s, sb; - - sb = obase; obase = 16; - s = 1; - while(b != 0) { - if((b % 2) == 1) { - s = (s * a) % m; - } - b /= 2; - a = (a * a) % m; - } - obase = sb; - return (s); -} - -/* g(a, b) := (a, b) */ -define g(a, b) { - auto r; - - while(b != 0) { - r = a % b; - a = b; - b = r; - } - if(a < 0) { - return(-a); - } else { - return(a); - } -} - -define a(x) { - if(x < 0) { - return (-x); - } else { - return (x); - } -} - -xgu = 0; xgv = 0; -define x(a, b) { - auto u, v, x, y, t, r; - - if(a(b) > a(a)) { - t = b; b = a; a = t; r = 1; - } else { - r = 0; - } - - u = 1; v = 0; - x = 0; y = 1; - - while(b != 0) { - t = a / b; - - a = a - (t * b); - v = v - (t * y); - u = u - (t * x); - - if(a(a) < a(b)) { - t = a; a = b; b = t; - t = v; v = y; y = t; - t = u; u = x; x = t; - } - } - - if(r) { - xgu = v; xgv = u; - } else { - xgu = u; xgv = v; - } - - if(a < 0) { - return (-a); - } else { - return (a); - } -} - -define i(a, m) { - auto c; - - c = x(a, m); - if(c != 1) - return(0); - - return ((xgu + m) % m); -} - -scale = 0 -rand_modulus = 2860385147 -rand_base = 129 -rand_seed = 10342799 - -define srand(s) { - rand_seed = s; -} - -define rand(n) { - auto r; - - r = (rand_seed * rand_base) % rand_modulus; - rand_seed = r; - return(r % n); -} - -define rand_digits(k) { - auto s; - - s = 0; - while(k > 0) { - s = (s * 10) + rand(10); - k = k - 1; - } - - return(s); -} - -define rval(ndigits, probneg) { - auto x; - x = rand_digits(ndigits); - if(probneg > 0 && rand(100) < probneg) - x = x * -1; - return(x); -} - -for(i = 2; i < 100; i += 4) { - value = rand_digits(i); - obase = 256; - print "readuns:", value; - obase = 10; - print ":", value, "\n" -} - -/* -for(i = 2; i < 100; i += 4) { - for(j = 0; j < 2; ++j) { - ndig = rand(7); - base = rval(ndig, 20); - expt = rand_digits(i); - mod = rand_digits(i); - - result = e(base, expt, mod); - if(result < 0) { - result = result + mod; - } - print "emodbv:", base, ",", expt, ",", mod, ",0:", result, "\n"; - print "emodbv:", base, ",", expt, ",", mod, ",=2:", result, "\n"; - print "emodbv:", base, ",", expt, ",", mod, ",=3:", result, "\n"; - } -} -*/ -halt diff --git a/polly/lib/External/isl/imath/tests/test.sh b/polly/lib/External/isl/imath/tests/test.sh deleted file mode 100755 index d1ced881e34..00000000000 --- a/polly/lib/External/isl/imath/tests/test.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -## -## Name: test.sh -## Purpose: Run test suites for IMath library. -## Author: M. J. Fromberger <http://spinning-yarns.org/michael/> -## - -if [ ! -f ../imtest ] ; then - echo "I can't find the imath test driver 'imtest', did you build it?" - echo "I can't proceed with the unit tests until you do so, sorry." - exit 1 -fi - -echo "-- Running all available unit tests" -../imtest *.t | grep -v OK - -echo "" -echo "-- Running test to compute 1024 decimal digits of pi" -if [ ! -f ../pi ] ; then - echo "I can't find the pi computing program, did you build it?" - echo "I can't proceed with the pi test until you do so, sorry." - exit 1 -fi - -tempfile="/tmp/pi.1024.$$" - -../pi 1024 | tr -d '\r\n' > ${tempfile} -if cmp -s ${tempfile} ./pi1024.txt ; then - echo " PASSED 1024 digits" -else - echo " FAILED" - echo "Obtained:" - cat ${tempfile} - echo "Expected:" - cat ./pi1024.txt -fi -rm -f ${tempfile} - -tempfile="/tmp/pi.1698.$$" - -echo "-- Running test to compute 1698 hexadecimal digits of pi" - -../pi 1698 16 | tr -d '\r\n' > ${tempfile} -if cmp -s ${tempfile} ./pi1698-16.txt ; then - echo " PASSED 1698 digits" -else - echo " FAILED" - echo "Obtained:" - cat ${tempfile} - echo "Expected:" - cat ./pi1698-16.txt -fi -rm -f ${tempfile} - -tempfile="/tmp/pi.1500.$$" - -echo "-- Running test to compute 1500 decimal digits of pi" - -../pi 1500 10 | tr -d '\r\n' > ${tempfile} -if cmp -s ${tempfile} ./pi1500-10.txt ; then - echo " PASSED 1500 digits" -else - echo " FAILED" - echo "Obtained:" - cat ${tempfile} - echo "Expected:" - cat ./pi1500-10.txt -fi -rm -f ${tempfile} - -echo "-- Running regression tests" - -for bug in bug-swap ; do - ../${bug} -done - -exit 0 diff --git a/polly/lib/External/isl/include/isl/stdint.h b/polly/lib/External/isl/include/isl/stdint.h deleted file mode 100644 index f0f8521df3b..00000000000 --- a/polly/lib/External/isl/include/isl/stdint.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _ISL_INCLUDE_ISL_STDINT_H -#define _ISL_INCLUDE_ISL_STDINT_H 1 -#ifndef _GENERATED_STDINT_H -#define _GENERATED_STDINT_H "isl 0.15" -/* generated using gnu compiler gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2 */ -#define _STDINT_HAVE_STDINT_H 1 -#include <stdint.h> -#endif -#endif diff --git a/polly/lib/External/isl/install-sh b/polly/lib/External/isl/install-sh new file mode 100644 index 00000000000..377bb8687ff --- /dev/null +++ b/polly/lib/External/isl/install-sh @@ -0,0 +1,527 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2011-11-20.07; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/polly/lib/External/isl/interface/Makefile.am b/polly/lib/External/isl/interface/Makefile.am deleted file mode 100644 index 0269e9113d0..00000000000 --- a/polly/lib/External/isl/interface/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -AUTOMAKE_OPTIONS = nostdinc - -noinst_PROGRAMS = extract_interface - -AM_CXXFLAGS = $(CLANG_CXXFLAGS) -AM_LDFLAGS = $(CLANG_LDFLAGS) - -includes = -I$(top_builddir) -I$(top_srcdir) \ - -I$(top_builddir)/include -I$(top_srcdir)/include - -extract_interface_CPPFLAGS = $(includes) -extract_interface_SOURCES = \ - python.h \ - python.cc \ - extract_interface.h \ - extract_interface.cc -extract_interface_LDADD = \ - -lclangFrontend -lclangSerialization -lclangParse -lclangSema \ - $(LIB_CLANG_EDIT) \ - -lclangAnalysis -lclangAST -lclangLex -lclangBasic -lclangDriver \ - $(CLANG_LIBS) $(CLANG_LDFLAGS) - -test: extract_interface - ./extract_interface$(EXEEXT) $(includes) $(srcdir)/all.h - -isl.py: extract_interface isl.py.top - (cat $(srcdir)/isl.py.top; \ - ./extract_interface$(EXEEXT) $(includes) $(srcdir)/all.h) \ - > isl.py - -dist-hook: isl.py - cp isl.py $(distdir)/ diff --git a/polly/lib/External/isl/interface/extract_interface.cc b/polly/lib/External/isl/interface/extract_interface.cc deleted file mode 100644 index 3663ef760a0..00000000000 --- a/polly/lib/External/isl/interface/extract_interface.cc +++ /dev/null @@ -1,396 +0,0 @@ -/* - * Copyright 2011 Sven Verdoolaege. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY SVEN VERDOOLAEGE ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SVEN VERDOOLAEGE OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation - * are those of the authors and should not be interpreted as - * representing official policies, either expressed or implied, of - * Sven Verdoolaege. - */ - -#include "isl_config.h" - -#include <assert.h> -#include <iostream> -#ifdef HAVE_ADT_OWNINGPTR_H -#include <llvm/ADT/OwningPtr.h> -#else -#include <memory> -#endif -#include <llvm/Support/raw_ostream.h> -#include <llvm/Support/CommandLine.h> -#include <llvm/Support/Host.h> -#include <llvm/Support/ManagedStatic.h> -#include <clang/AST/ASTContext.h> -#include <clang/AST/ASTConsumer.h> -#include <clang/Basic/FileSystemOptions.h> -#include <clang/Basic/FileManager.h> -#include <clang/Basic/TargetOptions.h> -#include <clang/Basic/TargetInfo.h> -#include <clang/Basic/Version.h> -#include <clang/Driver/Compilation.h> -#include <clang/Driver/Driver.h> -#include <clang/Driver/Tool.h> -#include <clang/Frontend/CompilerInstance.h> -#include <clang/Frontend/CompilerInvocation.h> -#ifdef HAVE_BASIC_DIAGNOSTICOPTIONS_H -#include <clang/Basic/DiagnosticOptions.h> -#else -#include <clang/Frontend/DiagnosticOptions.h> -#endif -#include <clang/Frontend/TextDiagnosticPrinter.h> -#include <clang/Frontend/Utils.h> -#include <clang/Lex/HeaderSearch.h> -#include <clang/Lex/Preprocessor.h> -#include <clang/Parse/ParseAST.h> -#include <clang/Sema/Sema.h> - -#include "extract_interface.h" -#include "python.h" - -using namespace std; -using namespace clang; -using namespace clang::driver; - -#ifdef HAVE_ADT_OWNINGPTR_H -#define unique_ptr llvm::OwningPtr -#endif - -static llvm::cl::opt<string> InputFilename(llvm::cl::Positional, - llvm::cl::Required, llvm::cl::desc("<input file>")); -static llvm::cl::list<string> Includes("I", - llvm::cl::desc("Header search path"), - llvm::cl::value_desc("path"), llvm::cl::Prefix); - -static const char *ResourceDir = - CLANG_PREFIX "/lib/clang/" CLANG_VERSION_STRING; - -/* Does decl have an attribute of the following form? - * - * __attribute__((annotate("name"))) - */ -bool has_annotation(Decl *decl, const char *name) -{ - if (!decl->hasAttrs()) - return false; - - AttrVec attrs = decl->getAttrs(); - for (AttrVec::const_iterator i = attrs.begin() ; i != attrs.end(); ++i) { - const AnnotateAttr *ann = dyn_cast<AnnotateAttr>(*i); - if (!ann) - continue; - if (ann->getAnnotation().str() == name) - return true; - } - - return false; -} - -/* Is decl marked as exported? - */ -static bool is_exported(Decl *decl) -{ - return has_annotation(decl, "isl_export"); -} - -/* Collect all types and functions that are annotated "isl_export" - * in "types" and "function". - * - * We currently only consider single declarations. - */ -struct MyASTConsumer : public ASTConsumer { - set<RecordDecl *> types; - set<FunctionDecl *> functions; - - virtual HandleTopLevelDeclReturn HandleTopLevelDecl(DeclGroupRef D) { - Decl *decl; - - if (!D.isSingleDecl()) - return HandleTopLevelDeclContinue; - decl = D.getSingleDecl(); - if (!is_exported(decl)) - return HandleTopLevelDeclContinue; - switch (decl->getKind()) { - case Decl::Record: - types.insert(cast<RecordDecl>(decl)); - break; - case Decl::Function: - functions.insert(cast<FunctionDecl>(decl)); - break; - default: - break; - } - return HandleTopLevelDeclContinue; - } -}; - -#ifdef USE_ARRAYREF - -#ifdef HAVE_CXXISPRODUCTION -static Driver *construct_driver(const char *binary, DiagnosticsEngine &Diags) -{ - return new Driver(binary, llvm::sys::getDefaultTargetTriple(), - "", false, false, Diags); -} -#elif defined(HAVE_ISPRODUCTION) -static Driver *construct_driver(const char *binary, DiagnosticsEngine &Diags) -{ - return new Driver(binary, llvm::sys::getDefaultTargetTriple(), - "", false, Diags); -} -#elif defined(DRIVER_CTOR_TAKES_DEFAULTIMAGENAME) -static Driver *construct_driver(const char *binary, DiagnosticsEngine &Diags) -{ - return new Driver(binary, llvm::sys::getDefaultTargetTriple(), - "", Diags); -} -#else -static Driver *construct_driver(const char *binary, DiagnosticsEngine &Diags) -{ - return new Driver(binary, llvm::sys::getDefaultTargetTriple(), Diags); -} -#endif - -/* Clang changed its API from 3.5 to 3.6, we fix this with a simple overloaded - * function here. - */ -struct ClangAPI { - static Job *command(Job *J) { return J; } - static Job *command(Job &J) { return &J; } -}; - -/* Create a CompilerInvocation object that stores the command line - * arguments constructed by the driver. - * The arguments are mainly useful for setting up the system include - * paths on newer clangs and on some platforms. - */ -static CompilerInvocation *construct_invocation(const char *filename, - DiagnosticsEngine &Diags) -{ - const char *binary = CLANG_PREFIX"/bin/clang"; - const unique_ptr<Driver> driver(construct_driver(binary, Diags)); - std::vector<const char *> Argv; - Argv.push_back(binary); - Argv.push_back(filename); - const unique_ptr<Compilation> compilation( - driver->BuildCompilation(llvm::ArrayRef<const char *>(Argv))); - JobList &Jobs = compilation->getJobs(); - - Command *cmd = cast<Command>(ClangAPI::command(*Jobs.begin())); - if (strcmp(cmd->getCreator().getName(), "clang")) - return NULL; - - const ArgStringList *args = &cmd->getArguments(); - - CompilerInvocation *invocation = new CompilerInvocation; - CompilerInvocation::CreateFromArgs(*invocation, args->data() + 1, - args->data() + args->size(), - Diags); - return invocation; -} - -#else - -static CompilerInvocation *construct_invocation(const char *filename, - DiagnosticsEngine &Diags) -{ - return NULL; -} - -#endif - -#ifdef HAVE_BASIC_DIAGNOSTICOPTIONS_H - -static TextDiagnosticPrinter *construct_printer(void) -{ - return new TextDiagnosticPrinter(llvm::errs(), new DiagnosticOptions()); -} - -#else - -static TextDiagnosticPrinter *construct_printer(void) -{ - DiagnosticOptions DO; - return new TextDiagnosticPrinter(llvm::errs(), DO); -} - -#endif - -#ifdef CREATETARGETINFO_TAKES_SHARED_PTR - -static TargetInfo *create_target_info(CompilerInstance *Clang, - DiagnosticsEngine &Diags) -{ - shared_ptr<TargetOptions> TO = Clang->getInvocation().TargetOpts; - TO->Triple = llvm::sys::getDefaultTargetTriple(); - return TargetInfo::CreateTargetInfo(Diags, TO); -} - -#elif defined(CREATETARGETINFO_TAKES_POINTER) - -static TargetInfo *create_target_info(CompilerInstance *Clang, - DiagnosticsEngine &Diags) -{ - TargetOptions &TO = Clang->getTargetOpts(); - TO.Triple = llvm::sys::getDefaultTargetTriple(); - return TargetInfo::CreateTargetInfo(Diags, &TO); -} - -#else - -static TargetInfo *create_target_info(CompilerInstance *Clang, - DiagnosticsEngine &Diags) -{ - TargetOptions &TO = Clang->getTargetOpts(); - TO.Triple = llvm::sys::getDefaultTargetTriple(); - return TargetInfo::CreateTargetInfo(Diags, TO); -} - -#endif - -#ifdef CREATEDIAGNOSTICS_TAKES_ARG - -static void create_diagnostics(CompilerInstance *Clang) -{ - Clang->createDiagnostics(0, NULL, construct_printer()); -} - -#else - -static void create_diagnostics(CompilerInstance *Clang) -{ - Clang->createDiagnostics(construct_printer()); -} - -#endif - -#ifdef CREATEPREPROCESSOR_TAKES_TUKIND - -static void create_preprocessor(CompilerInstance *Clang) -{ - Clang->createPreprocessor(TU_Complete); -} - -#else - -static void create_preprocessor(CompilerInstance *Clang) -{ - Clang->createPreprocessor(); -} - -#endif - -#ifdef ADDPATH_TAKES_4_ARGUMENTS - -void add_path(HeaderSearchOptions &HSO, string Path) -{ - HSO.AddPath(Path, frontend::Angled, false, false); -} - -#else - -void add_path(HeaderSearchOptions &HSO, string Path) -{ - HSO.AddPath(Path, frontend::Angled, true, false, false); -} - -#endif - -#ifdef HAVE_SETMAINFILEID - -static void create_main_file_id(SourceManager &SM, const FileEntry *file) -{ - SM.setMainFileID(SM.createFileID(file, SourceLocation(), - SrcMgr::C_User)); -} - -#else - -static void create_main_file_id(SourceManager &SM, const FileEntry *file) -{ - SM.createMainFileID(file); -} - -#endif - -int main(int argc, char *argv[]) -{ - llvm::cl::ParseCommandLineOptions(argc, argv); - - CompilerInstance *Clang = new CompilerInstance(); - create_diagnostics(Clang); - DiagnosticsEngine &Diags = Clang->getDiagnostics(); - Diags.setSuppressSystemWarnings(true); - CompilerInvocation *invocation = - construct_invocation(InputFilename.c_str(), Diags); - if (invocation) - Clang->setInvocation(invocation); - Clang->createFileManager(); - Clang->createSourceManager(Clang->getFileManager()); - TargetInfo *target = create_target_info(Clang, Diags); - Clang->setTarget(target); - CompilerInvocation::setLangDefaults(Clang->getLangOpts(), IK_C, - LangStandard::lang_unspecified); - HeaderSearchOptions &HSO = Clang->getHeaderSearchOpts(); - LangOptions &LO = Clang->getLangOpts(); - PreprocessorOptions &PO = Clang->getPreprocessorOpts(); - HSO.ResourceDir = ResourceDir; - - for (int i = 0; i < Includes.size(); ++i) - add_path(HSO, Includes[i]); - - PO.addMacroDef("__isl_give=__attribute__((annotate(\"isl_give\")))"); - PO.addMacroDef("__isl_keep=__attribute__((annotate(\"isl_keep\")))"); - PO.addMacroDef("__isl_take=__attribute__((annotate(\"isl_take\")))"); - PO.addMacroDef("__isl_export=__attribute__((annotate(\"isl_export\")))"); - PO.addMacroDef("__isl_constructor=__attribute__((annotate(\"isl_constructor\"))) __attribute__((annotate(\"isl_export\")))"); - PO.addMacroDef("__isl_subclass(super)=__attribute__((annotate(\"isl_subclass(\" #super \")\"))) __attribute__((annotate(\"isl_export\")))"); - - create_preprocessor(Clang); - Preprocessor &PP = Clang->getPreprocessor(); - - PP.getBuiltinInfo().InitializeBuiltins(PP.getIdentifierTable(), LO); - - const FileEntry *file = Clang->getFileManager().getFile(InputFilename); - assert(file); - create_main_file_id(Clang->getSourceManager(), file); - - Clang->createASTContext(); - MyASTConsumer consumer; - Sema *sema = new Sema(PP, Clang->getASTContext(), consumer); - - Diags.getClient()->BeginSourceFile(LO, &PP); - ParseAST(*sema); - Diags.getClient()->EndSourceFile(); - - generate_python(consumer.types, consumer.functions); - - delete sema; - delete Clang; - llvm::llvm_shutdown(); - - return 0; -} diff --git a/polly/lib/External/isl/interface/extract_interface.h b/polly/lib/External/isl/interface/extract_interface.h deleted file mode 100644 index b6788f1343d..00000000000 --- a/polly/lib/External/isl/interface/extract_interface.h +++ /dev/null @@ -1,3 +0,0 @@ -#include <clang/AST/Decl.h> - -bool has_annotation(clang::Decl *decl, const char *name); diff --git a/polly/lib/External/isl/interface/python.cc b/polly/lib/External/isl/interface/python.cc deleted file mode 100644 index 0b4c0e28e86..00000000000 --- a/polly/lib/External/isl/interface/python.cc +++ /dev/null @@ -1,520 +0,0 @@ -/* - * Copyright 2011 Sven Verdoolaege. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY SVEN VERDOOLAEGE ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SVEN VERDOOLAEGE OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation - * are those of the authors and should not be interpreted as - * representing official policies, either expressed or implied, of - * Sven Verdoolaege. - */ - -#include "isl_config.h" - -#include <stdio.h> -#include <iostream> -#include <map> -#include <clang/AST/Attr.h> -#include "extract_interface.h" -#include "python.h" - -/* Is the given type declaration marked as being a subtype of some other - * type? If so, return that other type in "super". - */ -static bool is_subclass(RecordDecl *decl, string &super) -{ - if (!decl->hasAttrs()) - return false; - - string sub = "isl_subclass"; - size_t len = sub.length(); - AttrVec attrs = decl->getAttrs(); - for (AttrVec::const_iterator i = attrs.begin() ; i != attrs.end(); ++i) { - const AnnotateAttr *ann = dyn_cast<AnnotateAttr>(*i); - if (!ann) - continue; - string s = ann->getAnnotation().str(); - if (s.substr(0, len) == sub) { - super = s.substr(len + 1, s.length() - len - 2); - return true; - } - } - - return false; -} - -/* Is decl marked as a constructor? - */ -static bool is_constructor(Decl *decl) -{ - return has_annotation(decl, "isl_constructor"); -} - -/* Is decl marked as consuming a reference? - */ -static bool takes(Decl *decl) -{ - return has_annotation(decl, "isl_take"); -} - -/* isl_class collects all constructors and methods for an isl "class". - * "name" is the name of the class. - * "type" is the declaration that introduces the type. - */ -struct isl_class { - string name; - RecordDecl *type; - set<FunctionDecl *> constructors; - set<FunctionDecl *> methods; - - void print(map<string, isl_class> &classes, set<string> &done); - void print_constructor(FunctionDecl *method); - void print_method(FunctionDecl *method, bool subclass, string super); -}; - -/* Return the class that has a name that matches the initial part - * of the namd of function "fd". - */ -static isl_class &method2class(map<string, isl_class> &classes, - FunctionDecl *fd) -{ - string best; - map<string, isl_class>::iterator ci; - string name = fd->getNameAsString(); - - for (ci = classes.begin(); ci != classes.end(); ++ci) { - if (name.substr(0, ci->first.length()) == ci->first) - best = ci->first; - } - - return classes[best]; -} - -/* Is "type" the type "isl_ctx *"? - */ -static bool is_isl_ctx(QualType type) -{ - if (!type->isPointerType()) - return 0; - type = type->getPointeeType(); - if (type.getAsString() != "isl_ctx") - return false; - - return true; -} - -/* Is the first argument of "fd" of type "isl_ctx *"? - */ -static bool first_arg_is_isl_ctx(FunctionDecl *fd) -{ - ParmVarDecl *param; - - if (fd->getNumParams() < 1) - return false; - - param = fd->getParamDecl(0); - return is_isl_ctx(param->getOriginalType()); -} - -/* Is "type" that of a pointer to an isl_* structure? - */ -static bool is_isl_type(QualType type) -{ - if (type->isPointerType()) { - string s = type->getPointeeType().getAsString(); - return s.substr(0, 4) == "isl_"; - } - - return false; -} - -/* Is "type" that of a pointer to a function? - */ -static bool is_callback(QualType type) -{ - if (!type->isPointerType()) - return false; - type = type->getPointeeType(); - return type->isFunctionType(); -} - -/* Is "type" that of "char *" of "const char *"? - */ -static bool is_string(QualType type) -{ - if (type->isPointerType()) { - string s = type->getPointeeType().getAsString(); - return s == "const char" || s == "char"; - } - - return false; -} - -/* Return the name of the type that "type" points to. - * The input "type" is assumed to be a pointer type. - */ -static string extract_type(QualType type) -{ - if (type->isPointerType()) - return type->getPointeeType().getAsString(); - assert(0); -} - -/* Drop the "isl_" initial part of the type name "name". - */ -static string type2python(string name) -{ - return name.substr(4); -} - -/* Construct a wrapper for a callback argument (at position "arg"). - * Assign the wrapper to "cb". We assume here that a function call - * has at most one callback argument. - * - * The wrapper converts the arguments of the callback to python types. - * If any exception is thrown, the wrapper keeps track of it in exc_info[0] - * and returns -1. Otherwise the wrapper returns 0. - */ -static void print_callback(QualType type, int arg) -{ - const FunctionProtoType *fn = type->getAs<FunctionProtoType>(); - unsigned n_arg = fn->getNumArgs(); - - printf(" exc_info = [None]\n"); - printf(" fn = CFUNCTYPE(c_int"); - for (int i = 0; i < n_arg - 1; ++i) { - QualType arg_type = fn->getArgType(i); - assert(is_isl_type(arg_type)); - printf(", c_void_p"); - } - printf(", c_void_p)\n"); - printf(" def cb_func("); - for (int i = 0; i < n_arg; ++i) { - if (i) - printf(", "); - printf("cb_arg%d", i); - } - printf("):\n"); - for (int i = 0; i < n_arg - 1; ++i) { - string arg_type; - arg_type = type2python(extract_type(fn->getArgType(i))); - printf(" cb_arg%d = %s(ctx=arg0.ctx, " - "ptr=cb_arg%d)\n", i, arg_type.c_str(), i); - } - printf(" try:\n"); - printf(" arg%d(", arg); - for (int i = 0; i < n_arg - 1; ++i) { - if (i) - printf(", "); - printf("cb_arg%d", i); - } - printf(")\n"); - printf(" except:\n"); - printf(" import sys\n"); - printf(" exc_info[0] = sys.exc_info()\n"); - printf(" return -1\n"); - printf(" return 0\n"); - printf(" cb = fn(cb_func)\n"); -} - -/* Print a python method corresponding to the C function "method". - * "subclass" is set if the method belongs to a class that is a subclass - * of some other class ("super"). - * - * If the function has a callback argument, then it also has a "user" - * argument. Since Python has closures, there is no need for such - * a user argument in the Python interface, so we simply drop it. - * We also create a wrapper ("cb") for the callback. - * - * For each argument of the function that refers to an isl structure, - * including the object on which the method is called, - * we check if the corresponding actual argument is of the right type. - * If not, we try to convert it to the right type. - * It that doesn't work and if subclass is set, we try to convert self - * to the type of the superclass and call the corresponding method. - * - * If the function consumes a reference, then we pass it a copy of - * the actual argument. - */ -void isl_class::print_method(FunctionDecl *method, bool subclass, string super) -{ - string fullname = method->getName(); - string cname = fullname.substr(name.length() + 1); - int num_params = method->getNumParams(); - int drop_user = 0; - - for (int i = 1; i < num_params; ++i) { - ParmVarDecl *param = method->getParamDecl(i); - QualType type = param->getOriginalType(); - if (is_callback(type)) - drop_user = 1; - } - - printf(" def %s(arg0", cname.c_str()); - for (int i = 1; i < num_params - drop_user; ++i) - printf(", arg%d", i); - printf("):\n"); - - for (int i = 0; i < num_params; ++i) { - ParmVarDecl *param = method->getParamDecl(i); - string type; - if (!is_isl_type(param->getOriginalType())) - continue; - type = type2python(extract_type(param->getOriginalType())); - printf(" try:\n"); - printf(" if not arg%d.__class__ is %s:\n", - i, type.c_str()); - printf(" arg%d = %s(arg%d)\n", - i, type.c_str(), i); - printf(" except:\n"); - if (i > 0 && subclass) { - printf(" return %s(arg0).%s(", - type2python(super).c_str(), cname.c_str()); - for (int i = 1; i < num_params - drop_user; ++i) { - if (i != 1) - printf(", "); - printf("arg%d", i); - } - printf(")\n"); - } else - printf(" raise\n"); - } - for (int i = 1; i < num_params; ++i) { - ParmVarDecl *param = method->getParamDecl(i); - QualType type = param->getOriginalType(); - if (!is_callback(type)) - continue; - print_callback(type->getPointeeType(), i); - } - printf(" res = isl.%s(", fullname.c_str()); - if (takes(method->getParamDecl(0))) - printf("isl.%s_copy(arg0.ptr)", name.c_str()); - else - printf("arg0.ptr"); - for (int i = 1; i < num_params - drop_user; ++i) { - ParmVarDecl *param = method->getParamDecl(i); - QualType type = param->getOriginalType(); - if (is_callback(type)) - printf(", cb"); - else if (takes(param)) { - string type_s = extract_type(type); - printf(", isl.%s_copy(arg%d.ptr)", type_s.c_str(), i); - } else - printf(", arg%d.ptr", i); - } - if (drop_user) - printf(", None"); - printf(")\n"); - - if (is_isl_type(method->getReturnType())) { - string type; - type = type2python(extract_type(method->getReturnType())); - printf(" return %s(ctx=arg0.ctx, ptr=res)\n", - type.c_str()); - } else { - if (drop_user) { - printf(" if exc_info[0] != None:\n"); - printf(" raise exc_info[0][0], " - "exc_info[0][1], exc_info[0][2]\n"); - } - printf(" return res\n"); - } -} - -/* Print part of the constructor for this isl_class. - * - * In particular, check if the actual arguments correspond to the - * formal arguments of "cons" and if so call "cons" and put the - * result in self.ptr and a reference to the default context in self.ctx. - * - * If the function consumes a reference, then we pass it a copy of - * the actual argument. - */ -void isl_class::print_constructor(FunctionDecl *cons) -{ - string fullname = cons->getName(); - string cname = fullname.substr(name.length() + 1); - int num_params = cons->getNumParams(); - int drop_ctx = first_arg_is_isl_ctx(cons); - - printf(" if len(args) == %d", num_params - drop_ctx); - for (int i = drop_ctx; i < num_params; ++i) { - ParmVarDecl *param = cons->getParamDecl(i); - if (is_isl_type(param->getOriginalType())) { - string type; - type = extract_type(param->getOriginalType()); - type = type2python(type); - printf(" and args[%d].__class__ is %s", - i - drop_ctx, type.c_str()); - } else - printf(" and type(args[%d]) == str", i - drop_ctx); - } - printf(":\n"); - printf(" self.ctx = Context.getDefaultInstance()\n"); - printf(" self.ptr = isl.%s(", fullname.c_str()); - if (drop_ctx) - printf("self.ctx"); - for (int i = drop_ctx; i < num_params; ++i) { - ParmVarDecl *param = cons->getParamDecl(i); - if (i) - printf(", "); - if (is_isl_type(param->getOriginalType())) { - if (takes(param)) { - string type; - type = extract_type(param->getOriginalType()); - printf("isl.%s_copy(args[%d].ptr)", - type.c_str(), i - drop_ctx); - } else - printf("args[%d].ptr", i - drop_ctx); - } else - printf("args[%d]", i - drop_ctx); - } - printf(")\n"); - printf(" return\n"); -} - -/* Print out the definition of this isl_class. - * - * We first check if this isl_class is a subclass of some other class. - * If it is, we make sure the superclass is printed out first. - * - * Then we print a constructor with several cases, one for constructing - * a Python object from a return value and one for each function that - * was marked as a constructor. - * - * Next, we print out some common methods and the methods corresponding - * to functions that are not marked as constructors. - * - * Finally, we tell ctypes about the types of the arguments of the - * constructor functions and the return types of those function returning - * an isl object. - */ -void isl_class::print(map<string, isl_class> &classes, set<string> &done) -{ - string super; - string p_name = type2python(name); - set<FunctionDecl *>::iterator in; - bool subclass = is_subclass(type, super); - - if (subclass && done.find(super) == done.end()) - classes[super].print(classes, done); - done.insert(name); - - printf("\n"); - printf("class %s", p_name.c_str()); - if (subclass) - printf("(%s)", type2python(super).c_str()); - printf(":\n"); - printf(" def __init__(self, *args, **keywords):\n"); - - printf(" if \"ptr\" in keywords:\n"); - printf(" self.ctx = keywords[\"ctx\"]\n"); - printf(" self.ptr = keywords[\"ptr\"]\n"); - printf(" return\n"); - - for (in = constructors.begin(); in != constructors.end(); ++in) - print_constructor(*in); - printf(" raise Error\n"); - printf(" def __del__(self):\n"); - printf(" if hasattr(self, 'ptr'):\n"); - printf(" isl.%s_free(self.ptr)\n", name.c_str()); - printf(" def __str__(self):\n"); - printf(" ptr = isl.%s_to_str(self.ptr)\n", name.c_str()); - printf(" res = str(cast(ptr, c_char_p).value)\n"); - printf(" libc.free(ptr)\n"); - printf(" return res\n"); - printf(" def __repr__(self):\n"); - printf(" return 'isl.%s(\"%%s\")' %% str(self)\n", - p_name.c_str()); - - for (in = methods.begin(); in != methods.end(); ++in) - print_method(*in, subclass, super); - - printf("\n"); - for (in = constructors.begin(); in != constructors.end(); ++in) { - string fullname = (*in)->getName(); - printf("isl.%s.restype = c_void_p\n", fullname.c_str()); - printf("isl.%s.argtypes = [", fullname.c_str()); - for (int i = 0; i < (*in)->getNumParams(); ++i) { - ParmVarDecl *param = (*in)->getParamDecl(i); - QualType type = param->getOriginalType(); - if (i) - printf(", "); - if (is_isl_ctx(type)) - printf("Context"); - else if (is_isl_type(type)) - printf("c_void_p"); - else if (is_string(type)) - printf("c_char_p"); - else - printf("c_int"); - } - printf("]\n"); - } - for (in = methods.begin(); in != methods.end(); ++in) { - string fullname = (*in)->getName(); - if (is_isl_type((*in)->getReturnType())) - printf("isl.%s.restype = c_void_p\n", fullname.c_str()); - } - printf("isl.%s_free.argtypes = [c_void_p]\n", name.c_str()); - printf("isl.%s_to_str.argtypes = [c_void_p]\n", name.c_str()); - printf("isl.%s_to_str.restype = POINTER(c_char)\n", name.c_str()); -} - -/* Generate a python interface based on the extracted types and functions. - * We first collect all functions that belong to a certain type, - * separating constructors from regular methods. - * - * Then we print out each class in turn. If one of these is a subclass - * of some other class, it will make sure the superclass is printed out first. - */ -void generate_python(set<RecordDecl *> &types, set<FunctionDecl *> functions) -{ - map<string, isl_class> classes; - map<string, isl_class>::iterator ci; - set<string> done; - - set<RecordDecl *>::iterator it; - for (it = types.begin(); it != types.end(); ++it) { - RecordDecl *decl = *it; - string name = decl->getName(); - classes[name].name = name; - classes[name].type = decl; - } - - set<FunctionDecl *>::iterator in; - for (in = functions.begin(); in != functions.end(); ++in) { - isl_class &c = method2class(classes, *in); - if (is_constructor(*in)) - c.constructors.insert(*in); - else - c.methods.insert(*in); - } - - for (ci = classes.begin(); ci != classes.end(); ++ci) { - if (done.find(ci->first) == done.end()) - ci->second.print(classes, done); - } -} diff --git a/polly/lib/External/isl/interface/python.h b/polly/lib/External/isl/interface/python.h deleted file mode 100644 index 0f6e8ec5b2f..00000000000 --- a/polly/lib/External/isl/interface/python.h +++ /dev/null @@ -1,7 +0,0 @@ -#include <set> -#include <clang/AST/Decl.h> - -using namespace std; -using namespace clang; - -void generate_python(set<RecordDecl *> &types, set<FunctionDecl *> functions); diff --git a/polly/lib/External/isl/isl_config.h b/polly/lib/External/isl/isl_config.h.in index 0fa2414534d..15dd0cfa1ef 100644 --- a/polly/lib/External/isl/isl_config.h +++ b/polly/lib/External/isl/isl_config.h.in @@ -146,7 +146,7 @@ #undef USE_GMP_FOR_MP /* use imath to implement isl_int */ -#define USE_IMATH_FOR_MP 1 +#undef USE_IMATH_FOR_MP /* Use small integer optimization */ #undef USE_SMALL_INT_OPT diff --git a/polly/lib/External/isl/ltmain.sh b/polly/lib/External/isl/ltmain.sh new file mode 100644 index 00000000000..bffda54187a --- /dev/null +++ b/polly/lib/External/isl/ltmain.sh @@ -0,0 +1,9661 @@ + +# libtool (GNU libtool) 2.4.2 +# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --no-quiet, --no-silent +# print informational messages (default) +# --no-warn don't display warning messages +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print more informational messages than default +# --no-verbose don't print the extra informational messages +# --version print version information +# -h, --help, --help-all print short, long, or detailed help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. When passed as first option, +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to <bug-libtool@gnu.org>. +# GNU libtool home page: <http://www.gnu.org/software/libtool/>. +# General help using GNU software: <http://www.gnu.org/gethelp/>. + +PROGRAM=libtool +PACKAGE=libtool +VERSION="2.4.2 Debian-2.4.2-1.11" +TIMESTAMP="" +package_revision=1.3337 + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# NLS nuisances: We save the old values to restore during execute mode. +lt_user_locale= +lt_safe_locale= +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + fi" +done +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +$lt_unset CDPATH + + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + + + +: ${CP="cp -f"} +test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} +: ${Xsed="$SED -e 1s/^X//"} + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +exit_status=$EXIT_SUCCESS + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} # func_dirname may be replaced by extended shell implementation + + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "${1}" | $SED "$basename"` +} # func_basename may be replaced by extended shell implementation + + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` +} # func_dirname_and_basename may be replaced by extended shell implementation + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname may be replaced by extended shell implementation + + +# These SED scripts presuppose an absolute path with a trailing slash. +pathcar='s,^/\([^/]*\).*$,\1,' +pathcdr='s,^/[^/]*,,' +removedotparts=':dotsl + s@/\./@/@g + t dotsl + s,/\.$,/,' +collapseslashes='s@/\{1,\}@/@g' +finalslash='s,/*$,/,' + +# func_normal_abspath PATH +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +# value returned in "$func_normal_abspath_result" +func_normal_abspath () +{ + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` + while :; do + # Processed it all yet? + if test "$func_normal_abspath_tpath" = / ; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result" ; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + +# func_relative_path SRCDIR DSTDIR +# generates a relative path from SRCDIR to DSTDIR, with a trailing +# slash if non-empty, suitable for immediately appending a filename +# without needing to append a separator. +# value returned in "$func_relative_path_result" +func_relative_path () +{ + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=${func_dirname_result} + if test "x$func_relative_path_tlibdir" = x ; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test "x$func_stripname_result" != x ; then + func_relative_path_result=${func_relative_path_result}/${func_stripname_result} + fi + + # Normalisation. If bindir is libdir, return empty string, + # else relative path ending with a slash; either way, target + # file name can be directly appended. + if test ! -z "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result/" + func_relative_path_result=$func_stripname_result + fi +} + +# The name of this program: +func_dirname_and_basename "$progpath" +progname=$func_basename_result + +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' + +# Sed substitution that converts a w32 file name or path +# which contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }$*" +} + +# func_verbose arg... +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $opt_verbose && func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +# func_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 + + # bash bug again: + : +} + +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` + done + my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} + + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$opt_dry_run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" + fi + + $ECHO "$my_tmpdir" +} + + +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () +{ + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + esac +} + + +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "$1" | $SED \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + *) + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" +} + + +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + +# func_tr_sh +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $opt_debug + + $SED -n '/(C)/!b go + :more + /\./!{ + N + s/\n# / / + b more + } + :go + /^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? +} + +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $opt_debug + + $SED -n '/^# Usage:/,/^# *.*--help/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + echo + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help [NOEXIT] +# Echo long help message to standard output and exit, +# unless 'noexit' is passed as argument. +func_help () +{ + $opt_debug + + $SED -n '/^# Usage:/,/# Report bugs to/ { + :print + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ + p + d + } + /^# .* home page:/b print + /^# General help using/b print + ' < "$progpath" + ret=$? + if test -z "$1"; then + exit $ret + fi +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $opt_debug + + func_error "missing argument for $1." + exit_cmd=exit +} + + +# func_split_short_opt shortopt +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +func_split_short_opt () +{ + my_sed_short_opt='1s/^\(..\).*$/\1/;q' + my_sed_short_rest='1s/^..\(.*\)$/\1/;q' + + func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` + func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` +} # func_split_short_opt may be replaced by extended shell implementation + + +# func_split_long_opt longopt +# Set func_split_long_opt_name and func_split_long_opt_arg shell +# variables after splitting LONGOPT at the `=' sign. +func_split_long_opt () +{ + my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' + my_sed_long_arg='1s/^--[^=]*=//' + + func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` + func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` +} # func_split_long_opt may be replaced by extended shell implementation + +exit_cmd=: + + + + + +magic="%%%MAGIC variable%%%" +magic_exe="%%%MAGIC EXE variable%%%" + +# Global variables. +nonopt= +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "${1}=\$${1}\${2}" +} # func_append may be replaced by extended shell implementation + +# func_append_quoted var value +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +func_append_quoted () +{ + func_quote_for_eval "${2}" + eval "${1}=\$${1}\\ \$func_quote_for_eval_result" +} # func_append_quoted may be replaced by extended shell implementation + + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "${@}"` +} # func_arith may be replaced by extended shell implementation + + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` +} # func_len may be replaced by extended shell implementation + + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` +} # func_lo2o may be replaced by extended shell implementation + + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` +} # func_xform may be replaced by extended shell implementation + + +# func_fatal_configuration arg... +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_error ${1+"$@"} + func_error "See the $PACKAGE documentation for more information." + func_fatal_error "Fatal configuration error." +} + + +# func_config +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + +# func_features +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test "$build_libtool_libs" = yes; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + +# func_enable_tag tagname +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname="$1" + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf="/$re_begincf/,/$re_endcf/p" + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# Shorthand for --mode=foo, only valid as the first argument +case $1 in +clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; +compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; +execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; +finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; +install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; +link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; +uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; +esac + + + +# Option defaults: +opt_debug=: +opt_dry_run=false +opt_config=false +opt_preserve_dup_deps=false +opt_features=false +opt_finish=false +opt_help=false +opt_help_all=false +opt_silent=: +opt_warning=: +opt_verbose=: +opt_silent=false +opt_verbose=false + + +# Parse options once, thoroughly. This comes as soon as possible in the +# script to make things like `--version' happen as quickly as we can. +{ + # this just eases exit handling + while test $# -gt 0; do + opt="$1" + shift + case $opt in + --debug|-x) opt_debug='set -x' + func_echo "enabling shell trace mode" + $opt_debug + ;; + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + --config) + opt_config=: +func_config + ;; + --dlopen|-dlopen) + optarg="$1" + opt_dlopen="${opt_dlopen+$opt_dlopen +}$optarg" + shift + ;; + --preserve-dup-deps) + opt_preserve_dup_deps=: + ;; + --features) + opt_features=: +func_features + ;; + --finish) + opt_finish=: +set dummy --mode finish ${1+"$@"}; shift + ;; + --help) + opt_help=: + ;; + --help-all) + opt_help_all=: +opt_help=': help-all' + ;; + --mode) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_mode="$optarg" +case $optarg in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; +esac + shift + ;; + --no-silent|--no-quiet) + opt_silent=false +func_append preserve_args " $opt" + ;; + --no-warning|--no-warn) + opt_warning=false +func_append preserve_args " $opt" + ;; + --no-verbose) + opt_verbose=false +func_append preserve_args " $opt" + ;; + --silent|--quiet) + opt_silent=: +func_append preserve_args " $opt" + opt_verbose=false + ;; + --verbose|-v) + opt_verbose=: +func_append preserve_args " $opt" +opt_silent=false + ;; + --tag) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_tag="$optarg" +func_append preserve_args " $opt $optarg" +func_enable_tag "$optarg" + shift + ;; + + -\?|-h) func_usage ;; + --help) func_help ;; + --version) func_version ;; + + # Separate optargs to long options: + --*=*) + func_split_long_opt "$opt" + set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-n*|-v*) + func_split_short_opt "$opt" + set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognized option \`$opt'" ;; + *) set dummy "$opt" ${1+"$@"}; shift; break ;; + esac + done + + # Validate options: + + # save first non-option argument + if test "$#" -gt 0; then + nonopt="$opt" + shift + fi + + # preserve --debug + test "$opt_debug" = : || func_append preserve_args " --debug" + + case $host in + *cygwin* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" + fi + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test "$opt_mode" != execute; then + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$progname --help --mode=$opt_mode' for more information." + } + + + # Bail if the options were screwed + $exit_cmd $EXIT_FAILURE +} + + + + +## ----------- ## +## Main. ## +## ----------- ## + +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case "$lt_sysroot:$1" in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result="=$func_stripname_result" + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none + fi + + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <<EOF +# $write_libobj - a libtool object file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object=$write_lobj + +# Name of the non-PIC object +non_pic_object=$write_oldobj + +EOF + $MV "${write_libobj}T" "${write_libobj}" + } +} + + +################################################## +# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # +################################################## + +# func_convert_core_file_wine_to_w32 ARG +# Helper function used by file name conversion functions when $build is *nix, +# and $host is mingw, cygwin, or some other w32 environment. Relies on a +# correctly configured wine environment available, with the winepath program +# in $build's $PATH. +# +# ARG is the $build file name to be converted to w32 format. +# Result is available in $func_convert_core_file_wine_to_w32_result, and will +# be empty on error (or when ARG is empty) +func_convert_core_file_wine_to_w32 () +{ + $opt_debug + func_convert_core_file_wine_to_w32_result="$1" + if test -n "$1"; then + # Unfortunately, winepath does not exit with a non-zero error code, so we + # are forced to check the contents of stdout. On the other hand, if the + # command is not found, the shell will set an exit code of 127 and print + # *an error message* to stdout. So we must check for both error code of + # zero AND non-empty stdout, which explains the odd construction: + func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$lt_sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $opt_debug + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result="" + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result" ; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $opt_debug + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $opt_debug + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $opt_debug + if test -z "$2" && test -n "$1" ; then + func_error "Could not determine host file name corresponding to" + func_error " \`$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result="$1" + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $opt_debug + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " \`$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result="$3" + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $opt_debug + case $4 in + $1 ) func_to_host_path_result="$3$func_to_host_path_result" + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via `$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $opt_debug + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $opt_debug + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result="$1" +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result="$func_convert_core_msys_to_w32_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result="$func_cygpath_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result="$func_cygpath_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via `$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $opt_debug + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd="func_convert_path_${func_stripname_result}" + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $opt_debug + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result="$1" +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_msys_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_mode_compile arg... +func_mode_compile () +{ + $opt_debug + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify \`-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + func_append_quoted lastarg "$arg" + done + IFS="$save_ifs" + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with \`-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj="$func_basename_result" + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from \`$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" + lobj=${xdir}$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test "$opt_mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode \`$opt_mode'" + ;; + esac + + echo + $ECHO "Try \`$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test "$opt_help" = :; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | sed -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + sed '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir="$func_dirname_result" + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" + ;; + + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} + +test "$opt_mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "\`$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument \`$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and \`=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test "$opt_mode" = finish && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test "x$prev" = x-m && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test "$opt_mode" = install && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename="" + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname" ; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename="$func_basename_result" + else + # no lafile. user explicitly requested -dlpreopen <import library>. + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename" ; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" + fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $opt_debug + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $opt_debug + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive which possess that section. Heuristic: eliminate + # all those which have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $opt_debug + if func_cygming_gnu_implib_p "$1" ; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1" ; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result="" + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + if test "$lock_old_archive_extraction" = yes; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test "$lock_old_archive_extraction" = yes; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ which is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options which match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat <<EOF + +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION + + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. + + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. +*/ +EOF + cat <<"EOF" +#ifdef _MSC_VER +# define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#include <stdio.h> +#include <stdlib.h> +#ifdef _MSC_VER +# include <direct.h> +# include <process.h> +# include <io.h> +#else +# include <unistd.h> +# include <stdint.h> +# ifdef __CYGWIN__ +# include <io.h> +# endif +#endif +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <sys/stat.h> + +/* declarations of non-ANSI functions */ +#if defined(__MINGW32__) +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined(__CYGWIN__) +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined (other platforms) ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined(_MSC_VER) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +# ifndef _INTPTR_T_DEFINED +# define _INTPTR_T_DEFINED +# define intptr_t int +# endif +#elif defined(__MINGW32__) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined(__CYGWIN__) +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined (other platforms) ... */ +#endif + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#if defined(LT_DEBUGWRAPPER) +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <<EOF +volatile const char * MAGIC_EXE = "$magic_exe"; +const char * LIB_PATH_VARNAME = "$shlibpath_var"; +EOF + + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + func_to_host_path "$temp_rpath" + cat <<EOF +const char * LIB_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * LIB_PATH_VALUE = ""; +EOF + fi + + if test -n "$dllsearchpath"; then + func_to_host_path "$dllsearchpath:" + cat <<EOF +const char * EXE_PATH_VARNAME = "PATH"; +const char * EXE_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * EXE_PATH_VARNAME = ""; +const char * EXE_PATH_VALUE = ""; +EOF + fi + + if test "$fast_install" = yes; then + cat <<EOF +const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ +EOF + else + cat <<EOF +const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ +EOF + fi + + + cat <<"EOF" + +#define LTWRAPPER_OPTION_PREFIX "--lt-" + +static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; +static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; +static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; + +int +main (int argc, char *argv[]) +{ + char **newargz; + int newargc; + char *tmp_pathspec; + char *actual_cwrapper_path; + char *actual_cwrapper_name; + char *target_name; + char *lt_argv_zero; + intptr_t rval = 127; + + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + newargz = XMALLOC (char *, argc + 1); + + /* very simple arg parsing; don't want to rely on getopt + * also, copy all non cwrapper options to newargz, except + * argz[0], which is handled differently + */ + newargc=0; + for (i = 1; i < argc; i++) + { + if (strcmp (argv[i], dumpscript_opt) == 0) + { +EOF + case "$host" in + *mingw* | *cygwin* ) + # make stdout use "unix" line endings + echo " setmode(1,_O_BINARY);" + ;; + esac + + cat <<"EOF" + lt_dump_script (stdout); + return 0; + } + if (strcmp (argv[i], debug_opt) == 0) + { + lt_debug = 1; + continue; + } + if (strcmp (argv[i], ltwrapper_option_prefix) == 0) + { + /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX + namespace, but it is not one of the ones we know about and + have already dealt with, above (inluding dump-script), then + report an error. Otherwise, targets might begin to believe + they are allowed to use options in the LTWRAPPER_OPTION_PREFIX + namespace. The first time any user complains about this, we'll + need to make LTWRAPPER_OPTION_PREFIX a configure-time option + or a configure.ac-settable value. + */ + lt_fatal (__FILE__, __LINE__, + "unrecognized %s option: '%s'", + ltwrapper_option_prefix, argv[i]); + } + /* otherwise ... */ + newargz[++newargc] = xstrdup (argv[i]); + } + newargz[++newargc] = NULL; + +EOF + cat <<EOF + /* The GNU banner must be the first non-error debug message */ + lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n"); +EOF + cat <<"EOF" + lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); + lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); + + tmp_pathspec = find_executable (argv[0]); + if (tmp_pathspec == NULL) + lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (before symlink chase) at: %s\n", + tmp_pathspec); + + actual_cwrapper_path = chase_symlinks (tmp_pathspec); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (after symlink chase) at: %s\n", + actual_cwrapper_path); + XFREE (tmp_pathspec); + + actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); + strendzap (actual_cwrapper_path, actual_cwrapper_name); + + /* wrapper name transforms */ + strendzap (actual_cwrapper_name, ".exe"); + tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); + XFREE (actual_cwrapper_name); + actual_cwrapper_name = tmp_pathspec; + tmp_pathspec = 0; + + /* target_name transforms -- use actual target program name; might have lt- prefix */ + target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); + strendzap (target_name, ".exe"); + tmp_pathspec = lt_extend_str (target_name, ".exe", 1); + XFREE (target_name); + target_name = tmp_pathspec; + tmp_pathspec = 0; + + lt_debugprintf (__FILE__, __LINE__, + "(main) libtool target name: %s\n", + target_name); +EOF + + cat <<EOF + newargz[0] = + XMALLOC (char, (strlen (actual_cwrapper_path) + + strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); + strcpy (newargz[0], actual_cwrapper_path); + strcat (newargz[0], "$objdir"); + strcat (newargz[0], "/"); +EOF + + cat <<"EOF" + /* stop here, and copy so we don't have to do this twice */ + tmp_pathspec = xstrdup (newargz[0]); + + /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ + strcat (newargz[0], actual_cwrapper_name); + + /* DO want the lt- prefix here if it exists, so use target_name */ + lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); + XFREE (tmp_pathspec); + tmp_pathspec = NULL; +EOF + + case $host_os in + mingw*) + cat <<"EOF" + { + char* p; + while ((p = strchr (newargz[0], '\\')) != NULL) + { + *p = '/'; + } + while ((p = strchr (lt_argv_zero, '\\')) != NULL) + { + *p = '/'; + } + } +EOF + ;; + esac + + cat <<"EOF" + XFREE (target_name); + XFREE (actual_cwrapper_path); + XFREE (actual_cwrapper_name); + + lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ + lt_setenv ("DUALCASE", "1"); /* for MSK sh */ + /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must + be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) + because on Windows, both *_VARNAMEs are PATH but uninstalled + libraries must come first. */ + lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); + lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); + + lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", + nonnull (lt_argv_zero)); + for (i = 0; i < newargc; i++) + { + lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", + i, nonnull (newargz[i])); + } + +EOF + + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + newargz = prepare_spawn (newargz); + rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + lt_debugprintf (__FILE__, __LINE__, + "(main) failed to launch target \"%s\": %s\n", + lt_argv_zero, nonnull (strerror (errno))); + return 127; + } + return rval; +EOF + ;; + *) + cat <<"EOF" + execv (lt_argv_zero, newargz); + return rval; /* =127, but avoids unused variable warning */ +EOF + ;; + esac + + cat <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void *p = (void *) malloc (num); + if (!p) + lt_fatal (__FILE__, __LINE__, "memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), + string) : NULL; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char) name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable (const char *path) +{ + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + int len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + int orig_value_len = strlen (orig_value); + int add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + int len = strlen (new_value); + while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[len-1] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $opt_debug + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir="$arg" + prev= + continue + ;; + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between \`-L' and \`$1'" + else + func_fatal_error "need path for \`-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module="${wl}-multi_module" + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-flto*|-fwhopr*|-fuse-linker-plugin) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps ; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" + fi + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + else + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + + if test "$found" = yes || test -f "$lib"; then : + else + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" + fi + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test "$prefer_static_libs" = yes || + test "$prefer_static_libs,$installed" = "built,no"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib="$l" + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$lt_sysroot$libdir" + absdir="$lt_sysroot$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + case "$host" in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi + done + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + echo + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$opt_mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$absdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$opt_mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system can not link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" + + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "\`-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test "$module" = no && \ + func_fatal_help "libtool library \`$output' must begin with \`lib'" + + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" + + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|qnx|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + func_append verstring ":${current}.0" + ;; + + qnx) + major=".$current" + versuffix=".$current" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + fi + + func_generate_dlsyms "$libname" "$libname" "yes" + func_append libobjs " $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$opt_mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + ldd_output=`ldd conftest` + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which I believe you do not have" + echo "*** because a test_compile did reveal that the linker did not use it for" + echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because a test_compile did reveal that the linker did not use this one" + echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + echo + $ECHO "*** Warning! Library $i is needed by this library but I was not able to" + echo "*** make it link in! You will probably need to install it or some" + echo "*** library that it depends on before this library will be fully" + echo "*** functional. Installing it before continuing would be even better." + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method; shift + file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + if test -n "$file_magic_glob"; then + libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` + else + libnameglob=$libname + fi + test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + if test "$want_nocaseglob" = yes; then + shopt -s nocaseglob + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs="$new_libs" + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + # Remove ${wl} instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes + fi + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd1 in $cmds; do + IFS="$save_ifs" + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test "$try_normal_branch" = yes \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=${output_objdir}/${output_la}.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\${concat_cmds}$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + fi + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" + + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " ${wl}-bind_at_load" + func_append finalize_command " ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=yes + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=no + ;; + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + fi + + exit $exit_status + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + func_append oldobjs " $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + func_resolve_sysroot "$deplib" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test "x$bindir" != x ; + then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +{ test "$opt_mode" = link || test "$opt_mode" = relink; } && + func_mode_link ${1+"$@"} + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=yes ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + odir="$objdir" + else + odir="$dir/$objdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$opt_mode" = uninstall && odir="$dir" + + # Remember odir for removal later, being careful to avoid duplicates + if test "$opt_mode" = clean; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case "$opt_mode" in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && + test "$pic_object" != none; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$opt_mode" = clean ; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + func_append rmfiles " $odir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$opt_mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# vi:sw=2 + diff --git a/polly/lib/External/isl/m4/ax_cflags_warn_all.m4 b/polly/lib/External/isl/m4/ax_cflags_warn_all.m4 deleted file mode 100644 index 026c6e98415..00000000000 --- a/polly/lib/External/isl/m4/ax_cflags_warn_all.m4 +++ /dev/null @@ -1,149 +0,0 @@ -# =========================================================================== -# http://www.nongnu.org/autoconf-archive/ax_cflags_warn_all.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])] -# -# DESCRIPTION -# -# Try to find a compiler option that enables most reasonable warnings. -# -# For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The -# result is added to the shellvar being CFLAGS by default. -# -# Currently this macro knows about GCC, Solaris C compiler, Digital Unix C -# compiler, C for AIX Compiler, HP-UX C compiler, IRIX C compiler, NEC -# SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos 10.0.0.8) C -# compiler. -# -# - $1 shell-variable-to-add-to : CFLAGS -# - $2 add-value-if-not-found : nothing -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 2 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see <http://www.gnu.org/licenses/>. -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl -AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_C - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic % -Wall" dnl GCC - "-xstrconst % -v" dnl Solaris C - "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix - "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX - "-ansi -ansiE % -fullwarn" dnl IRIX - "+ESlit % +w1" dnl HP-UX C - "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h msglevel 2" dnl Cray C (Unicos) - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ - AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - -dnl the only difference - the LANG selection... and the default FLAGS - -AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl -AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_warn_all])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic % -Wall" dnl GCC - "-xstrconst % -v" dnl Solaris C - "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix - "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX - "-ansi -ansiE % -fullwarn" dnl IRIX - "+ESlit % +w1" dnl HP-UX C - "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10) - "-h conform % -h msglevel 2" dnl Cray C (Unicos) - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[ - AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - -dnl implementation tactics: -dnl the for-argument contains a list of options. The first part of -dnl these does only exist to detect the compiler - usually it is -dnl a global option to enable -ansi or -extrawarnings. All other -dnl compilers will fail about it. That was needed since a lot of -dnl compilers will give false positives for some option-syntax -dnl like -Woption or -Xoption as they think of it is a pass-through -dnl to later compile stages or something. The "%" is used as a -dnl delimimiter. A non-option comment can be given after "%%" marks -dnl which will be shown but not added to the respective C/CXXFLAGS. diff --git a/polly/lib/External/isl/m4/libtool.m4 b/polly/lib/External/isl/m4/libtool.m4 new file mode 100644 index 00000000000..d7c043f4f99 --- /dev/null +++ b/polly/lib/External/isl/m4/libtool.m4 @@ -0,0 +1,7997 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 57 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# `#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test $lt_write_fail = 0 && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to <bug-libtool@gnu.org>." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_REPLACE_SHELLFNS + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script which will find a shell with a builtin +# printf (which we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case "$ECHO" in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[ --with-sysroot[=DIR] Search for dependent libraries within DIR + (or the compiler's sysroot if not specified).], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and in which our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +_LT_PATH_LD_GNU +AC_SUBST([LD]) + +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) +])# LT_PATH_LD + +# Old names: +AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) +AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_LD], []) +dnl AC_DEFUN([AC_PROG_LD], []) + + +# _LT_PATH_LD_GNU +#- -------------- +m4_defun([_LT_PATH_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac]) +with_gnu_ld=$lt_cv_prog_gnu_ld +])# _LT_PATH_LD_GNU + + +# _LT_CMD_RELOAD +# -------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +m4_defun([_LT_CMD_RELOAD], +[AC_CACHE_CHECK([for $LD option to reload object files], + lt_cv_ld_reload_flag, + [lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac +_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl +_LT_TAGDECL([], [reload_cmds], [2])dnl +])# _LT_CMD_RELOAD + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS="$save_LDFLAGS"]) + if test "$lt_cv_irix_exported_symbol" = yes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" + CFLAGS="$lt_save_CFLAGS" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) +# ------------------------------------------------------ +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. +m4_defun([_LT_PROG_FUNCTION_REPLACE], +[dnl { +sed -e '/^$1 ()$/,/^} # $1 /c\ +$1 ()\ +{\ +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: +]) + + +# _LT_PROG_REPLACE_SHELLFNS +# ------------------------- +# Replace existing portable implementations of several shell functions with +# equivalent extended shell implementations where those features are available.. +m4_defun([_LT_PROG_REPLACE_SHELLFNS], +[if test x"$xsi_shell" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl + func_split_long_opt_name=${1%%=*} + func_split_long_opt_arg=${1#*=}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) + + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) + + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) + + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) +fi + +if test x"$lt_shell_append" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) + + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl + func_quote_for_eval "${2}" +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) +fi +]) + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine which file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/polly/lib/External/isl/m4/ltoptions.m4 b/polly/lib/External/isl/m4/ltoptions.m4 new file mode 100644 index 00000000000..5d9acd8e23b --- /dev/null +++ b/polly/lib/External/isl/m4/ltoptions.m4 @@ -0,0 +1,384 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 7 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/polly/lib/External/isl/m4/ltsugar.m4 b/polly/lib/External/isl/m4/ltsugar.m4 new file mode 100644 index 00000000000..9000a057d31 --- /dev/null +++ b/polly/lib/External/isl/m4/ltsugar.m4 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/polly/lib/External/isl/m4/ltversion.m4 b/polly/lib/External/isl/m4/ltversion.m4 new file mode 100644 index 00000000000..07a8602d48d --- /dev/null +++ b/polly/lib/External/isl/m4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 3337 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.2' +macro_revision='1.3337' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/polly/lib/External/isl/m4/lt~obsolete.m4 b/polly/lib/External/isl/m4/lt~obsolete.m4 new file mode 100644 index 00000000000..c573da90c5c --- /dev/null +++ b/polly/lib/External/isl/m4/lt~obsolete.m4 @@ -0,0 +1,98 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/polly/lib/External/isl/missing b/polly/lib/External/isl/missing new file mode 100644 index 00000000000..db98974ff5d --- /dev/null +++ b/polly/lib/External/isl/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2013-10-28.13; # UTC + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to <bug-automake@gnu.org>." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/polly/lib/External/isl/test-driver b/polly/lib/External/isl/test-driver new file mode 100644 index 00000000000..d30605660a0 --- /dev/null +++ b/polly/lib/External/isl/test-driver @@ -0,0 +1,139 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <<END +Usage: + test-driver --test-name=NAME --log-file=PATH --trs-file=PATH + [--expect-failure={yes|no}] [--color-tests={yes|no}] + [--enable-hard-errors={yes|no}] [--] + TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] +The '--test-name', '--log-file' and '--trs-file' options are mandatory. +END +} + +test_name= # Used for reporting. +log_file= # Where to save the output of the test script. +trs_file= # Where to save the metadata of the test run. +expect_failure=no +color_tests=no +enable_hard_errors=yes +while test $# -gt 0; do + case $1 in + --help) print_usage; exit $?;; + --version) echo "test-driver $scriptversion"; exit $?;; + --test-name) test_name=$2; shift;; + --log-file) log_file=$2; shift;; + --trs-file) trs_file=$2; shift;; + --color-tests) color_tests=$2; shift;; + --expect-failure) expect_failure=$2; shift;; + --enable-hard-errors) enable_hard_errors=$2; shift;; + --) shift; break;; + -*) usage_error "invalid option: '$1'";; + *) break;; + esac + shift +done + +missing_opts= +test x"$test_name" = x && missing_opts="$missing_opts --test-name" +test x"$log_file" = x && missing_opts="$missing_opts --log-file" +test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" +if test x"$missing_opts" != x; then + usage_error "the following mandatory options are missing:$missing_opts" +fi + +if test $# -eq 0; then + usage_error "missing argument" +fi + +if test $color_tests = yes; then + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. + red='[0;31m' # Red. + grn='[0;32m' # Green. + lgn='[1;32m' # Light green. + blu='[1;34m' # Blue. + mgn='[0;35m' # Magenta. + std='[m' # No color. +else + red= grn= lgn= blu= mgn= std= +fi + +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' +trap "st=129; $do_exit" 1 +trap "st=130; $do_exit" 2 +trap "st=141; $do_exit" 13 +trap "st=143; $do_exit" 15 + +# Test script is run here. +"$@" >$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: |