Module: Compass::SassExtensions::Functions::Math
- Included in:
- Sass::Script::Functions
- Defined in:
- lib/compass/sass_extensions/functions/math.rb
Instance Method Summary collapse
- #cos(number) ⇒ Object
- #e ⇒ Object
- #logarithm(number, base = e) ⇒ Object
- #pi ⇒ Object
- #pow(number, exponent) ⇒ Object
- #sin(number) ⇒ Object
- #sqrt(number) ⇒ Object (also: #square_root)
- #tan(number) ⇒ Object
Instance Method Details
#cos(number) ⇒ Object
13 14 15 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 13 def cos(number) trig(:cos, number) end |
#e ⇒ Object
23 24 25 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 23 def e() Sass::Script::Number.new(Math::E) end |
#logarithm(number, base = e) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 28 def logarithm(number, base = e ) assert_type number, :Number assert_type base, :Number raise Sass::SyntaxError, "base to logarithm must be unitless." unless base.unitless? result = Math.log(number.value, base.value) rescue Math.log(number.value) / Math.log(base.value) Sass::Script::Number.new(result, number.numerator_units, number.denominator_units) end |
#pi ⇒ Object
3 4 5 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 3 def pi() Sass::Script::Number.new(Math::PI) end |
#pow(number, exponent) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 47 def pow(number, exponent) assert_type number, :Number assert_type exponent, :Number raise Sass::SyntaxError, "exponent to pow must be unitless." unless exponent.unitless? Sass::Script::Number.new(number.value**exponent.value, number.numerator_units, number.denominator_units) end |
#sin(number) ⇒ Object
8 9 10 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 8 def sin(number) trig(:sin, number) end |
#sqrt(number) ⇒ Object Also known as: square_root
39 40 41 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 39 def sqrt(number) numeric_transformation(number) { |n| Math.sqrt(n) } end |
#tan(number) ⇒ Object
18 19 20 |
# File 'lib/compass/sass_extensions/functions/math.rb', line 18 def tan(number) trig(:tan, number) end |