summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/expr.c
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2015-11-19 13:18:19 +0000
committerkrasimir <krasimir@chalmers.se>2015-11-19 13:18:19 +0000
commit9f9b23d0dddd3b61e4289cfbcf08241deddc65de (patch)
treefea7f97a8c55e97ed30493cc464b14ff095ed751 /src/runtime/c/pgf/expr.c
parentfe7397efe4403f94797203e6bf00daa95d749618 (diff)
added mkInt and mkFloat in the Haskell binding to make it easy to create literal expressions
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 {