Logo

Programming-Idioms

New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating resource.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
function Adding_Will_Overflow (X, Y : Integer) return Boolean is
begin
   return X > 0 and Y > 0 and X > Integer'Last - Y;
end Adding_Will_Overflow;
#include <limits.h>
#include <stdbool.h>
bool addingWillOverflow(int x, int y) {
  return ((x > 0) && (y > INT_MAX - x)) ||
         ((x < 0) && (y < INT_MIN - x));
}
#include <limits>
bool addingWillOverflow(int x, int y) {
  return ((x > 0) && (y > std::numeric_limits<int>::max() - x)) ||
         ((x < 0) && (y < std::numeric_limits<int>::min() - x));
}
bool addingWillOverflow(int x, int y)
{
  bool willOverflow = false;

  if (x > 0 && y > 0)
    if (y > (int.MaxValue - x)) willOverflow = true;

  if (x < 0 && y < 0)
    if (y < (int.MinValue - x)) willOverflow = true;

  return willOverflow;
}
import core.checkedint;
bool addingWillOverflow(int x, int y)
{
    bool result;
    core.checkedint.adds(x, y, result);
    return result;
}
  logical function adding_will_overflow (x,y) result(res)
    integer, intent(in) :: x, y
    res = (x > 0 .and. y > huge(x) - x) .or. (x < 0 .and. y < huge(x) - x)
  end function adding_will_overflow
import "math"
func willAddOverflow(a, b int64) bool {
	return a > math.MaxInt64 - b
}
addingWillOverflow x y = y > maxBound - x
function addingWillOverflow(x, y) {
  return x > 0 && y > 0 && x > Number.MAX_SAFE_INTEGER - y
}
public boolean addingWillOverflow(int x, int y){
    boolean willOverFlow = false;
    if(x > 0 && y > 0){
        if(y > (Integer.MAX_VALUE - x)){
            willOverFlow = true;
        }
    }
    if(x < 0 && y < 0){
       if(y < (Integer.MIN_VALUE - x)){
           willOverFlow = true;
       }
    }
    return willOverFlow;
}
function _addingWillOverflow($x, $y): bool
{
    return (PHP_INT_MAX - $y) > $x;
}
function AddingWillOverFlow(x,y: Integer): Boolean;
begin
  Result := ((x > 0) and (y > 0) and (x > (High(Integer)-y))) or
            ((x < 0) and (y < 0) and ((Low(Integer)-x) > y));
end;
function AddingWillOverFlow(x,y: Integer): Boolean;
begin
  Result := (x > 0) and (y > 0) and (x > (MaxInt-y));
end;
sub adding_will_overflow {
    my ($x, $y) = @_;
    return 'Inf' eq $x + $y;
}
def adding_will_overflow(x,y):
    return False
def addingWillOverflow(x,y)
  false
end
fn adding_will_overflow(x: usize, y: usize) -> bool {
    x.checked_add(y).is_none()
}