title: Check Integer Overflow Multiplication
signature: function checkIntegerOverflowMultiplication($a, $b) {
test_code: <?php
  
  
  // SOLUTION CODE 
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  function validateSolution($actual, $expected){
      return serialize($actual) == serialize($expected);
  }
  
  function driver($a, $b, $expected){
      try{
        if (validateSolution(PLACEHOLDER_FN_NAME($a, $b), $expected)){
          return "PASSED";
        }
        return "FAILED";
      }
      catch (Exception $exception_obj) {
        return get_class($exception_obj);
      }
  }
  
  function main(){
      printf("TEST-0...%s\n",driver(
        37, 80, 
        false));
      
      printf("TEST-1...%s\n",driver(
        10000000000, -10000000000, 
        true));
      
      printf("TEST-2...%s\n",driver(
        10000000000, 10000000000, 
        true));
      
      printf("TEST-3...%s\n",driver(
        999999999, 999999999, 
        false));
      
      printf("TEST-4...%s\n",driver(
        39, 36, 
        false));
      
      printf("TEST-5...%s\n",driver(
        92, 56, 
        false));
      
      printf("TEST-6...%s\n",driver(
        14, 21, 
        false));
      
      printf("TEST-7...%s\n",driver(
        19, 38, 
        false));
      
      printf("TEST-8...%s\n",driver(
        14, 82, 
        false));
      
      printf("TEST-9...%s\n",driver(
        88, 41, 
        false));
      
  }
  
  main();
  ?>
source_py: def check_integer_overflow_multiplication(a, b):
      if ((a == 0) or (b == 0)):
          return False
      result = (a * b)
      if ((result >= 9223372036854775807) or (result <= (- 9223372036854775808))):
          result = 0
      if (a == (result // b)):
          print((result // b))
          return False
      else:
          return True
source_cpp: bool check_integer_overflow_multiplication(long long a, long long b) {
    if ( a == 0 || b == 0 ) return false;
    long long result = a * b;
    if ( a == result / b ) return false;
    else return true;
  }