aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/big.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-12-18 14:45:13 +0100
committerSverker Eriksson <[email protected]>2018-12-18 14:45:13 +0100
commitc6f59b2cd0973c5de44c382f70cfb876ff2db2e3 (patch)
tree88b512d4f54bdf1c0b4702d97a83a704e92414d6 /erts/emulator/beam/big.c
parent829166ecdb3d40161d3b53485549fb9064548da8 (diff)
parentc8d3bff46adbff3205eaf76de8a634557cbd4af4 (diff)
downloadotp-c6f59b2cd0973c5de44c382f70cfb876ff2db2e3.tar.gz
otp-c6f59b2cd0973c5de44c382f70cfb876ff2db2e3.tar.bz2
otp-c6f59b2cd0973c5de44c382f70cfb876ff2db2e3.zip
Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maint
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
Diffstat (limited to 'erts/emulator/beam/big.c')
-rw-r--r--erts/emulator/beam/big.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c
index dac9574fa5..7e0be2a2a7 100644
--- a/erts/emulator/beam/big.c
+++ b/erts/emulator/beam/big.c
@@ -1157,8 +1157,11 @@ static dsize_t I_band(ErtsDigit* x, dsize_t xl, short xsgn,
*r++ = ~c1 & ~c2;
x++; y++;
}
- while(xl--)
- *r++ = ~*x++;
+ while(xl--) {
+ DSUBb(*x,0,b1,c1);
+ *r++ = ~c1;
+ x++;
+ }
}
}
return I_btrail(r0, r, sign);