From fad7908a5de4ab08367914d53780ff6518d5f552 Mon Sep 17 00:00:00 2001 From: "S.H" Date: Tue, 9 Feb 2021 13:29:42 +0900 Subject: Improve performance Float#positive? and Float#negative? [Feature #17614] (#4160) --- numeric.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'numeric.rb') diff --git a/numeric.rb b/numeric.rb index fbddaa9f6d..0746a83820 100644 --- a/numeric.rb +++ b/numeric.rb @@ -204,4 +204,26 @@ class Float Primitive.attr! 'inline' Primitive.cexpr! 'FLOAT_ZERO_P(self) ? Qtrue : Qfalse' end + + # + # call-seq: + # float.positive? -> true or false + # + # Returns +true+ if +float+ is greater than 0. + # + def positive? + Primitive.attr! 'inline' + Primitive.cexpr! 'RFLOAT_VALUE(self) > 0.0 ? Qtrue : Qfalse' + end + + # + # call-seq: + # float.negative? -> true or false + # + # Returns +true+ if +float+ is less than 0. + # + def negative? + Primitive.attr! 'inline' + Primitive.cexpr! 'RFLOAT_VALUE(self) < 0.0 ? Qtrue : Qfalse' + end end -- cgit v1.2.1