Commit Graph

300 Commits

Author SHA1 Message Date
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