aboutsummaryrefslogtreecommitdiff
path: root/src/bigint.cpp
AgeCommit message (Collapse)Author
2019-01-02@bitreverse intrinsic, part of #767 (#1865)vegecode
* bitreverse - give bswap behavior * bitreverse, comptime_ints, negative values still not working? * bitreverse working for negative comptime ints * Finished bitreverse test cases * Undo exporting a bigint function. @bitreverse test name includes ampersand * added docs entry for @bitreverse
2018-09-24fix more bigint code paths and add testsAndrew Kelley
2018-09-24fix comptime bitwise operations with negative valuesAndrew Kelley
closes #1387 closes #1529
2018-07-07add @popCount intrinsicAndrew Kelley
2018-06-21Fix logicIsaac Hier
2018-06-21Fix increment operation for bigint -1Isaac Hier
2018-05-10Fix bigint shift-right partial shiftMarc Tiehuis
2018-05-05Fix bigint multi-limb shift and masksMarc Tiehuis
2018-04-23fix bigint twos complement implementationAndrew Kelley
closes #948
2018-01-17More tests, and fixed none negative bigint xorJimmi Holst Christensen
2018-01-17fixed xor with zeroJimmi Holst Christensen
2018-01-16fix bigint remainder divisionAndrew Kelley
See #405
2018-01-16implement bigint div and remAndrew Kelley
See #405
2017-12-02ability to set tag values of enumsAndrew Kelley
also remove support for enums with 0 values closes #305
2017-09-14do not depend on __int128Andrew Kelley
closes #477
2017-09-14depend on embedded SoftFloat-3d instead of __float128Andrew Kelley
See #302 See #467
2017-09-13fix up msvc stuff to make it work on linux and macos tooAndrew Kelley
2017-09-11Add support for MSVCJonathan Marler
2017-09-02rewrite parseh to use AST instead of direct typesAndrew Kelley
some tests still failing
2017-08-20compile-time f32, f64 operations are now correctly lossyAndrew Kelley
previously we used the bigfloat abstraction to do all compile-time float math. but runtime code and comptime code are supposed to get the same result. so now if you add a f32 to a f32 at compile time it does it with f32 math instead of the bigfloat. float literals still get the bigfloat math. closes #424
2017-08-17fix bitCast for big integersAndrew Kelley
and make bigfloat use __float128
2017-08-17fix big integer shifting by large numberAndrew Kelley
2017-08-17fix wrong value for clz, ctz at compile timeAndrew Kelley
closes #418 also make clz, ctz return smaller integer bit widths and use smaller integer bit widths for enum tag types
2017-08-16compiler_rt implementations for __fixuns* functionsAndrew Kelley
* add u128 and i128 integer types * add f128 floating point type * implement big integer multiplication (See #405)
2017-08-09more intuitive left shift and right shift operatorsAndrew Kelley
Before: * << is left shift, not allowed to shift 1 bits out * <<% is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out After: * << is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out * @shlExact is left shift, not allowed to shift 1 bits out * @shrExact is right shift, not allowed to shift 1 bits out Closes #413
2017-07-08better bigint/bigfloat implementationAndrew Kelley