/* * 基础算术函数测试文件 * 用于测试LLM生成的基础算术验证规范 */ #include // 基本加法函数 int add(int a, int b) { return a + b; } // 计算两个整数的平均值 int average(int a, int b) { return (a + b) / 2; } // 基本乘法函数 int multiply(int a, int b) { return a * b; } // 带溢出检查的加法 int safe_add(int a, int b) { // 简单的溢出检查 if (a > 0 && b > INT_MAX - a) { return INT_MAX; // 溢出时返回最大值 } if (a < 0 && b < INT_MIN - a) { return INT_MIN; // 下溢时返回最小值 } return a + b; } // 计算平方 int square(int x) { return x * x; } // 计算立方 int cube(int x) { return x * x * x; } // 带边界检查的减法 int safe_subtract(int a, int b) { if (b > 0 && a < INT_MIN + b) { return INT_MIN; // 下溢时返回最小值 } if (b < 0 && a > INT_MAX + b) { return INT_MAX; // 溢出时返回最大值 } return a - b; } // 计算绝对值 int absolute(int x) { return (x < 0) ? -x : x; } // 带符号的乘法 int signed_multiply(int a, int b) { int result = a * b; // 简单的结果符号检查 if ((a > 0 && b > 0) || (a < 0 && b < 0)) { return (result < 0) ? 0 : result; // 同号应该为正 } else { return (result > 0) ? 0 : result; // 异号应该为负 } } // 计算两个数的最小值 int minimum(int a, int b) { return (a < b) ? a : b; } // 计算两个数的最大值 int maximum(int a, int b) { return (a > b) ? a : b; }