From 250c28ccdef5f238677b34f21ec7fab06588a127 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 28 Jul 2011 21:34:45 -0600 Subject: Make the checker pattern a singleton. --- libdimension/checker.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libdimension/checker.c') diff --git a/libdimension/checker.c b/libdimension/checker.c index 84b13bd..aa663ed 100644 --- a/libdimension/checker.c +++ b/libdimension/checker.c @@ -51,10 +51,15 @@ dmnsn_checker_pattern_fn(const dmnsn_pattern *checker, dmnsn_vector v) return (n%2 == 0) ? 0.0 : 1.0; } +/** The singleton instance. */ +static dmnsn_pattern dmnsn_checker_instance = { + .pattern_fn = dmnsn_checker_pattern_fn, + .refcount = 1, +}; + dmnsn_pattern * dmnsn_new_checker_pattern(void) { - dmnsn_pattern *checker = dmnsn_new_pattern(); - checker->pattern_fn = dmnsn_checker_pattern_fn; - return checker; + DMNSN_INCREF(&dmnsn_checker_instance); + return &dmnsn_checker_instance; } -- cgit v1.2.3