Commit Graph

106 Commits

Author SHA1 Message Date
Xiaodi Wu 723bc850db Use LLVM intrinsics for trigonometric functions where possible 2018-02-14 19:41:24 -06:00
Xiaodi Wu 0841abeaf2 Improve hash function in the same manner as was done for the standard library 2018-02-09 22:53:50 -06:00
Xiaodi Wu ac4c3c6018 Remove redundant conformances 2018-02-09 22:46:18 -06:00
Xiaodi Wu c962760bf9 Remove extraneous decrement 2017-10-14 03:54:56 -05:00
Xiaodi Wu c473959f38 Add deprecation status to doc comments [NFC] 2017-08-27 19:04:23 -05:00
Xiaodi Wu 3b75ea6875 Update README.md and delete some comments 2017-08-27 18:43:46 -05:00
Xiaodi Wu 23f5c7a496 Add tie-breaking exponentiation operators and tests 2017-08-27 18:04:21 -05:00
Xiaodi Wu c3c299e65f De-indent #endif [NFC] 2017-08-27 15:38:30 -05:00
Xiaodi Wu b004688078 Update README.md, add default implementations and disable them, and align deprecation message with stdlib 2017-08-27 14:22:27 -05:00
Xiaodi Wu a4a9ac7368 Define an exponentiation operator 2017-08-27 00:19:57 -05:00
Xiaodi Wu cc8f586714 Restore some uses of the @_transparent attribute 2017-08-26 18:52:05 -05:00
Xiaodi Wu 88f4415112 Unitalicize Greek constants in doc comments [NFC] 2017-08-26 18:46:42 -05:00
Xiaodi Wu 5e19a2acb9 Make a minor stylistic change [NFC] 2017-08-26 18:45:11 -05:00
Xiaodi Wu ae1cccaa3d Assume memory bound to avoid segmentation fault 2017-08-19 16:45:02 -05:00
Xiaodi Wu b924341f19 Fix doc comments [NFC] 2017-08-12 14:02:53 -05:00
Xiaodi Wu 2225b12581 Fix a doc comment [NFC] 2017-08-12 13:08:58 -05:00
Xiaodi Wu c737e058f1 Make some minor changes to doc comments [NFC] 2017-08-12 01:47:35 -05:00
Xiaodi Wu 7130751257 Update generic algorithms for revised integer protocols [NFC] (#9)
* Improve wording in a doc comment [NFC]

* Improve wording in a doc comment [NFC]

* Update generic algorithms for changes to SE-0104

* Update .travis.yml and some doc comments
2017-08-11 21:36:35 -05:00
Xiaodi Wu 00d7fab46f Add a missing newline [NFC] 2017-07-16 17:04:17 -05:00
Xiaodi Wu 644d19222e Remove one use of @_transparent 2017-07-16 16:56:04 -05:00
Xiaodi Wu 7e13418232 Remove Complex.polar (it's poorly named and trivial) 2017-07-16 16:55:22 -05:00
Xiaodi Wu 10ea1eab12 Fix implementation of Complex.tanh and expand tests 2017-07-16 16:47:10 -05:00
Xiaodi Wu 9553e20023 Make a minor stylistic change [NFC] 2017-07-16 13:59:52 -05:00
Xiaodi Wu aee282025f Expand and add tests for Complex 2017-07-15 18:41:30 -05:00
Xiaodi Wu 2a3aba73af Expand tests for Rational and fix an initializer implementation 2017-07-15 12:51:43 -05:00
Xiaodi Wu a3ffd12259 Expand tests for Random and Random.Xoroshiro 2017-07-15 00:12:46 -05:00
Xiaodi Wu d5a9fceadd Work around compiler segfault 2017-07-14 22:33:56 -05:00
Xiaodi Wu 913da91d25 Refine Complex.description, add more tests for Complex 2017-07-09 17:43:22 -05:00
Xiaodi Wu 237366a24f Restore some uses of @_transparent 2017-07-08 17:17:36 -05:00
Xiaodi Wu acc17bd238 Refine handling of complex infinity and NaN 2017-07-08 16:32:34 -05:00
Xiaodi Wu 0a6a45a9d5 Expand testing based on code coverage reporting (#8)
This PR adds tests to improve code coverage. In addition:

* The implementation of `Rational.isProper is corrected` for negative values.


* Add tests for Float and Double extensions

* Adjust accuracy for Glibc

* Add tests for RNG initialization using device entropy

* Expand testing of Rational and fix implementation of Rational.isProper

* Further expand testing of Rational

* Expand tests for Float and Double extensions

* Expand tests for Rational

* Adjust accuracy for Glibc

* Expand tests for Float and Double extensions

* Adjust accuracy for Glibc

* Re-adjust accuracy for Glibc

* Expand testing of Complex
2017-07-04 13:01:35 -05:00
Xiaodi Wu caf1de2c9a Fix implementations of BinaryInteger.sqrt and UnsignedInteger.cbrt to prevent overflow 2017-06-14 12:04:20 -05:00
Xiaodi Wu b96f652387 Add integer square and cube root extraction 2017-06-14 04:42:13 -05:00
Xiaodi Wu fe34cc2c1e Reorganize integer algorithms [NFC] 2017-06-14 00:15:58 -05:00
Xiaodi Wu b9d507ee05 Remove power(of:) 2017-06-14 00:06:37 -05:00
Xiaodi Wu 5756463715 Fix comment [NFC] 2017-06-12 20:35:20 -05:00
Xiaodi Wu 48e6f8ba1a Add comment for Jazzy 2017-06-12 20:18:20 -05:00
Xiaodi Wu e426e168b4 Expand testing (#4)
This PR adds tests for BinaryInteger.pow and for default implementations in Math and Real. In addition:

The default implementation of cubeRoot is corrected and removed from Math to Real.
A correction is made for an error in the default implementation of Math.phi.
Special values are now handled in the default implementation of Real.hypot.
This PR also includes an incidental simplification of some operator implementations in Complex, which will simplify later testing.

* Add tests for Math and Real, fix default implementations

* Reorder tests for Linux [NFC]

* Remove repetition in Complex operator implementations [NFC]

* Add tests for integer exponentiation
2017-06-12 20:03:31 -05:00
Xiaodi Wu 89a82f52d6 Implement and use an internal function for combining hashes 2017-06-11 16:12:21 -05:00
Xiaodi Wu 390d835d4b Conform Complex and Rational to Codable 2017-06-11 14:28:20 -05:00
Xiaodi Wu ea3af8458f Rename FloatingPointMath to Real 2017-06-07 07:15:24 -05:00
Xiaodi Wu eeb4dc4e8c Update implementation of Complex.hyperbolicTangent and add tests for special values 2017-06-06 01:41:03 -05:00
Xiaodi Wu d6876b3675 Update README.md and a comment 2017-06-04 08:46:46 -05:00
Xiaodi Wu 9e17f688ef Touch up some comments 2017-06-04 08:27:12 -05:00
Xiaodi Wu df8f1ce15e Add otherwise superfluous comments for Jazzy 2017-06-04 02:46:48 -05:00
Xiaodi Wu 987841b267 Expound on the PRNG protocol 2017-06-04 02:26:02 -05:00
Xiaodi Wu dd0b05c49d Add documentation of usage to Random and Random.Xoroshiro 2017-06-04 01:41:46 -05:00
Xiaodi Wu 4fe964e9f3 Make additional changes for Jazzy 2017-06-04 00:36:17 -05:00
Xiaodi Wu f4bc1e5ff6 Add otherwise superfluous comments for Jazzy 2017-06-03 20:42:44 -05:00
Xiaodi Wu 62f8f19727 Remove initializers from FloatingPointMath 2017-06-03 19:31:45 -05:00