1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 17int Add(int e1, int e2) 18{ 19 int result = e1 + e2; 20 if ((e1 >= 0 && e2 >= 0 && result < 0) || (e1 < 0 && e2 < 0 && result >= 0)) { 21 result = -1; 22 } 23 return result; 24} 25 26int Sub(int e1, int e2) 27{ 28 int result = e1 - e2; 29 return result; 30} 31 32int Mul(int e1, int e2) 33{ 34 int result = e1 * e2; 35 if (!e1) { 36 return 0; 37 } 38 if ((result / e1) != e2) { 39 result = -1; 40 } 41 return result; 42} 43 44int Div(int e1, int e2) 45{ 46 if (!e2) { 47 return -1; 48 } 49 50 int result = e1 / e2; 51 return result; 52} 53