diff options
Diffstat (limited to 'linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c')
-rw-r--r--[-rwxr-xr-x] | linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c b/linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c index 898104e..51841e7 100755..100644 --- a/linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c +++ b/linden/indra/libgcrypt/libgcrypt-1.2.2/mpi/mpi-gcd.c | |||
@@ -1,54 +1,54 @@ | |||
1 | /* mpi-gcd.c - MPI functions | 1 | /* mpi-gcd.c - MPI functions |
2 | * Copyright (C) 1998, 2001, 2002, 2003 Free Software Foundation, Inc. | 2 | * Copyright (C) 1998, 2001, 2002, 2003 Free Software Foundation, Inc. |
3 | * | 3 | * |
4 | * This file is part of Libgcrypt. | 4 | * This file is part of Libgcrypt. |
5 | * | 5 | * |
6 | * Libgcrypt is free software; you can redistribute it and/or modify | 6 | * Libgcrypt is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU Lesser General Public License as | 7 | * it under the terms of the GNU Lesser General Public License as |
8 | * published by the Free Software Foundation; either version 2.1 of | 8 | * published by the Free Software Foundation; either version 2.1 of |
9 | * the License, or (at your option) any later version. | 9 | * the License, or (at your option) any later version. |
10 | * | 10 | * |
11 | * Libgcrypt is distributed in the hope that it will be useful, | 11 | * Libgcrypt is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | * GNU Lesser General Public License for more details. | 14 | * GNU Lesser General Public License for more details. |
15 | * | 15 | * |
16 | * You should have received a copy of the GNU Lesser General Public | 16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with this program; if not, write to the Free Software | 17 | * License along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA | 18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <config.h> | 21 | #include <config.h> |
22 | #include <stdio.h> | 22 | #include <stdio.h> |
23 | #include <stdlib.h> | 23 | #include <stdlib.h> |
24 | #include "mpi-internal.h" | 24 | #include "mpi-internal.h" |
25 | 25 | ||
26 | /**************** | 26 | /**************** |
27 | * Find the greatest common divisor G of A and B. | 27 | * Find the greatest common divisor G of A and B. |
28 | * Return: true if this 1, false in all other cases | 28 | * Return: true if this 1, false in all other cases |
29 | */ | 29 | */ |
30 | int | 30 | int |
31 | gcry_mpi_gcd( gcry_mpi_t g, gcry_mpi_t xa, gcry_mpi_t xb ) | 31 | gcry_mpi_gcd( gcry_mpi_t g, gcry_mpi_t xa, gcry_mpi_t xb ) |
32 | { | 32 | { |
33 | gcry_mpi_t a, b; | 33 | gcry_mpi_t a, b; |
34 | 34 | ||
35 | a = mpi_copy(xa); | 35 | a = mpi_copy(xa); |
36 | b = mpi_copy(xb); | 36 | b = mpi_copy(xb); |
37 | 37 | ||
38 | /* TAOCP Vol II, 4.5.2, Algorithm A */ | 38 | /* TAOCP Vol II, 4.5.2, Algorithm A */ |
39 | a->sign = 0; | 39 | a->sign = 0; |
40 | b->sign = 0; | 40 | b->sign = 0; |
41 | while( gcry_mpi_cmp_ui( b, 0 ) ) { | 41 | while( gcry_mpi_cmp_ui( b, 0 ) ) { |
42 | _gcry_mpi_fdiv_r( g, a, b ); /* g used as temorary variable */ | 42 | _gcry_mpi_fdiv_r( g, a, b ); /* g used as temorary variable */ |
43 | mpi_set(a,b); | 43 | mpi_set(a,b); |
44 | mpi_set(b,g); | 44 | mpi_set(b,g); |
45 | } | 45 | } |
46 | mpi_set(g, a); | 46 | mpi_set(g, a); |
47 | 47 | ||
48 | mpi_free(a); | 48 | mpi_free(a); |
49 | mpi_free(b); | 49 | mpi_free(b); |
50 | return !gcry_mpi_cmp_ui( g, 1); | 50 | return !gcry_mpi_cmp_ui( g, 1); |
51 | } | 51 | } |
52 | 52 | ||
53 | 53 | ||
54 | 54 | ||