summaryrefslogtreecommitdiff
path: root/src/libs/sig/sig.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2020-02-04 00:44:57 -0800
committerVito Caputo <vcaputo@pengaru.com>2020-02-04 00:44:57 -0800
commit0b4c227a210dd5edc6186c0050a1d67baf958b98 (patch)
treeac0860e435c0f10c4ef20b3d9dcc42f4fb9760ab /src/libs/sig/sig.h
parent0db49adcac61dbb48c0fd9261da7cce2e605f916 (diff)
libs/sig: add sig_new_$op wrappers
Provides improved ergonomics when using the bulitin ops, and much appreciated arity and type checking.
Diffstat (limited to 'src/libs/sig/sig.h')
-rw-r--r--src/libs/sig/sig.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libs/sig/sig.h b/src/libs/sig/sig.h
index 3d61cfc..e905ba0 100644
--- a/src/libs/sig/sig.h
+++ b/src/libs/sig/sig.h
@@ -18,6 +18,27 @@ sig_t * sig_ref(sig_t *sig);
sig_t * sig_free(sig_t *sig);
float sig_output(sig_t *sig, unsigned ticks_ms);
+sig_t * sig_new_abs(sig_t *x);
+sig_t * sig_new_add(sig_t *a, sig_t *b);
+sig_t * sig_new_ceil(sig_t *x);
+sig_t * sig_new_clamp(sig_t *x, sig_t *min, sig_t *max);
+sig_t * sig_new_const(float x);
+sig_t * sig_new_div(sig_t *a, sig_t *b);
+sig_t * sig_new_expand(sig_t *x);
+sig_t * sig_new_floor(sig_t *x);
+sig_t * sig_new_inv(sig_t *x);
+sig_t * sig_new_lerp(sig_t *a, sig_t *b, sig_t *t);
+sig_t * sig_new_max(sig_t *a, sig_t *b);
+sig_t * sig_new_min(sig_t *a, sig_t *b);
+sig_t * sig_new_mult(sig_t *a, sig_t *b);
+sig_t * sig_new_neg(sig_t *x);
+sig_t * sig_new_pow(sig_t *x, sig_t *y);
+sig_t * sig_new_rand(void);
+sig_t * sig_new_round(sig_t *x);
+sig_t * sig_new_scale(sig_t *x, sig_t *min, sig_t *max);
+sig_t * sig_new_sin(sig_t *hz);
+sig_t * sig_new_sub(sig_t *a, sig_t *b);
+
extern sig_ops_t sig_ops_const;
extern sig_ops_t sig_ops_rand;
extern sig_ops_t sig_ops_sin;
© All Rights Reserved