summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/c/pgf/expr.c')
-rw-r--r--src/runtime/c/pgf/expr.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/runtime/c/pgf/expr.c b/src/runtime/c/pgf/expr.c
index 3482e0b11..d579027aa 100644
--- a/src/runtime/c/pgf/expr.c
+++ b/src/runtime/c/pgf/expr.c
@@ -112,6 +112,36 @@ pgf_expr_string(GuString str, GuPool* pool)
lit);
}
+PgfExpr
+pgf_expr_int(int val, GuPool* pool)
+{
+ PgfLiteral lit;
+ PgfLiteralInt* plit =
+ gu_new_variant(PGF_LITERAL_INT,
+ PgfLiteralInt,
+ &lit, pool);
+ plit->val = val;
+ return gu_new_variant_i(pool,
+ PGF_EXPR_LIT,
+ PgfExprLit,
+ lit);
+}
+
+PgfExpr
+pgf_expr_float(double val, GuPool* pool)
+{
+ PgfLiteral lit;
+ PgfLiteralFlt* plit =
+ gu_new_variant(PGF_LITERAL_FLT,
+ PgfLiteralFlt,
+ &lit, pool);
+ plit->val = val;
+ return gu_new_variant_i(pool,
+ PGF_EXPR_LIT,
+ PgfExprLit,
+ lit);
+}
+
typedef struct PgfExprParser PgfExprParser;
typedef enum {