summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib
Commit message (Collapse)AuthorAgeFilesLines
* integerConstantFolding: when(compiler_debugged(), expect_broken(#11006))Thomas Miedema2015-10-301-1/+2
|
* Improve TidyPgm.hasCafRefs to account for Integer literals (Trac #8525)Simon Peyton Jones2014-12-171-2/+1
| | | | | | | | | | | | | | See Note [Disgusting computation of CafRefs] in TidyPgm. Also affects CoreUtils.rhsIsStatic. The real solution here is to compute CAF and arity information from the STG-program, and feed it back to tidied program for the interface file and later GHCi clients. A battle for another day. But at least this commit reduces the number of gratuitous CAFs, and hence SRT entries. And kills off a batch of ASSERT failures.
* Reimplement `gcdExtInteger` (#9281)Herbert Valerio Riedel2014-11-291-11/+1
| | | | | `gcdExtInteger` has been available since `integer-gmp-0.5.1` (added via 71e29584603cff38e7b83d3eb28b248362569d61)
* Re-implement `recipModInteger` (#9281)Herbert Valerio Riedel2014-11-291-10/+1
| | | | | | | | | | | | This also exposes the following two type-specialised modular exponentiation variants of `recipModInteger` useful for implementing a `recipModNatural` operation. recipModBigNat :: BigNat -> BigNat -> BigNat recipModWord :: Word# -> Word# -> Word# `recipModInteger` has been available since `integer-gmp-0.5.1` (added via 4d516855241b70eb687d95e3c121428de885e83e)
* Re-implement `powModInteger` (#9281)Herbert Valerio Riedel2014-11-291-12/+1
| | | | | | | | | | | | | This also exposes the following type-specialised modular exponentiation variants of `powModInteger` useful for implementing a `powModNatural` operation. powModBigNat :: BigNat -> BigNat -> BigNat -> BigNat powModBigNatWord :: BigNat -> BigNat -> Word# -> Word# powModWord :: Word# -> Word# -> Word# -> Word# `powModInteger` has been available since `integer-gmp-0.5.1` (added via 4d516855241b70eb687d95e3c121428de885e83e)
* Re-activate `integerGmpInternals` test (#9281)Herbert Valerio Riedel2014-11-282-26/+55
| | | | | | | | | | | | | | | | | | The `integerGmpInternals` test was disabled in c774b28f76ee4c220f7c1c9fd81585e0e3af0e8a as many of the primitives tested in that test weren't available yet w/ `integer-gmp2`. However, most operations have been reimplemented by now, with the exception of recipModInteger :: Integer -> Integer -> Integer gcdExtInteger :: Integer -> Integer -> (Integer, Integer) powModSecInteger :: Integer -> Integer -> Integer -> Integer powModInteger :: Integer -> Integer -> Integer -> Integer powInteger :: Integer -> Word -> Integer which are still missing, and will (time permitting) be reimplemented over time.
* Reimplement im/export primitives for integer-gmp2Herbert Valerio Riedel2014-11-191-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The import/export operations were available in `integer-gmp-0.5.1` already, but need to be reimplemented from scratch for the `integer-gmp-1.0.0` rewrite. This also adds a few more operations than were previously available for use w/ the `BigNat` type (which will be useful for implementing serialisation for the upcoming `Natural` type) Specifically, the following operations are (re)added (albeit with slightly different type-signatures): - `sizeInBaseBigNat` - `sizeInBaseInteger` - `sizeInBaseWord#` - `exportBigNatToAddr` - `exportIntegerToAddr` - `exportWordToAddr` - `exportBigNatToMutableByteArray` - `exportIntegerToMutableByteArray` - `exportWordToMutableByteArray` - `importBigNatFromAddr` - `importIntegerFromAddr` - `importBigNatFromByteArray` - `importIntegerFromByteArray` NOTE: The `integerGmpInternals` test-case is updated but not yet re-enabled as it contains tests for other primitives which aren't yet reimplemented. This addresses #9281 Reviewed By: austin, duncan Differential Revision: https://phabricator.haskell.org/D480
* Implement new integer-gmp2 from scratch (re #9281)Herbert Valerio Riedel2014-11-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done as a separate `integer-gmp2` backend library because it turned out to become a complete rewrite from scratch. Due to the different (over)allocation scheme and potentially different accounting (via the new `{shrink,resize}MutableByteArray#` primitives), some of the nofib benchmarks actually results in increased allocation numbers (but not necessarily an increase in runtime!). I believe the allocation numbers could improve if `{resize,shrink}MutableByteArray#` could be optimised to reallocate in-place more efficiently. Here are the more apparent changes in the latest nofib comparision between `integer-gmp` and `integer-gmp2`: ------------------------------------------------------------------ Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------ ... bernouilli +1.6% +15.3% 0.132 0.132 0.0% ... cryptarithm1 -2.2% 0.0% -9.7% -9.7% 0.0% ... fasta -0.7% -0.0% +10.9% +10.9% 0.0% ... kahan +0.6% +38.9% 0.169 0.169 0.0% ... lcss -0.7% -0.0% -6.4% -6.4% 0.0% ... mandel +1.6% +33.6% 0.049 0.049 0.0% ... pidigits +0.8% +8.5% +3.9% +3.9% 0.0% power +1.4% -23.8% -18.6% -18.6% -16.7% ... primetest +1.3% +50.1% 0.085 0.085 0.0% ... rsa +1.6% +53.4% 0.026 0.026 0.0% ... scs +1.2% +6.6% +6.5% +6.6% +14.3% ... symalg +1.0% +9.5% 0.010 0.010 0.0% ... transform -0.6% -0.0% -5.9% -5.9% 0.0% ... ------------------------------------------------------------------ Min -2.3% -23.8% -18.6% -18.6% -16.7% Max +1.6% +53.4% +10.9% +10.9% +14.3% Geometric Mean -0.3% +1.9% -0.8% -0.8% +0.0% (see P35 / https://phabricator.haskell.org/P35 for full report) By default, `INTEGER_LIBRARY=integer-gmp2` is active now, which results in the package `integer-gmp-1.0.0.0` being registered in the package db. The previous `integer-gmp-0.5.1.0` can be restored by setting `INTEGER_LIBRARY=integer-gmp` (but will probably be removed altogether for GHC 7.12). In-tree GMP support has been stolen from the old `integer-gmp` (while unpatching the custom memory-allocators, as well as forcing `-fPIC`) A minor hack to `ghc-cabal` was necessary in order to support two different `integer-gmp` packages (in different folders) with the same package key. There will be a couple of follow-up commits re-implementing some features that were dropped to keep D82 minimal, as well as further clean-ups/improvements. More information can be found via #9281 and https://ghc.haskell.org/trac/ghc/wiki/Design/IntegerGmp2 Reviewed By: austin, rwbarton, simonmar Differential Revision: https://phabricator.haskell.org/D82
* Set up framework for generalising Data.List to FoldablesHerbert Valerio Riedel2014-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | This renames the Data.List module to Data.OldList, and puts a new Data.List module into its place re-exporting all list functions. The plan is to leave the monomorphic versions of the list functions in Data.OldList to help smooth the transition. The new Data.List module then will simply re-export entities from Data.OldList and Data.Foldable. This refactoring has been placed in a separate commit to be able to better isolate any regressions caused by the actual list function generalisations when implementing #9586 This also updates the haskell2010, haskell98, and array submodules Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D228
* Re-export Word from Prelude (re #9531)Herbert Valerio Riedel2014-08-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original proposal text can be found at http://www.haskell.org/pipermail/libraries/2014-August/023491.html The proposal passed with a clear majority, and was additionally confirmed by the core libraries committee. *Compatibility Note* Only code that imports `Data.Word` for the sole purpose of using `Word` *and* requires to be `-Werror`-clean (due to `-fwarn-unused-imports`) is affected by this change. In order to write warning-free forward/backward compatible against `base`, a variant of the following CPP-based snippet can be used: -- Starting with base>4.7.0 or GHC>7.8 Prelude re-exports 'Word' -- The following is needed, if 'Word' is the *only* entity needed from Data.Word #ifdef MIN_VERSION_base # if !MIN_VERSION_base(4,7,1) import Data.Word (Word) # endif -- no cabal_macros.h -- fallback to __GLASGOW_HASKELL__ #elif __GLASGOW_HASKELL__ < 709 import Data.Word (Word) #endif This also updates the haddock submodule in order to avoid a compile warning
* Mark tests as expect_broken when borken with -DDEBUGJoachim Breitner2013-11-221-1/+2
| | | | The related bugs are #8553 and #8525.
* Add tests for new import/export GMP primitivesHerbert Valerio Riedel2013-11-072-22/+147
| | | | Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Add tests for new internal GMP primitivesHerbert Valerio Riedel2013-10-282-0/+18
| | | | | | | This adds some simple tests for the primitives introduced in [4d7cd68b/integer-gmp] and [d466dfc8/integer-gmp]. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Skip integerGmpInternals in ghci (no unboxed tuples)Reid Barton2013-10-011-1/+2
| | | | | | Issue #8393 Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add tests for new internal GMP primitivesHerbert Valerio Riedel2013-10-013-0/+60
| | | | See [ce8ec963/integer-gmp] and [97c101b7/integer-gmp] for more details
* Comparison primops return Int# (Fixes #6135)Jan Stolarek2013-08-143-0/+12
| | | | | | This patch adds tests for new primops and fixes the existing ones. For a deatiled discussion of this changes please visit the wiki page: http://hackage.haskell.org/trac/ghc/wiki/PrimBool
* Remove T7041; it doesn't make sense now that we handle gcd differentlyIan Lynagh2012-07-203-16/+0
|
* Add 32-bit output for gcdIntegerIan Lynagh2012-07-181-0/+1
|
* Add a couple of tests for gcdIntegerIan Lynagh2012-07-135-0/+35
|
* Add IntegerConversionRulesIan Lynagh2012-06-273-0/+35
| | | | Includes a test for the problem in #6111.
* Add more cases to the integer constant folding testIan Lynagh2012-06-082-0/+16
|
* Add more tests to integerConstantFoldingIan Lynagh2012-06-062-0/+21
|
* Move win32 tests to win32 repository.Paolo Capriotti2012-05-094-135/+0
|
* More Win64 test fixesIan Lynagh2012-05-081-3/+2
|
* Move base and unix tests to respective packages; part of #1161.Paolo Capriotti2012-03-09299-9683/+0
|
* Move test array01 into the array packageIan Lynagh2012-02-263-37/+0
|
* Update tests following OldException removalIan Lynagh2012-02-1810-150/+89
| | | | Some redundant test have now been removed
* Remove Regex tests; part of #1161Ian Lynagh2012-02-047-84/+0
| | | | | I've sent them upstream here: https://sourceforge.net/tracker/?func=detail&aid=3484051&group_id=163236&atid=826945
* Move lib/Time tests into the old-time packageIan Lynagh2012-02-0310-76/+0
|
* Text.Printf tests have moved to base; part of #1161Ian Lynagh2012-02-034-18/+0
|
* Remove the tests/lib/PrettyPrint tests; part of #1161Ian Lynagh2012-02-036-54/+0
| | | | I'll send them to pretty upstream.
* Remove the Data.ByteString tests; part of #1161Ian Lynagh2012-02-0316-5183/+0
| | | | I've sent them to the upstream bytestring bug report addresses
* Make posix003 a little more portableIan Lynagh2012-01-302-2/+2
| | | | | | On OS X, /tmp is a symlink to /private/tmp, so the test prints the wrong output. I've changed it to use /dev instead, which is hopefully less likely to be a symlink.
* Generalise the integerToInt_smallInteger test (now fromToInteger)Ian Lynagh2012-01-263-9/+14
|
* Add a test for the integerToInt/smallInteger ruleIan Lynagh2012-01-263-0/+22
|
* Update tests after instances are moved out of Control.Monad.InstancesIan Lynagh2012-01-143-31/+0
| | | | | The instance-leaks test is now gone, as we now expect the instances to leak into haskell98.
* Add encodeInteger{Double,Float} to the integerConstantFolding testIan Lynagh2012-01-133-0/+12
|
* Add {double,float}FromInteger to the integerConstantFolding testIan Lynagh2012-01-133-0/+16
|
* Fix T5430, make output independent of user timezoneDavid Terei2012-01-121-2/+8
|
* Add quot and rem to the integerConstantFolding testIan Lynagh2012-01-103-0/+12
|
* Move T4113 to libraries/directory/tests (#4480)Simon Marlow2011-12-134-25/+0
|
* posix004(threaded2) and posix014(threaded2) pass nowSimon Marlow2011-12-071-6/+2
|
* posix009: omit threaded waysSimon Marlow2011-12-011-1/+1
|
* skip posix003 on WindowsSimon Marlow2011-12-011-1/+2
|
* Expect 3307 and environment001 to fail on msys; fixes trac #5599Ian Lynagh2011-11-271-2/+7
| | | | Unicode support on MSYS seems to be broken.
* fix this test (need to use reservedSignals)Simon Marlow2011-11-251-1/+1
|
* clean up test failuresSimon Marlow2011-11-212-6/+18
|
* Remove sockets testsIan Lynagh2011-11-2019-344/+0
| | | | | | Ticket filed at http://trac.haskell.org/network/ticket/42 to look at converting them into network tests.
* Fix and enable posix014Ian Lynagh2011-11-203-15/+11
|
* Remove posix013Ian Lynagh2011-11-201-21/+0
| | | | It prints the getSystemID otuput, which varies from system to system.