diff options
author | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-04-28 12:41:00 +0300 |
---|---|---|
committer | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-04-28 12:41:00 +0300 |
commit | d43b7ece11f69b40ce622932ca5984037e746f0d (patch) | |
tree | 71d70f6f2cc8d25a2600e7bb098b3f4d961af6b6 /contrib | |
parent | a447193ffaba945617c168539a78d6b911372369 (diff) | |
download | ydb-d43b7ece11f69b40ce622932ca5984037e746f0d.tar.gz |
intermediate changes
ref:c05ee82f93a09541e081e91f89591e8a617e352a
Diffstat (limited to 'contrib')
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; -} - - |