# Programming-Idioms

#### History of Idiom 86 > diff from v6 to v7

Edit summary for version 7 :
[Pascal] Comment emphasize

#### Version 6

2016-02-07, 16:58:03

#### Version 7

2016-02-07, 17:21:20

# Idiom #86 Check if integer multiplication will overflow

Write boolean function multiplyWillOverflow which takes two integers x, y and return true if (x*y) overflows.

# Idiom #86 Check if integer multiplication will overflow

Write boolean function multiplyWillOverflow which takes two integers x, y and return true if (x*y) overflows.

##### Code
```function MultiplyWillOverflow(x, y: Integer): Boolean;
begin
if ((x and y) = 0) then
Result := False
else
begin
if ((x > 0) and (y > 0)) or ((x < 0) and (y < 0)) then
Result := ((High(Integer) div Abs(x)) > Abs(y))
else
Result := Abs(Low(Integer) div Abs(x)) > Abs(y);
end;
end; ```
##### Code
```function MultiplyWillOverflow(x, y: Integer): Boolean;
begin
if ((x and y) = 0) then
Result := False
else
begin
if ((x > 0) and (y > 0)) or ((x < 0) and (y < 0)) then
Result := ((High(Integer) div Abs(x)) > Abs(y))
else
Result := Abs(Low(Integer) div Abs(x)) > Abs(y);
end;
end; ```