My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
factory
cfNTLzzpEXGCD.h
Go to the documentation of this file.
1
/*****************************************************************************\
2
* Computer Algebra System SINGULAR
3
\*****************************************************************************/
4
/** @file cfNTLzzpEXGCD.h
5
*
6
* This file defines functions for univariate GCD and extended GCD
7
* over Z/p[t]/(f)[x] for reducible f
8
*
9
* @note the following code is slightly modified code out of
10
* lzz_pEX.h from Victor Shoup's NTL. Below is NTL's copyright notice.
11
*
12
* ABSTRACT: Langemyr, McCallum "The Computation of Polynomial Greatest Common
13
* Divisors over an algebraic number fields"
14
*
15
* @author Martin Lee
16
*
17
18
19
COPYRIGHT NOTICE
20
for NTL 5.5
21
(modified for Singular 2-0-6 - 3-1)
22
23
NTL -- A Library for Doing Number Theory
24
Copyright (C) 1996-2009 Victor Shoup
25
26
The most recent version of NTL is available at http://www.shoup.net
27
28
This program is free software; you can redistribute it and/or
29
modify it under the terms of the GNU General Public License
30
as published by the Free Software Foundation; either version 2
31
of the License, or (at your option) any later version.
32
33
This program is distributed in the hope that it will be useful,
34
but WITHOUT ANY WARRANTY; without even the implied warranty of
35
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36
GNU General Public License for more details.
37
38
You should have received a copy of the GNU General Public License
39
along with this program; if not, write to the Free Software
40
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
41
42
This entire copyright notice should be placed in an appropriately
43
conspicuous place accompanying all distributions of software that
44
make use of NTL.
45
46
The above terms apply to all of the software modules distributed with NTL,
47
i.e., all source files in either the ntl-xxx.tar.gz or WinNTL-xxx.zip
48
distributions. In general, the individual files do not contain
49
copyright notices.
50
51
Note that the quad_float package is derived from the doubledouble package,
52
originally developed by Keith Briggs, and also licensed unger the GNU GPL.
53
The files quad_float.c and quad_float.h contain more detailed copyright
54
notices.
55
56
Note that the traditional long integer package used by NTL, lip.c, is derived
57
from---and represents an extensive modification of---
58
a package originally developed and copyrighted by Arjen Lenstra,
59
who has agreed to renounce any copyright claims on the particular
60
version of the long integer package appearing in NTL, so that the
61
this package now is covered by the GNU GPL as well.
62
63
Note that the alternative long integer package used by NTL is GMP,
64
which is written by Torbjorn Granlund <tege@swox.com>.
65
GMP is licensed under the terms of the GNU Lesser General Public License.
66
67
Note that NTL makes use of the RSA Data Security, Inc. MD5 Message
68
Digest Algorithm.
69
70
Note that prior to version 4.0, NTL was distributed under the following terms:
71
NTL is freely available for research and educational purposes.
72
I don't want to attach any legalistic licensing restrictions on
73
users of NTL.
74
However, NTL should not be linked in a commercial program
75
(although using data in a commercial
76
product produced by a program that used NTL is fine).
77
78
The hope is that the GNU GPL is actually less restrictive than these
79
older terms; however, in any circumstances such that GNU GPL is more
80
restrictive, then the following rule is in force:
81
versions prior to 4.0 may continue to be used under the old terms,
82
but users of versions 4.0 or later should adhere to the terms of the GNU GPL.
83
**/
84
85
86
#ifndef CF_NTL_ZZ_PEX_GCD_H
87
#define CF_NTL_ZZ_PEX_GCD_H
88
89
// #include "config.h"
90
91
#ifdef HAVE_NTL
92
#include "
NTLconvert.h
"
93
#endif
94
95
#ifdef HAVE_NTL
96
/// compute the GCD x of a and b, fail is set to true if a zero divisor is
97
/// encountered
98
void
tryNTLGCD
(zz_pEX&
x
,
///<[in,out] GCD of a and b
99
const
zz_pEX& a,
///<[in] s.a.
100
const
zz_pEX&
b
,
///<[in] s.a.
101
bool
& fail
///<[in,out] s.a.
102
);
103
104
/// compute the extended GCD d=s*a+t*b, fail is set to true if a zero divisor is
105
/// encountered
106
void
tryNTLXGCD
(zz_pEX& d,
///<[in,out] GCD of a and b
107
zz_pEX&
s
,
///<[in,out] s. a.
108
zz_pEX& t,
///<[in,out] s. a.
109
const
zz_pEX& a,
///<[in] s. a.
110
const
zz_pEX&
b
,
///<[in] s. a.
111
bool
& fail
///<[in,out] s. a.
112
);
113
#endif
114
115
#endif
NTLconvert.h
Conversion to and from NTL.
x
Variable x
Definition
cfModGcd.cc:4090
b
CanonicalForm b
Definition
cfModGcd.cc:4111
tryNTLGCD
void tryNTLGCD(zz_pEX &x, const zz_pEX &a, const zz_pEX &b, bool &fail)
compute the GCD x of a and b, fail is set to true if a zero divisor is encountered
Definition
cfNTLzzpEXGCD.cc:242
tryNTLXGCD
void tryNTLXGCD(zz_pEX &d, zz_pEX &s, zz_pEX &t, const zz_pEX &a, const zz_pEX &b, bool &fail)
compute the extended GCD d=s*a+t*b, fail is set to true if a zero divisor is encountered
Definition
cfNTLzzpEXGCD.cc:281
s
const CanonicalForm int s
Definition
facAbsFact.cc:51
Generated on
for My Project by
doxygen 1.17.0
for
Singular