aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-04-28 12:41:00 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-04-28 12:41:00 +0300
commitd43b7ece11f69b40ce622932ca5984037e746f0d (patch)
tree71d70f6f2cc8d25a2600e7bb098b3f4d961af6b6 /contrib
parenta447193ffaba945617c168539a78d6b911372369 (diff)
downloadydb-d43b7ece11f69b40ce622932ca5984037e746f0d.tar.gz
intermediate changes
ref:c05ee82f93a09541e081e91f89591e8a617e352a
Diffstat (limited to 'contrib')
-rw-r--r--contrib/tools/python3/src/Include/pyconfig.h2
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/bench.c137
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/bench_full.c193
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/compare.c77
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/div.c77
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/divmod.c82
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/multiply.c77
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/pow.c77
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/powmod.c80
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/shift.c77
-rw-r--r--contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/sqrt.c74
11 files changed, 1 insertions, 952 deletions
diff --git a/contrib/tools/python3/src/Include/pyconfig.h b/contrib/tools/python3/src/Include/pyconfig.h
index cabe1c7a6b..c252299d78 100644
--- a/contrib/tools/python3/src/Include/pyconfig.h
+++ b/contrib/tools/python3/src/Include/pyconfig.h
@@ -1,6 +1,6 @@
#pragma once
-#ifdef Py_BUILD_CORE
+#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE)
#define ABIFLAGS ""
#define PREFIX "/var/empty"
#define EXEC_PREFIX "/var/empty"
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench.c
deleted file mode 100644
index 09138f4ce9..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include "mpdecimal.h"
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-
-static void
-err_exit(const char *msg)
-{
- fprintf(stderr, "%s\n", msg);
- exit(1);
-}
-
-static mpd_t *
-new_mpd(void)
-{
- mpd_t *x = mpd_qnew();
- if (x == NULL) {
- err_exit("out of memory");
- }
-
- return x;
-}
-
-/* Nonsense version of escape-time algorithm for calculating a mandelbrot
- * set. Just for benchmarking. */
-static void
-color_point(mpd_t *x0, mpd_t *y0, long maxiter, mpd_context_t *ctx)
-{
- mpd_t *x, *y, *sq_x, *sq_y;
- mpd_t *two;
-
- x = new_mpd();
- y = new_mpd();
- mpd_set_u32(x, 0, ctx);
- mpd_set_u32(y, 0, ctx);
-
- sq_x = new_mpd();
- sq_y = new_mpd();
- mpd_set_u32(sq_x, 0, ctx);
- mpd_set_u32(sq_y, 0, ctx);
-
- two = new_mpd();
- mpd_set_u32(two, 2, ctx);
-
- for (long i = 0; i < maxiter; i++) {
- mpd_mul(y, x, y, ctx);
- mpd_mul(y, y, two, ctx);
- mpd_add(y, y, y0, ctx);
-
- mpd_sub(x, sq_x, sq_y, ctx);
- mpd_add(x, x, x0, ctx);
-
- mpd_mul(sq_x, x, x, ctx);
- mpd_mul(sq_y, y, y, ctx);
- }
-
- mpd_copy(x0, x, ctx);
-
- mpd_del(two);
- mpd_del(sq_y);
- mpd_del(sq_x);
- mpd_del(y);
- mpd_del(x);
-}
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *x0, *y0;
- uint32_t prec = 19;
- long iter = 10000000;
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- err_exit("usage: bench prec iter\n");
- }
- prec = strtoul(argv[1], NULL, 10);
- iter = strtol(argv[2], NULL, 10);
-
- mpd_init(&ctx, prec);
- /* no more MPD_MINALLOC changes after here */
-
- x0 = new_mpd();
- y0 = new_mpd();
- mpd_set_string(x0, "0.222", &ctx);
- mpd_set_string(y0, "0.333", &ctx);
- if (ctx.status & MPD_Errors) {
- mpd_del(y0);
- mpd_del(x0);
- err_exit("unexpected error during conversion");
- }
-
- start_clock = clock();
- color_point(x0, y0, iter, &ctx);
- end_clock = clock();
-
- mpd_print(x0);
- fprintf(stderr, "time: %f\n\n", (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- mpd_del(y0);
- mpd_del(x0);
-
- return 0;
-}
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench_full.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench_full.c
deleted file mode 100644
index 6ab73917e1..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/bench_full.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include "mpdecimal.h"
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-
-static void
-err_exit(const char *msg)
-{
- fprintf(stderr, "%s\n", msg);
- exit(1);
-}
-
-static mpd_t *
-new_mpd(void)
-{
- mpd_t *x = mpd_qnew();
- if (x == NULL) {
- err_exit("out of memory");
- }
-
- return x;
-}
-
-/*
- * Example from: http://en.wikipedia.org/wiki/Mandelbrot_set
- *
- * Escape time algorithm for drawing the set:
- *
- * Point x0, y0 is deemed to be in the Mandelbrot set if the return
- * value is maxiter. Lower return values indicate how quickly points
- * escaped and can be used for coloring.
- */
-static int
-color_point(const mpd_t *x0, const mpd_t *y0, const long maxiter, mpd_context_t *ctx)
-{
- mpd_t *x, *y, *sq_x, *sq_y;
- mpd_t *two, *four, *c;
- long i;
-
- x = new_mpd();
- y = new_mpd();
- mpd_set_u32(x, 0, ctx);
- mpd_set_u32(y, 0, ctx);
-
- sq_x = new_mpd();
- sq_y = new_mpd();
- mpd_set_u32(sq_x, 0, ctx);
- mpd_set_u32(sq_y, 0, ctx);
-
- two = new_mpd();
- four = new_mpd();
- mpd_set_u32(two, 2, ctx);
- mpd_set_u32(four, 4, ctx);
-
- c = new_mpd();
- mpd_set_u32(c, 0, ctx);
-
- for (i = 0; i < maxiter && mpd_cmp(c, four, ctx) <= 0; i++) {
- mpd_mul(y, x, y, ctx);
- mpd_mul(y, y, two, ctx);
- mpd_add(y, y, y0, ctx);
-
- mpd_sub(x, sq_x, sq_y, ctx);
- mpd_add(x, x, x0, ctx);
-
- mpd_mul(sq_x, x, x, ctx);
- mpd_mul(sq_y, y, y, ctx);
- mpd_add(c, sq_x, sq_y, ctx);
- }
-
- mpd_del(c);
- mpd_del(four);
- mpd_del(two);
- mpd_del(sq_y);
- mpd_del(sq_x);
- mpd_del(y);
- mpd_del(x);
-
- return i;
-}
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *x0, *y0;
- mpd_t *sqrt_2, *xstep, *ystep;
- mpd_ssize_t prec = 19;
-
- long iter = 1000;
- int points[40][80];
- int i, j;
- clock_t start_clock, end_clock;
-
-
- if (argc != 3) {
- fprintf(stderr, "usage: ./bench prec iter\n");
- exit(1);
- }
- prec = strtoll(argv[1], NULL, 10);
- iter = strtol(argv[2], NULL, 10);
-
- mpd_init(&ctx, prec);
- /* no more MPD_MINALLOC changes after here */
-
- sqrt_2 = new_mpd();
- xstep = new_mpd();
- ystep = new_mpd();
- x0 = new_mpd();
- y0 = new_mpd();
-
- mpd_set_u32(sqrt_2, 2, &ctx);
- mpd_sqrt(sqrt_2, sqrt_2, &ctx);
- mpd_div_u32(xstep, sqrt_2, 40, &ctx);
- mpd_div_u32(ystep, sqrt_2, 20, &ctx);
-
- start_clock = clock();
- mpd_copy(y0, sqrt_2, &ctx);
- for (i = 0; i < 40; i++) {
- mpd_copy(x0, sqrt_2, &ctx);
- mpd_set_negative(x0);
- for (j = 0; j < 80; j++) {
- points[i][j] = color_point(x0, y0, iter, &ctx);
- mpd_add(x0, x0, xstep, &ctx);
- }
- mpd_sub(y0, y0, ystep, &ctx);
- }
- end_clock = clock();
-
-#ifdef BENCH_VERBOSE
- for (i = 0; i < 40; i++) {
- for (j = 0; j < 80; j++) {
- if (points[i][j] == iter) {
- putchar('*');
- }
- else if (points[i][j] >= 10) {
- putchar('+');
- }
- else if (points[i][j] >= 5) {
- putchar('.');
- }
- else {
- putchar(' ');
- }
- }
- putchar('\n');
- }
- putchar('\n');
-#else
- (void)points; /* suppress gcc warning */
-#endif
-
- printf("time: %f\n\n", (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- mpd_del(y0);
- mpd_del(x0);
- mpd_del(ystep);
- mpd_del(xstep);
- mpd_del(sqrt_2);
-
- return 0;
-}
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/compare.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/compare.c
deleted file mode 100644
index 9051773e11..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/compare.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "compare: usage: ./compare x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_compare(result, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/div.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/div.c
deleted file mode 100644
index b76037d2a6..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/div.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "div: usage: ./div x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_div(result, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/divmod.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/divmod.c
deleted file mode 100644
index 1f2b48306d..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/divmod.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *q, *r;
- char *qs, *rs;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "divmod: usage: ./divmod x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- q = mpd_new(&ctx);
- r = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_divmod(q, r, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- qs = mpd_to_sci(q, 1);
- rs = mpd_to_sci(r, 1);
-
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s %s\n", qs, rs, status_str);
-
- mpd_del(q);
- mpd_del(r);
- mpd_del(a);
- mpd_del(b);
- mpd_free(qs);
- mpd_free(rs);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/multiply.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/multiply.c
deleted file mode 100644
index 7f2687d15f..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/multiply.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "multiply: usage: ./multiply x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_mul(result, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/pow.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/pow.c
deleted file mode 100644
index 628c143427..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/pow.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "pow: usage: ./pow x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_pow(result, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/powmod.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/powmod.c
deleted file mode 100644
index b422fdbbb9..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/powmod.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b, *c;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 4) {
- fprintf(stderr, "powmod: usage: ./powmod x y z\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- c = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
- mpd_set_string(c, argv[3], &ctx);
-
- start_clock = clock();
- mpd_powmod(result, a, b, c, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(c);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/shift.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/shift.c
deleted file mode 100644
index 6d54e108ca..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/shift.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a, *b;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 3) {
- fprintf(stderr, "shift: usage: ./shift x y\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- b = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
- mpd_set_string(b, argv[2], &ctx);
-
- start_clock = clock();
- mpd_shift(result, a, b, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(b);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-
diff --git a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/sqrt.c b/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/sqrt.c
deleted file mode 100644
index d8272789b1..0000000000
--- a/contrib/tools/python3/src/Modules/_decimal/libmpdec/examples/sqrt.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2008-2020 Stefan Krah. 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 THE AUTHOR AND CONTRIBUTORS "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 THE AUTHOR 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.
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <mpdecimal.h>
-
-
-int
-main(int argc, char **argv)
-{
- mpd_context_t ctx;
- mpd_t *a;
- mpd_t *result;
- char *rstring;
- char status_str[MPD_MAX_FLAG_STRING];
- clock_t start_clock, end_clock;
-
- if (argc != 2) {
- fprintf(stderr, "sqrt: usage: ./sqrt x\n");
- exit(1);
- }
-
- mpd_init(&ctx, 38);
- ctx.traps = 0;
-
- result = mpd_new(&ctx);
- a = mpd_new(&ctx);
- mpd_set_string(a, argv[1], &ctx);
-
- start_clock = clock();
- mpd_sqrt(result, a, &ctx);
- end_clock = clock();
- fprintf(stderr, "time: %f\n\n",
- (double)(end_clock-start_clock)/(double)CLOCKS_PER_SEC);
-
- rstring = mpd_to_sci(result, 1);
- mpd_snprint_flags(status_str, MPD_MAX_FLAG_STRING, ctx.status);
- printf("%s %s\n", rstring, status_str);
-
- mpd_del(a);
- mpd_del(result);
- mpd_free(rstring);
-
- return 0;
-}
-
-