From 6dc66d354c24f91eebfc6a573ecfc05d82fc92f0 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Tue, 10 Dec 2013 05:40:26 -0800 Subject: [PATCH] add missing finite? function --- src/number.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/number.c b/src/number.c index 225a202d..f9a0fd05 100644 --- a/src/number.c +++ b/src/number.c @@ -53,6 +53,21 @@ pic_number_inexact_p(pic_state *pic) return pic_bool_value(pic_float_p(v)); } +static pic_value +pic_number_finite_p(pic_state *pic) +{ + pic_value v; + + pic_get_args(pic, "o", &v); + + if (pic_int_p(v)) + return pic_true_value(); + if (pic_float_p(v) && ! (isinf(pic_float(v)) || isnan(pic_float(v)))) + return pic_true_value(); + else + return pic_false_value(); +} + static pic_value pic_number_infinite_p(pic_state *pic) {