X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=fold.h;h=693231f2ec6c9448bbb5f217cd86439775dde63d;hp=1d096e82f9ccf182d05172b8b347c7b510322f99;hb=620bd76e76804b1fc1de46daa03724e23339e8bf;hpb=2d99ce609dfae77f31f791766f9186382b233525 diff --git a/fold.h b/fold.h index 1d096e8..693231f 100644 --- a/fold.h +++ b/fold.h @@ -21,7 +21,7 @@ struct fold { bool generate(ir_builder *ir); ast_expression *op(const oper_info *info, ast_expression **opexprs); - ast_expression *intrinsic(const char *intrinsic, ast_expression **arg); + ast_expression *intrinsic(const char *intrinsic, size_t n_args, ast_expression **args); static int cond_ternary(ir_value *condval, ast_function *func, ast_ternary *branch); static int cond_ifthen(ir_value *condval, ast_function *func, ast_ifthen *branch); @@ -83,10 +83,14 @@ protected: ast_expression *intrinsic_exp(ast_value *a); ast_expression *intrinsic_exp2(ast_value *a); ast_expression *intrinsic_expm1(ast_value *a); - ast_expression *intrinsic_mod(ast_value *lhs, ast_value *rhs); ast_expression *intrinsic_pow(ast_value *lhs, ast_value *rhs); + ast_expression *intrinsic_mod(ast_value *lhs, ast_value *rhs); ast_expression *intrinsic_fabs(ast_value *a); + ast_expression* intrinsic_nan(void); + ast_expression* intrinsic_epsilon(void); + ast_expression* intrinsic_inf(void); + static qcfloat_t immvalue_float(ir_value *value); static vec3_t immvalue_vector(ir_value *value);