# Oraset 标准库 - std.oinc # 使用方法: oraset -i https://oraset.parlz.com/inc/std.oinc # ==================== 数学函数 ==================== sin(x:double) -> double { return std::sin(x); } cos(x:double) -> double { return std::cos(x); } tan(x:double) -> double { return std::tan(x); } asin(x:double) -> double { return std::asin(x); } acos(x:double) -> double { return std::acos(x); } atan(x:double) -> double { return std::atan(x); } sinh(x:double) -> double { return std::sinh(x); } cosh(x:double) -> double { return std::cosh(x); } tanh(x:double) -> double { return std::tanh(x); } exp(x:double) -> double { return std::exp(x); } log(x:double) -> double { return std::log(x); } log10(x:double) -> double { return std::log10(x); } sqrt(x:double) -> double { return std::sqrt(x); } pow(base:double, exp:double) -> double { return std::pow(base, exp); } abs(x:double) -> double { return std::abs(x); } floor(x:double) -> double { return std::floor(x); } ceil(x:double) -> double { return std::ceil(x); } round(x:double) -> double { return std::round(x); } pi() -> double { return M_PI; } e() -> double { return M_E; } # ==================== 字符串函数 ==================== strlen(s:string) -> int { return std::strlen(s); } strcmp(s1:string, s2:string) -> int { return std::strcmp(s1, s2); } strstr(haystack:string, needle:string) -> string { return (char*)std::strstr(haystack, needle); } strtolower(s:string) -> string { char* p = s; while (*p) { *p = std::tolower(*p); p++; } return s; } strtoupper(s:string) -> string { char* p = s; while (*p) { *p = std::toupper(*p); p++; } return s; } # ==================== 系统函数 ==================== system(cmd:string) -> int { return std::system(cmd); } exit(code:int) { std::exit(code); } getenv(name:string, default_val:string) -> string { char* val = std::getenv(name); return val ? val : default_val; } # ==================== 文件操作 ==================== file_exists(filename:string) -> int { std::ifstream f(filename); return f.good() ? 1 : 0; } file_read(filename:string) -> string { std::ifstream f(filename); std::stringstream buffer; buffer << f.rdbuf(); return buffer.str(); } file_write(filename:string, content:string) -> int { std::ofstream f(filename); f << content; return f.good() ? 1 : 0; } file_append(filename:string, content:string) -> int { std::ofstream f(filename, std::ios::app); f << content; return f.good() ? 1 : 0; }