Commit graph

151 commits

Author SHA1 Message Date
David Isinta Nyakawa
82338661b3
Fix Issue 10523 - Enabled BigInt to work in CTFE (#10725)
made biguint core ctfe valid by removing free keyword at compile time
2025-04-02 13:28:08 +08:00
Vladiwostok
231ae8b68a
Fix D-Scanner linting issues (#9070)
* Fix UndocumentedDeclarationCheck linting issue

* Fix IfConstraintsIndentCheck linting issue

* Address feedback

* Fix publictests CI

* Fix old (libdparse) D-Scanner linting warn
2024-10-27 01:21:56 -07:00
Dennis Korpel
a92d08bcfc std.bigint: remove subSimple 2024-04-19 23:54:27 +02:00
dkorpel
b3b0e74152 Unblock "address of ref can be assigned to non-scope parameter" 2022-02-17 00:44:02 +00:00
dkorpel
ea76f45494 Use return scope instead of just return 2021-11-26 17:03:06 +01:00
Sebastian Wilzbach
63712f491c Remove redundant access specifier from Phobos 2021-10-27 10:04:23 +03:00
dkorpel
9ec24190b1 add explicit scope/return for pure functions 2021-07-11 13:34:25 +00:00
dkorpel
b1281eb67a add more return/scope to pure bigint functions 2021-05-30 01:10:13 +02:00
nordlow
a44f71813f Annotate std/bigint.d and std/internal/math/biguintcore.d to please dlang/dmd#12520 #8076 2021-05-18 13:14:08 +02:00
Luís Ferreira
c6e24b6e24 math: wrap unused code inside of unittest block to increase coverage
This code affects code coverage and shouldn't be here at all.
Because it may help on debugging, it's not totally removed.

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2020-10-19 16:15:39 +02:00
Nathan Sashihara
453faadf5b Replace is(Unqual!T == Unqual!U) with is(immutable T == immutable U) for speed & memory usage 2020-08-03 15:07:32 +02:00
Nathan Sashihara
a0f4b65db8 Fix Issue 20889 - Support construction of std.bigint.BigInt from a sign and a byte-array magnitude
For consistency with other std.bigint functions allows arbitrary ranges.
2020-06-04 16:04:26 -07:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
Walter Bright
0d122a993d more printf format fixes 2020-02-22 23:25:59 -08:00
Martin Kinkelin
596c6b09cc
Remove obsolete hack in std.internal.math.biguintcore 2020-02-21 20:37:14 +01:00
Alexandru Militaru
bb62aaca3d Replaced version (unittest) with version (StdUnittest) to avoid unnecessary overhead when compiling with -unittest 2020-01-19 14:05:17 +02:00
dkorpel
d4f74834d5 fix issue 20493 - incorrect result of BigInt * BigInt 2020-01-11 14:17:47 +01:00
dkorpel
52a1897464 add comments justifying trusted annotations 2019-12-22 13:48:37 +01:00
dkorpel
4a413c8f01 make biguintx86 safe 2019-12-14 11:56:17 +01:00
dkorpel
5ad491a451 make std.bigint @safe 2019-12-14 11:54:05 +01:00
Bernhard Seckinger
38c33ed793 Fix Issue 16223 - BigUint: undefined shift for small instantiation type 2019-12-04 09:15:15 +01:00
Robert Schadek
312006cc46 Addes assert messages to bigint 2019-07-10 10:46:56 +01:00
Mike
e0585fa785 Replace D1 operator overloads with D2 operator overloads 2019-07-04 13:33:53 +09:00
shove70
4bb550d206 Fixes #19740: Incorrect result of BigInt * BigInt. 2019-04-21 08:41:33 +08:00
Nathan Sashihara
f784f74dad Fix Issue 19197 - Replace instances of typeid(T).getHash(..) with hashOf 2018-10-22 17:10:08 -04:00
Iain Buclaw
fd5facfe04 posix.mak: Enforce whitespace before opening parenthesis for version conditions 2018-09-22 16:57:24 +02:00
Basile Burg
db819575f1 Fix issue 11959 - Set private symbols declared in version(unittest) blocks 2018-08-26 10:22:11 +02:00
Sebastian Wilzbach
a8c0b833bb Fix DScanner warnings 2018-05-30 13:40:07 +02:00
Walter Bright
9dec37a9d1 biguintcore: more immutability casts needed 2018-03-19 15:00:17 -07:00
Walter Bright
0fbf185006 biguintcore: immutability cannot be inferred for sub() and add() 2018-03-17 18:47:00 -07:00
Biotronic
dd371c19ac Added divMod function to std.bigint 2018-01-28 14:24:15 +01:00
Andrei Alexandrescu
adee662094
Merge pull request #5987 from JackStouffer/issue17249
Fix Issue 17249: Added BigInt.getDigit
2018-01-25 16:59:51 -05:00
Basile Burg
7bd984203c non X86 is not modified anymore, X86 primitives not always inlined 2018-01-17 17:43:20 +01:00
Basile Burg
609e462fce clarify the code comments 2018-01-17 17:27:20 +01:00
Basile Burg
bf2c2e646e remove useless pure attrib 2018-01-14 23:49:21 +01:00
Basile Burg
fa12390b39 prevent deprecetation message about imports + add test from bugzilla 2018-01-14 22:07:17 +01:00
Basile Burg
f2c5ee3bf1 fix issue 14767 - Support CTFE of BigInt under x86 2018-01-14 21:21:36 +01:00
Jack Stouffer
dae55d039c Fix Issue 17249: Added BigInt.getDigit 2018-01-03 13:22:02 -05:00
The Dlang Bot
ccdfcc9839
Merge pull request #5465 from andralex/sharedstaticinbigintnomore
Eliminate shared this from std/internal/math/biguintcore.d
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2017-11-27 21:53:49 +01:00
MetaLang
630e927a14
Remove fully qualified use of dataCaches 2017-11-25 03:33:41 -04:00
MetaLang
603113a0dd
Fix CircleCI and change deprecated symbols 2017-11-25 03:31:05 -04:00
Sebastian Wilzbach
df6365092a Replace body keyword with its replacement: do
Automatic replacement with

    sed -i "s/^\([ ]*\)body/\1do/" -i **/*.d
2017-11-20 15:33:52 +01:00
Kohei Morita
93ee606fba Fix Issue 16264(+11599) - BigInt multiplication crashes on 64-bit 2017-08-31 20:59:03 +09:00
Andrei Alexandrescu
3535fc47ab Eliminate shared this from std/internal/math/biguintcore.d 2017-08-03 12:40:00 -04:00
Sebastian Wilzbach
70f06b2357 Remove old, redundant private import access specifier
Very very old versions of D (well into 0.x) had imports public by default,
like C header files. This modernizes the codebase and removes the
redundant `private` access specifier.
This has been done with:

sed "s/private import/import/g" -i **/*.d
2017-07-11 12:28:39 +02:00
Sebastian Wilzbach
61717ecc7d Sort imports 2017-06-12 07:54:38 +02:00
Jack Stouffer
4ce5d44dbb Use underscores for number literals with five or more digits 2017-02-23 09:45:49 -05:00
Sebastian Wilzbach
a1bb0515fc Automatically add spaces to binary operators (>=)
command:

sed -E "s/([[:alnum:]]) >= ([[:alnum:]])/\1 >= \2/g" -i **/*.d
sed -E "s/([[:alnum:]])>= ([[:alnum:]])/\1 >= \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) >=([[:alnum:]])/\1 >= \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
203755d296 Automatically add spaces to binary operators (>>)
command:

sed -E "s/([[:alnum:]]) >> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]])>> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) >>([[:alnum:]])/\1 >> \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
d905ef53b1 Automatically add spaces to binary operators (<=)
command:

sed -E "s/([[:alnum:]]) <= ([[:alnum:]])/\1 <= \2/g" -i **/*.d
sed -E "s/([[:alnum:]])<= ([[:alnum:]])/\1 <= \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) <=([[:alnum:]])/\1 <= \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00