2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-29 07:42:11 +00:00
Commit Graph

1366 Commits

Author SHA1 Message Date
Jeremy W. Murphy
25ed0ffbca Negation depends only on negation, not on multiplication. 2015-12-13 12:15:09 +11:00
Jeremy W. Murphy
09dd190e5a Move identity transformation into detail namespace. 2015-11-21 14:28:39 +11:00
Jeremy W. Murphy
6773baf318 Move arithmetic implementation into private functions.
Primarily so that they can be used inside loops where normalization is not
required or is even erroneous.
2015-11-21 14:26:00 +11:00
Jeremy W. Murphy
f8d6220e4e More documentation updates and parameter name consistency. 2015-11-20 12:06:13 +11:00
Jeremy W. Murphy
292bfc6752 Denormalize zero in multiplication to fit algorithmic requirements.
Fixes bug introduced by normalizing zero to the empty set.
2015-11-20 11:33:00 +11:00
Jeremy W. Murphy
e6e1e9440b Make the single-argument constructor explicit.
Prevent unexpected conversion to polynomial!
2015-11-18 12:15:35 +11:00
Jeremy W. Murphy
37e8063420 Add missing heterogeneous division operators. 2015-11-18 12:14:45 +11:00
Jeremy W. Murphy
87268a735a Division of polynomials over integers.
Test int and double throughout most of test suite.
2015-11-16 00:41:37 +11:00
Jeremy W. Murphy
b981995cc0 Replace synthetic division with algorithm D from Knuth.
Simpler, specific to division of polynomials over a field.
2015-11-15 14:08:40 +11:00
Jeremy W. Murphy
94e961ec7c Division and modulus by a number.
Test that multiplication by 0.5 is equal to division by 2.
2015-11-09 00:43:29 +11:00
Jeremy W. Murphy
3c147eb77a Revert "is_field_like checks that type T is not integral, nor complex, and has /=."
This reverts commit 9c6d10644b.
2015-11-09 00:15:48 +11:00
Jeremy W. Murphy
9c6d10644b is_field_like checks that type T is not integral, nor complex, and has /=. 2015-11-07 22:36:38 +11:00
Jeremy W. Murphy
115585481c Merge remote-tracking branch 'refs/remotes/jeremy/polynomial_division' into polynomial_division 2015-11-05 00:02:31 +11:00
Jeremy W. Murphy
ec913ea3df Multiplicative identity element. 2015-11-05 00:02:24 +11:00
Jeremy Murphy
4510ecaa8a Disable division and remainder for integer types.
Use std::numeric_limits<T>::is_integer.
Also removed the "unchecked_" prefix from synthetic_division.
2015-11-04 20:17:06 +11:00
Jeremy W. Murphy
cb36a289e3 Simplify addition: there is actually no need to check for zero.
The likely frequency of zero makes it silly to check for it.
2015-11-04 12:24:31 +11:00
Jeremy W. Murphy
72f35334d3 Unary minus (negate) operator. 2015-11-03 23:57:11 +11:00
Jeremy W. Murphy
babd53e857 Multiplication bugfixes for zero. 2015-11-03 23:56:53 +11:00
Jeremy W. Murphy
cba0dc6e7e Throw logic_error for degree() if size() == 0.
Use size() in place of degree() internally.
2015-11-03 23:55:37 +11:00
Jeremy W. Murphy
066885dc5a Whoops, need sign function for addition of constant values too. 2015-11-03 14:43:03 +11:00
Jeremy W. Murphy
b39391cb02 Change exception to assertion (according to my design philosophy). 2015-11-02 23:42:13 +11:00
Jeremy W. Murphy
fed9a626be Rename linear_translation to addition. 2015-11-02 23:24:06 +11:00
Jeremy W. Murphy
964c49c70e Generalize addition and subtraction of constant values.
Simplify the implementation by not checking for infrequent cases.
2015-11-02 23:23:47 +11:00
Jeremy W. Murphy
38edca726d Rename remove_high_degree_zeroes to normalize. 2015-11-02 23:04:32 +11:00
Jeremy W. Murphy
eaa54b1bab remove_high_degree_zeroes(): trim zeroes from the right of m_data. 2015-11-01 16:01:26 +11:00
Jeremy W. Murphy
2479c2ae90 Fixed some installation problems, now lambda works. 2015-11-01 13:25:46 +11:00
Jeremy W. Murphy
f6d014d15e Tidying up and trying out algorithmic forms of loops. 2015-11-01 12:49:24 +11:00
Jeremy W. Murphy
739c056f2b Enforce representation of zero polynomial as {}, not {0}.
Simplify addition and subtraction into one function.
Add short-circuit logic for zero to arithmetic.
2015-11-01 03:38:13 +11:00
Jeremy W. Murphy
6080afee77 Fix quotient_remainder to use the correct ordering of coefficients.
Add equality operator and zero_element() for multiplication.
2015-11-01 03:28:59 +11:00
Jeremy W. Murphy
86a92e2602 Use Boost.Operators for dividable and modable. 2015-10-27 08:53:51 +11:00
Jeremy W. Murphy
1fd285721c Add some post-condition assertions. 2015-10-25 14:55:39 +11:00
Jeremy W. Murphy
240e4e6e0f Separate out into unchecked_synthetic_division(). 2015-10-25 12:05:32 +11:00
Jeremy W. Murphy
35041b318c Add / and %. 2015-10-25 10:49:47 +11:00
Jeremy W. Murphy
cf840c4ce2 First draft of working quotient_remainder. 2015-10-25 01:46:20 +11:00
jzmaddock
a7a0117859 Tentative VC7.1 fix. 2015-10-22 10:51:04 +01:00
jzmaddock
5d42feb5c1 Reduce conceptual requirements on log_min_value/log_max_value. 2015-10-22 10:12:55 +01:00
jzmaddock
1690851386 Fix for __float128 support in fpclassify. 2015-09-24 10:18:29 +01:00
jzmaddock
2f31042470 Merge branch 'develop' of https://github.com/boostorg/math into develop 2015-09-11 12:02:29 +01:00
jzmaddock
3287c922ea Fix some corner cases in the beta functions.
Add better tests for the incomplete beta derivative.
Update docs to match.
2015-09-11 12:02:04 +01:00
Adam Wulkiewicz
00714c1a6d Fix type passed into BOOST_MATH_NOEXCEPT() in specialization of epsilon(). 2015-09-09 15:06:29 +02:00
jzmaddock
d719e4b567 Remove no longer needed special_functions sub-directory.
Also fix lots of inspect-report failures.
2015-09-07 19:35:29 +01:00
jzmaddock
c6593b149b Fix GCC test failures when building with -fno-exceptions. 2015-09-06 19:21:17 +01:00
jzmaddock
ba365b5aaa Enable running of tests with exception handling off.
And fix a few bugs that showed up in the process.
Currently msvc-only (not GCC as Boost.Test doesn't build).
2015-09-05 19:08:28 +01:00
jzmaddock
a0f0b96921 Fix case where non-centrality parameter for chi-squared is zero.
See https://svn.boost.org/trac/boost/ticket/11557.
2015-09-04 09:40:08 +01:00
jzmaddock
9d3d2e96a0 Fix code to match documentation in hypergeometric distro. 2015-09-03 19:23:10 +01:00
jzmaddock
789131a224 Add some needed typecasts to args of std::max. 2015-09-03 18:43:36 +01:00
jzmaddock
c2b706da15 Add __float128 support. 2015-09-03 18:43:05 +01:00
jzmaddock
e4ec61699a Fix tests for FLT_EVAL_TYPE.
See https://svn.boost.org/trac/boost/ticket/11429.
2015-09-03 18:13:20 +01:00
jzmaddock
1d1d400762 Add some needed typecasts. 2015-09-03 10:29:28 +01:00
jzmaddock
429825535b Fix type of boolean values. 2015-09-03 09:34:42 +01:00