Class: RDF::N3::Algebra::Math::Sin
- Inherits:
-
ResourceOperator
- Object
- SPARQL::Algebra::Operator::Binary
- ResourceOperator
- RDF::N3::Algebra::Math::Sin
- Defined in:
- lib/rdf/n3/algebra/math/sin.rb
Overview
The subject is an angle expressed in radians. The object is calulated as the sine value of the subject.
Constant Summary collapse
Instance Attribute Summary
Attributes included from Enumerable
Instance Method Summary collapse
-
#input_operand ⇒ RDF::Term
Input is either the subject or object.
-
#resolve(resource, position:) ⇒ RDF::Term
The math:sin operator takes string or number and calculates its sine.
Methods inherited from ResourceOperator
#as_literal, #execute, #valid?
Methods included from Builtin
#each, #evaluate, #hash, #rank, #to_uri
Instance Method Details
#input_operand ⇒ RDF::Term
Input is either the subject or object
36 37 38 |
# File 'lib/rdf/n3/algebra/math/sin.rb', line 36 def input_operand RDF::N3::List.new(values: operands) end |
#resolve(resource, position:) ⇒ RDF::Term
The math:sin operator takes string or number and calculates its sine. The arc sine of a concrete object can also calculate a variable subject.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rdf/n3/algebra/math/sin.rb', line 17 def resolve(resource, position:) case resource when RDF::Query::Variable then resource when RDF::Literal case position when :subject as_literal(Math.sin(resource.as_number.object)) when :object as_literal(Math.sinh(resource.as_number.object)) end else nil end end |