diff options
| author | arcadia-devtools <[email protected]> | 2022-04-28 12:41:00 +0300 | 
|---|---|---|
| committer | arcadia-devtools <[email protected]> | 2022-04-28 12:41:00 +0300 | 
| commit | d43b7ece11f69b40ce622932ca5984037e746f0d (patch) | |
| tree | 71d70f6f2cc8d25a2600e7bb098b3f4d961af6b6 /contrib/tools/python3 | |
| parent | a447193ffaba945617c168539a78d6b911372369 (diff) | |
intermediate changes
ref:c05ee82f93a09541e081e91f89591e8a617e352a
Diffstat (limited to 'contrib/tools/python3')
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 cabe1c7a6b3..c252299d780 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 09138f4ce9c..00000000000 --- 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 6ab73917e1c..00000000000 --- 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 9051773e116..00000000000 --- 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 b76037d2a64..00000000000 --- 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 1f2b48306d6..00000000000 --- 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 7f2687d15f8..00000000000 --- 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 628c1434273..00000000000 --- 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 b422fdbbb95..00000000000 --- 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 6d54e108ca8..00000000000 --- 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 d8272789b18..00000000000 --- 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; -} - - | 
