Commit Graph

377 Commits

Author SHA1 Message Date
Eric Berberich ee2bcceeb2 fixed include guards 2008-10-28 09:00:49 +00:00
Michael Hemmer ef395a4992 mv CGAL/Polynomial/polynomial_utils.h CGAL/polynomial_utils.h 2008-10-28 08:36:59 +00:00
Michael Hemmer d83a199818 CGALi::canonicalize_polynomial CGAL::canonicalize
implementation moved into functor
2008-10-28 08:26:34 +00:00
Michael Hemmer 2b8650c24a change CGAL::CGALi::div_utcf to CGAL::integral_division_up_to_constant_factor 2008-10-27 15:43:20 +00:00
Andreas Fabri 79dce104b9 Try to disambuguate for VC8 (as suggested by Michael) 2008-10-23 17:50:38 +00:00
Michael Hemmer 2ae6fda863 Enforce IEEE double precision before using modular arithmetic 2008-10-22 08:55:03 +00:00
Eric Berberich 4c8c522f63 added new constructors for Exponent_vectors 2008-10-21 16:21:57 +00:00
Eric Berberich 29da681961 removed "coefficient" 2008-10-21 16:20:05 +00:00
Michael Hemmer 533adda23a include modular_filter.h since used 2008-10-21 15:57:51 +00:00
Michael Hemmer d702eef7b6 rm empty may_have_common_factor.h 2008-10-21 15:57:23 +00:00
Michael Hemmer 95180e4fdd rm std::vector specific constructors from Exponent_vector 2008-10-15 09:52:17 +00:00
Michael Hemmer 8e7bed8e6d added PT::Construct_cofficient_const_iterator_range
added PT::Construct_innermost_coefficient_const_iterator_range
rm according functors _begin/_end
2008-10-15 08:38:34 +00:00
Michael Hemmer 04d7225d14 public typedefs only within main base class, should help VC8 2008-10-14 16:20:51 +00:00
Eric Berberich b1316d0abc fixed header 2008-10-07 11:04:44 +00:00
Eric Berberich d9fc6089e8 added coefficient 2008-10-06 18:45:52 +00:00
Eric Berberich 0598d13364 added partial substitutions 2008-10-05 16:04:35 +00:00
Eric Berberich dec2d127ce added fiel to collect functions for convenience 2008-10-05 09:15:57 +00:00
Michael Hemmer cd8e4bff2d Coefficient_[iterator|begin|end] -> Coefficient_const_[iterator|begin|end]
same for Innermost_coefficient
2008-10-02 09:29:43 +00:00
Michael Hemmer b6aa6d8644 apply modular filter to gcd functors 2008-09-26 14:52:49 +00:00
Michael Kerber 3d3328366e Added include 2008-09-23 14:27:50 +00:00
Michael Kerber c035b60be1 Moved to Algebraic_kernel_d package 2008-09-23 14:26:54 +00:00
Michael Hemmer 88a20ebf5f RET::Sign -> RET::Sgn 2008-09-18 16:18:08 +00:00
Michael Hemmer c78b05b739 rename Real_embeddable_traits::Sign Sgn
added RET::Boolean, RET::Sign, RET::Comparison_result
2008-09-18 15:35:55 +00:00
Michael Hemmer a97a0b0591 Derive/Derivative -> Differentiate 2008-09-15 09:29:48 +00:00
Andreas Fabri 1cdce34274 specify default template argument only at the declaration 2008-09-11 19:04:52 +00:00
Michael Hemmer cf7e170ec8 Modular_traits::Modular_image_inv -> Modular_image_representative 2008-09-09 12:54:08 +00:00
Michael Hemmer 5f4f1961b4 fixed bug in interpolation of resultant
one should keep track of the right degrees .-)
2008-09-05 14:08:02 +00:00
Michael Hemmer a9ae7696e8 fix bug in get monom rep (was empty for the zero polynomial)
also fixed construction from monom rep, get zero polynomial for empty iterator range
2008-09-05 14:04:52 +00:00
Michael Hemmer c871ff20a9 added missing CT::Cast
added relavant test
2008-09-05 08:33:43 +00:00
Michael Hemmer 1360cb9e0e square_free_factorization -> square_free_factorize
----------
added Joachim von zur Gathen and J\"urgen Gerhard, 
Modern Computer Algebra, Cambridge University Press, 1999
2008-08-08 09:00:24 +00:00
Michael Hemmer 9fcd58c0db square_free_factrorization -> square_free_factorize 2008-08-08 08:53:16 +00:00
Michael Hemmer 2f89408eaf PT:: Innermost_coefficient -> Innermost_coefficient_type
PT:: Coefficient -> Coefficient_type
2008-08-07 09:49:32 +00:00
Michael Hemmer 33b8f3a06a mv Real_embeddable_base to internal namespace 2008-08-06 07:13:21 +00:00
Michael Hemmer cff191916d changed name: CGAL::Modular -> CGAL::Residue
chnaged filenames accordingly 
changed: Modular_traits::Modular_NT -> Modular_traits::Residue_type
2008-08-04 15:09:13 +00:00
Michael Hemmer 03efbda3cd added resultatn algorithm for integral_domain.
Same as for UFD, but using Scalar_factor instead of Content.
2008-08-04 11:56:40 +00:00
Michael Hemmer 671d0af74e use external Cached_extended_euclidean_algorithm 2008-07-31 14:52:00 +00:00
Michael Hemmer c73406aa9c rm flag CGAL_RESULTANT_USE_INTERPOLATE 2008-07-31 14:25:17 +00:00
Michael Hemmer ff620d3430 reduced interface 2008-07-31 13:01:34 +00:00
Michael Hemmer 370dc20d74 propoer file name 2008-07-31 13:01:03 +00:00
Michael Hemmer f494549b0c CGALi::new_resultant -> CGALi::resultant 2008-07-31 09:35:22 +00:00
Michael Hemmer acb79b6084 new_resultant implementation using interpolation. 2008-07-31 09:10:08 +00:00
Michael Hemmer f0c21e20e8 Iterators are passed by value 2008-07-30 11:26:30 +00:00
Michael Hemmer 0063104dbd added default constructor 2008-07-30 11:13:58 +00:00
Michael Hemmer 3905cfa807 mv Interpolator.h CGAL/Polynomial (for release) 2008-07-30 09:42:17 +00:00
Michael Hemmer e8b3afa14b disabled Interpolate in Polynomial_traits
- Diese und die folgenden Zeilen werden ignoriert --

M    test/Polynomial/Polynomial_traits_d.cpp
M    include/CGAL/Polynomial_traits_d.h
2008-07-30 09:36:42 +00:00
Michael Hemmer 9767860e06 mv to main include/CGAL 2008-07-30 09:24:28 +00:00
Michael Hemmer aa5a72f179 rm useless functor Evaluate in PT<Polynomial_0> 2008-07-30 09:23:03 +00:00
Michael Hemmer 734595f223 fixed bug in constructor 2008-07-29 10:14:52 +00:00
Michael Hemmer 8143ec3d0c cached extended euclidean algorithm 2008-07-29 10:13:22 +00:00
Michael Hemmer b2b3651325 PolynomialTraits_d refines AlgebraicStructureTraits 2008-07-28 14:35:27 +00:00
Michael Kerber c4c1076de1 prs-algorithms can also be used for genral Integral_domains (with division) 2008-07-28 10:31:48 +00:00
Michael Hemmer dbeaa719ac added constructor (int , int ) 2008-07-25 15:48:42 +00:00
Michael Hemmer 1d3c2ce03e fixed bug in Degree_vector 2008-07-25 15:47:48 +00:00
Michael Kerber 6734f571c8 Prevents compiler warning 2008-07-25 13:34:53 +00:00
Michael Hemmer fdb3e7c2d1 added Polynomial_type_generator 2008-07-25 09:24:33 +00:00
Michael Hemmer b2176a7002 fix bug in Shift 2008-07-25 09:23:51 +00:00
Michael Hemmer 72c7defb81 added interoperability with int and Inntermost_coefficient 2008-07-25 07:46:52 +00:00
Michael Hemmer 57af6f31c2 rm result_type from Sqff 2008-07-25 07:32:17 +00:00
Michael Hoffmann 90fa037030 Another two Binary_functions... 2008-07-24 05:50:55 +00:00
Michael Hoffmann 9dbb04cdea Remove dependency on CGAL/functional -> replace Unary_function
and Binary_function by std:: counterparts.
2008-07-23 15:15:46 +00:00
Michael Kerber f54753100a Added forward 2008-07-22 13:44:30 +00:00
Michael Hemmer e6b5312842 changes interface of Square_free_factorization and utcf version such that
output iterator uses std::pair, oi is returned.
2008-07-22 13:34:06 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Michael Hemmer b67232dc3d - Sign_at/Sign_at_homogeneous/Compare are Null_functor if
ICoeff is not RealEmbeddable
- simplified layout for tests
2008-07-22 08:25:53 +00:00
Michael Kerber 92a0d3cc1d Added include 2008-07-22 06:57:30 +00:00
Michael Hemmer c788e0182f added Substitute(_homogeneous)
rm related operators from Evaluate
2008-07-17 15:52:15 +00:00
Michael Hemmer 1570772295 wrap up
added several TODOs
2008-07-16 14:07:28 +00:00
Michael Hemmer 96a229ad3c added functor Divides, required by IntegralDomain 2008-07-16 09:45:36 +00:00
Ophir Setter 908f229fb9 fix compilation error in expensive assert 2008-07-10 11:02:47 +00:00
Michael Hemmer 83bd92972c added Substitute + test 2008-07-02 07:56:33 +00:00
Michael Kerber c86378c04e a little bit of documentation 2008-07-01 16:04:31 +00:00
Michael Kerber 23562082ec Moved functions from CGAL to CGAL::CGALi 2008-06-27 13:22:47 +00:00
Michael Kerber 239c86d7ca Added functor Sturm_habicht_sequence_with_cofactors in Polynomial_traits 2008-06-27 10:17:54 +00:00
Michael Kerber 5af98f25dc Moved code to compute subresultants and sturm-habicht-sequences into Polynomial-package 2008-06-27 10:03:35 +00:00
Michael Kerber 6794adacb8 New functors for subresultants and sturm-habicht-sequences 2008-06-27 10:02:52 +00:00
Michael Kerber bbbee0317a renamed polynomial_subresultants->polynomial_subresultant_matrix (more specific) 2008-06-26 12:37:54 +00:00
Michael Kerber 2a960fd908 Extended Simple_matrix-class (it's still simple though) 2008-06-26 12:35:04 +00:00
Michael Hemmer 8cdd64235c rm wrong fwd of gcd in namespace CGAL 2008-05-20 07:19:32 +00:00
Michael Hemmer 6fd78e1dcd rm warning for ;; 2008-05-16 07:47:45 +00:00
Michael Hemmer 56dd45d2b7 avoid casts in evaluate 2008-05-13 13:56:16 +00:00
Sebastian Limbach 995e1796e4 div_utcf calls adapted to new interface (bool-parameter dropped). 2008-05-13 10:02:40 +00:00
Sebastian Limbach 1a5342299c minimal layout changes 2008-05-08 09:06:30 +00:00
Sebastian Limbach 7c18b6d5db "inline" added to avoid linking problems 2008-05-08 09:05:47 +00:00
Michael Hemmer 158ebff7f0 set braces to avoid warnings 2008-04-29 15:04:23 +00:00
Michael Hemmer 8a393d5188 clean up interface: rm unused parameter 2008-04-29 14:57:27 +00:00
Michael Hemmer 6debf02b48 Chinise_remainder_traits is a class (not a struct) 2008-04-29 14:14:49 +00:00
Michael Hemmer e572d6e9d2 added operator << 2008-04-14 10:32:12 +00:00
Michael Hemmer 0cffa2806f rm dead code
This line, and those below, will be ignored--

M    Polynomial/Polynomial_type.h
2008-04-11 14:24:46 +00:00
Michael Kerber c16fbd65a1 ipower -> CGAL::ipower 2008-04-11 10:20:11 +00:00
Sebastian Limbach 88092bcd9b Functor adapting functions make_square_free and is_square_free added. 2008-04-04 11:51:52 +00:00
Sebastian Limbach 6687193ff6 Small bug fixed (return type of evaluate_arg_by_value). 2008-04-04 09:31:51 +00:00
Michael Hemmer a627241618 gcd taken from the wrong namespace 2008-04-04 09:06:10 +00:00
Sebastian Limbach cb10c9104a Namespace specification added for gcd calls. 2008-04-03 10:06:30 +00:00
Sebastian Limbach 2540187f71 Filter added for zero polynomials. 2008-04-03 10:05:55 +00:00
Michael Kerber a9666cb08d gcd -> CGAL::gcd 2008-04-03 07:13:15 +00:00
Sebastian Limbach 4a1c881a77 Some small bugs removed. 2008-04-02 15:11:57 +00:00
Michael Kerber 751c421993 Repaired NTL-support 2008-04-02 08:48:38 +00:00
Michael Hemmer 33305dd8e1 minor reorganization 2008-04-01 18:02:20 +00:00
Michael Hemmer 509f5904a3 mv wang.h Wang_traits.h to CGAL/Polynomial/*.h
and all functions into namespace CGALi
2008-04-01 15:59:16 +00:00
Michael Hemmer b01afc120a mv wang.h and Wang_traits.h to CGAL/Polynomial/*.h
and all into namespace CGALi
2008-04-01 14:29:07 +00:00
Michael Hemmer 580a68180f mv Polynomial/ipower.h Algebraic_foundations/ipower.h
since it is a more general function used in several packages (from EXACUS)
2008-04-01 13:44:37 +00:00
Michael Hemmer f2c4cd9681 rm undefined fwd CGAL::CGALi::gcd<NT>(NT,NT) 2008-04-01 13:38:07 +00:00
Michael Hemmer 8bfb841dfe include sstream, since it is used 2008-04-01 09:26:32 +00:00
Michael Hemmer e3fc3f528a added modular gcd from EXACUS 2008-03-31 13:21:35 +00:00
Michael Hemmer e395bb743c rm name look up conlicts 2008-03-26 09:15:37 +00:00
Michael Hemmer 8661d9a610 rm undocumented function CGAL::integralize_polynomial
rm undocumented function CGAL::fractionalize_polynomial
outdated due to CGAL::Fraction_traits
2008-03-25 11:20:51 +00:00
Michael Kerber 23db96a3fe Compatibility for LEDA 6.0 2008-02-27 10:43:16 +00:00
Sylvain Pion 6d9d706c2f Fix misuses of CGAL_warning (spotted by pgCC's warnings). 2008-01-20 16:09:31 +00:00
Michael Hemmer bb0bd09446 added first version of Interpolate functor + tests
TODO: operator for iterator range, documentation
2008-01-13 16:21:29 +00:00
Michael Hemmer 413773298f avoid using operator< since ICoeff may not be RealEmbeddable i.e. LessThanComparable 2008-01-13 11:04:35 +00:00
Michael Hemmer 632246f7cb rm some warnings 2008-01-10 16:26:38 +00:00
Michael Hemmer a972fb81d7 removed additional definition of Total_degree and Degree in
Polynoial_traits_base<ICoeff>
2008-01-09 17:21:53 +00:00
Michael Hemmer a1b9caf430 rm warning 2008-01-09 17:18:14 +00:00
Michael Hemmer 5c28944805 update Exponent_vector 2008-01-09 17:01:45 +00:00
Michael Hemmer 69fbd93a0e added Rebind to Polynomial_traits_d + test 2007-12-06 15:52:45 +00:00
Andreas Meyer c1d1609af1 replaced CGAL_assertion( false* and CGAL_assertion( 0*
with CGAL_error/CGAL_error_msg
2007-11-08 00:27:20 +00:00
Andreas Meyer fdeedcf8b0 some low level code cleanup. renamed
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Sebastian Limbach c3ea038c64 output_benchmark member function changed so that a correct benchmark output, as expected by the Benchmark-parser, is produced (especially with non-integer coefficient types). 2007-09-27 08:15:22 +00:00
Sebastian Limbach 7b72fa54b4 output_benchmark member function added. Used by Polynomial::output_benchmark. 2007-09-27 08:14:12 +00:00
Sebastian Limbach 4106d96ac5 Modular_image_inv functor added for Modular_arithmetic tests to work correctly. 2007-08-01 09:51:00 +00:00
Sebastian Limbach 57aee53f54 debug-output removed 2007-06-08 06:53:40 +00:00
Sebastian Limbach db9c441447 Internal namespace renamed. 2007-06-04 10:56:39 +00:00
Sebastian Limbach 0f1daece26 Internal namespace renamed. 2007-06-04 10:56:17 +00:00
Sebastian Limbach b9d2ff6507 Modular_traits for polynomials. 2007-06-04 10:55:54 +00:00
Sebastian Limbach b719178beb Contains may_have_common_factor and may_have_multiple_factor 2007-06-04 10:55:19 +00:00
Sebastian Limbach 34c36c5e94 Function moved to modular_filter.h 2007-06-04 10:54:44 +00:00
Sebastian Limbach 42b2e2c225 Internal namespace renamed. 2007-06-04 10:54:24 +00:00
Sebastian Limbach cfb6461d24 Internal namespace renamed. 2007-06-04 10:53:50 +00:00
Sebastian Limbach ea64681620 Internal namespace renamed. 2007-06-04 10:53:35 +00:00
Sebastian Limbach 4d01df4d4a Internal namespace renamed. 2007-06-04 10:53:15 +00:00
Sebastian Limbach a4d2341996 Modular_traits.h included. 2007-06-04 10:52:53 +00:00
Sebastian Limbach c011af691f Result type of Degree_vector changed.
Is_square_free functor added.
Namespace renaming
2007-06-04 10:52:13 +00:00
Sebastian Limbach 08d98cc263 File moved to Polynomial package. 2007-04-11 07:43:55 +00:00
Sebastian Limbach 9f35b9d604 Changed Is_convertible to Is_modularizable. 2007-03-30 11:51:56 +00:00
Sebastian Limbach 29623a1c04 Structure of Polynomial_traits_d changed. A Polynomial_traits_d_base class now inherits from two base classes depending on the algebraic category of the innermost coefficient and the category of the polynomial respectively. 2007-03-30 11:14:39 +00:00
Sebastian Limbach 621175b6b4 New overloaded Square_free_factorization functor added which returns the factor alpha (see concept). 2007-03-28 14:07:58 +00:00
Sebastian Limbach 119a054e90 Divide factors by unit_part. 2007-03-28 14:06:56 +00:00
Sebastian Limbach 2cfc397069 Forward declarations of ALL functions of this file added to avoid problems with some compilers. 2007-03-28 10:37:04 +00:00
Sebastian Limbach d452138069 Added own implementation of the Strict weak ordering predicate for std::sort in order to avoid problems with the sorting of "Exponent_vector"s. 2007-03-28 07:13:54 +00:00
Sebastian Limbach ba439afb79 Corrected CGAL::Sign call to CGAL::sign. 2007-03-15 10:03:46 +00:00
Sebastian Limbach 61cca793ad Removed unused parameter 'alpha' in Square_free_factorization functor call due to new interface. 2007-03-15 10:03:01 +00:00
Sebastian Limbach 64166597a5 Renamed 'Differentiate' functor and calls to 'Derivative' 2007-03-15 09:58:27 +00:00
Sebastian Limbach 28b2b699cb Added reserve calls in constructors of Simple_matrix and Simple_vector to speed things up(?) 2007-03-13 12:02:39 +00:00
Sebastian Limbach 7da1275367 Polynomial_traits_d class modified. Now it has a hierachical structure to handle different algebraic categories of the innermost coefficient type. 2007-03-13 09:02:45 +00:00
Sebastian Limbach 56785560b9 Removed some commented-out code. 2007-03-13 09:01:20 +00:00
Sebastian Limbach 4c0235b80c Additional function content_ added for special Field-type coefficients handling. 2007-03-13 09:00:19 +00:00
Sebastian Limbach 90c04449c1 Replaced constant_factor calls by calls of univariate_content functor and removed some old, no longer needed functions. 2007-03-13 08:57:59 +00:00
Sebastian Limbach 4dc49a787a New file with all functions needed to compute square_free_factorization. 2007-03-13 08:55:16 +00:00
Sebastian Limbach 8168461e73 resultant.h added to provide needed functionality for resultant computation. Uses bezout_matrix.h and indirectly determinant.h. 2007-03-13 08:53:05 +00:00
Sebastian Limbach c7961f0249 bezout_matrix.h added for use with resultant.h for resultant computation. 2007-03-13 08:52:08 +00:00
Sebastian Limbach e9ef7f60db determinant.h added for use with bezout_matrix for resultant computation. 2007-03-13 08:51:33 +00:00
Sebastian Limbach b7e836a3f6 Innermost_coefficient_to_polynomial functor replaced by simple constructor call because functor does not exist. 2007-03-07 14:12:10 +00:00
Sebastian Limbach e981e87123 Bug fixed by placing the call to content_utcf before the div_utcf call. 2007-03-07 13:18:04 +00:00
Sebastian Limbach ea3d9da0ef Missing functors added according to documentation 2007-03-06 13:30:58 +00:00
Sebastian Limbach 51605ad942 Construct_polynomial_d functor renamed to Construct_polynomial and all functors adapted to the new index concept with indices starting from 0 up to d-1. 2007-03-01 13:02:59 +00:00
Sebastian Limbach 74da68e595 Moved the functions to the INTERN_POLYNOMIAL namespace. 2007-02-28 16:24:56 +00:00
Sebastian Limbach 114e2e5bac Different functions moved from Polynomial.h to this file. 2007-02-28 16:13:24 +00:00
Sebastian Limbach 168ef1c3ea Operators moved from Polynomial.h to this file. 2007-02-28 16:12:57 +00:00
Sebastian Limbach 02fdfcee98 weak_upper_root_bound and sign_variation functions move to this file from Polynomial.h 2007-02-28 16:12:20 +00:00
Sebastian Limbach f2e210cf28 ipower.h and hgdelta_update.h included, since these functions are now placed in its own files. 2007-02-28 16:11:28 +00:00
Sebastian Limbach 1d2f40a956 ipower.h and hgdelta_update.h included, since these functions are now placed in its own files. 2007-02-28 16:11:03 +00:00
Sebastian Limbach a3f5593439 ipower function from Polynomial.h is now located in this separate file. 2007-02-28 16:10:11 +00:00
Sebastian Limbach 44e4adcbb7 hgdelta_update function from Polynomial.h is now located in this separate file. 2007-02-28 16:09:53 +00:00
Sebastian Limbach 4ac28b0e44 Coercion_traits from Polynomial.h is now located in this separate file. 2007-02-28 16:09:29 +00:00
Sebastian Limbach 800ed22258 Elements moved to different (new) files. 2007-02-28 16:08:53 +00:00
Sebastian Limbach 3284cfb317 polynomial_utils.h included, since canonicalize-function is now located there. 2007-02-28 16:08:23 +00:00
Sebastian Limbach b23b94abfb Changed includes because of moved files. 2007-02-28 13:07:02 +00:00
Sebastian Limbach 81a46d3735 Moved some files 2007-02-28 11:37:19 +00:00
Laurent Saboret 9d0d302a87 Fixed svn properties of whole trunk 2006-12-18 09:37:55 +00:00
Michael Hemmer dfafbcb520 added Functor Degree_vector 2006-12-17 13:20:39 +00:00
Michael Hemmer 3ba74da77c rm use of abs in gcd 2006-12-17 13:20:08 +00:00
Michael Hemmer 9bde28874f rm old Polynomial_traits
extracted some traits classes into extra files in subdir CGAL/Polynomial
2006-12-07 17:16:14 +00:00
Michael Hemmer a74dcdca9e first version of class Polynomial (from EXACUS)
added Polynomial_traits_d 
TODO: 
rm old Polynomial_traits
2006-12-07 13:46:43 +00:00
Andreas Fabri f40d931ced get the package out of way for the exacus polynomial 2006-07-13 12:52:01 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 20c1cb99f8 Move packages to trunk root 2006-02-14 08:58:18 +00:00