Class: SPARQL::Algebra::Operator::Round
- Includes:
- Evaluatable
- Defined in:
- lib/sparql/algebra/operator/round.rb
Overview
The SPARQL logical round operator.
Returns the number with no fractional part that is closest to the argument. If there are two such numbers, then the one that is closest to positive infinity is returned. An error is raised if arg is not a numeric value.
[121] BuiltInCall ::= ... 'ROUND' '(' Expression ')'
Constant Summary collapse
- NAME =
[:round]
Instance Method Summary collapse
-
#apply(operand, **options) ⇒ RDF::Literal
Returns the number with no fractional part that is closest to the argument.
Methods included from Evaluatable
#evaluate, #memoize, #replace_aggregate!, #replace_vars!
Instance Method Details
#apply(operand, **options) ⇒ RDF::Literal
Returns the number with no fractional part that is closest to the argument. If there are two such numbers, then the one that is closest to positive infinity is returned. An error is raised if arg is not a numeric value.
39 40 41 42 43 44 |
# File 'lib/sparql/algebra/operator/round.rb', line 39 def apply(operand, **) case operand when RDF::Literal::Numeric then operand.round else raise TypeError, "expected an RDF::Literal::Numeric, but got #{operand.inspect}" end end |