@@ -96,13 +96,13 @@ for T in IntTypes
96
96
(| )(x:: $T , y:: $T ) = box ($ T, or_int (unbox ($ T,x),unbox ($ T,y)))
97
97
($ )(x:: $T , y:: $T ) = box ($ T,xor_int (unbox ($ T,x),unbox ($ T,y)))
98
98
99
- << (x:: $T , y:: Int32 ) = box ($ T, shl_int (unbox ($ T,x),unbox (Int32 ,y)))
100
- >>> (x:: $T , y:: Int32 ) = box ($ T,lshr_int (unbox ($ T,x),unbox (Int32 ,y)))
99
+ << (x:: $T , y:: Int ) = box ($ T, shl_int (unbox ($ T,x),unbox (Int ,y)))
100
+ >>> (x:: $T , y:: Int ) = box ($ T,lshr_int (unbox ($ T,x),unbox (Int ,y)))
101
101
end
102
102
if issubtype (T,Unsigned)
103
- @eval >> (x:: $T , y:: Int32 ) = box ($ T,lshr_int (unbox ($ T,x),unbox (Int32 ,y)))
103
+ @eval >> (x:: $T , y:: Int ) = box ($ T,lshr_int (unbox ($ T,x),unbox (Int ,y)))
104
104
else
105
- @eval >> (x:: $T , y:: Int32 ) = box ($ T,ashr_int (unbox ($ T,x),unbox (Int32 ,y)))
105
+ @eval >> (x:: $T , y:: Int ) = box ($ T,ashr_int (unbox ($ T,x),unbox (Int ,y)))
106
106
end
107
107
end
108
108
@@ -348,8 +348,8 @@ typemin(::Type{UInt64}) = UInt64(0)
348
348
typemax (:: Type{UInt64} ) = 0xffffffffffffffff
349
349
@eval typemin (:: Type{UInt128} ) = $ (UInt128 (0 ))
350
350
@eval typemax (:: Type{UInt128} ) = $ (box (UInt128,unbox (Int128,convert (Int128,- 1 ))))
351
- @eval typemin (:: Type{Int128} ) = $ (convert (Int128,1 )<< Int32 ( 127 ) )
352
- @eval typemax (:: Type{Int128} ) = $ (box (Int128,unbox (UInt128,typemax (UInt128)>> Int32 ( 1 ) )))
351
+ @eval typemin (:: Type{Int128} ) = $ (convert (Int128,1 )<< 127 )
352
+ @eval typemax (:: Type{Int128} ) = $ (box (Int128,unbox (UInt128,typemax (UInt128)>> 1 )))
353
353
354
354
widen (:: Type{Int8} ) = Int
355
355
widen (:: Type{Int16} ) = Int
@@ -373,7 +373,7 @@ widemul(x::Number,y::Bool) = x*y
373
373
374
374
# # wide multiplication, Int128 multiply and divide ##
375
375
376
- if WORD_SIZE== 32
376
+ if WORD_SIZE == 32
377
377
function widemul (u:: Int64 , v:: Int64 )
378
378
local u0:: UInt64 , v0:: UInt64 , w0:: UInt64
379
379
local u1:: Int64 , v1:: Int64 , w1:: UInt64 , w2:: Int64 , t:: UInt64
@@ -434,12 +434,12 @@ if WORD_SIZE==32
434
434
435
435
mod (x:: Int128 , y:: Int128 ) = Int128 (mod (BigInt (x),BigInt (y)))
436
436
437
- << (x:: Int128 , y:: Int32 ) = y == 0 ? x : box (Int128,shl_int (unbox (Int128,x),unbox (Int32 ,y)))
438
- << (x:: UInt128 , y:: Int32 ) = y == 0 ? x : box (UInt128,shl_int (unbox (UInt128,x),unbox (Int32 ,y)))
439
- >> (x:: Int128 , y:: Int32 ) = y == 0 ? x : box (Int128,ashr_int (unbox (Int128,x),unbox (Int32 ,y)))
440
- >> (x:: UInt128 , y:: Int32 ) = y == 0 ? x : box (UInt128,lshr_int (unbox (UInt128,x),unbox (Int32 ,y)))
441
- >>> (x:: Int128 , y:: Int32 ) = y == 0 ? x : box (Int128,lshr_int (unbox (Int128,x),unbox (Int32 ,y)))
442
- >>> (x:: UInt128 , y:: Int32 ) = y == 0 ? x : box (UInt128,lshr_int (unbox (UInt128,x),unbox (Int32 ,y)))
437
+ << (x:: Int128 , y:: Int ) = y == 0 ? x : box (Int128,shl_int (unbox (Int128,x),unbox (Int ,y)))
438
+ << (x:: UInt128 , y:: Int ) = y == 0 ? x : box (UInt128,shl_int (unbox (UInt128,x),unbox (Int ,y)))
439
+ >> (x:: Int128 , y:: Int ) = y == 0 ? x : box (Int128,ashr_int (unbox (Int128,x),unbox (Int ,y)))
440
+ >> (x:: UInt128 , y:: Int ) = y == 0 ? x : box (UInt128,lshr_int (unbox (UInt128,x),unbox (Int ,y)))
441
+ >>> (x:: Int128 , y:: Int ) = y == 0 ? x : box (Int128,lshr_int (unbox (Int128,x),unbox (Int ,y)))
442
+ >>> (x:: UInt128 , y:: Int ) = y == 0 ? x : box (UInt128,lshr_int (unbox (UInt128,x),unbox (Int ,y)))
443
443
else
444
444
* (x:: Int128 , y:: Int128 ) = box (Int128,mul_int (unbox (Int128,x),unbox (Int128,y)))
445
445
* (x:: UInt128 , y:: UInt128 ) = box (UInt128,mul_int (unbox (UInt128,x),unbox (UInt128,y)))
@@ -491,13 +491,13 @@ for T in (Int8,UInt8)
491
491
end
492
492
493
493
if WORD_SIZE == 32
494
- for T in (Int64,UInt64)
495
- @eval function checked_mul (x:: $T , y:: $T )
496
- xy = Int128 (x)* Int128 (y)
497
- (typemin ($ T) <= xy <= typemax ($ T)) || throw (OverflowError ())
498
- return xy % $ T
494
+ for T in (Int64,UInt64)
495
+ @eval function checked_mul (x:: $T , y:: $T )
496
+ xy = Int128 (x)* Int128 (y)
497
+ (typemin ($ T) <= xy <= typemax ($ T)) || throw (OverflowError ())
498
+ return xy % $ T
499
+ end
499
500
end
500
- end
501
501
else
502
502
checked_mul (x:: Int64 , y:: Int64 ) = box (Int64,checked_smul (unbox (Int64,x),unbox (Int64,y)))
503
503
checked_mul (x:: UInt64 , y:: UInt64 ) = box (UInt64,checked_umul (unbox (UInt64,x),unbox (UInt64,y)))
0 commit comments