A Sass implementation of mathematical functions.
npm install mathsassA Sass implementation of mathematical functions.
#### Git
```
git clone git@github.com:terkel/mathsass.git && cd mathsass
#### Bower
``
bower install mathsass --save-dev
#### npm
``
npm install mathsass --save-dev
Import dist/_math.scss partial to the Sass document.
`scss
@import "path/to/dist/math";
.content {
height: 200px;
width: 200px / tan(60deg); // 115.47005px
}
`
If you installed via Npm the path will be: node_modules/mathsass/dist/math
If you installed via Bower the path will be: bower_components/mathsass/dist/math
* $E - Euler's constant (ネイピア数 [オイラー数])$PI
* - π (円周率)$LN2
* - The natural logarithm of 2 (2 の自然対数)$SQRT2
* - The square root of 2 (2 の平方根)
#### Exponentiation
* pow($base, $exp)
`scss`
@debug pow(4, 2); // 16
@debug pow(4, -2); // 0.0625
@debug pow(4, 0.2); // 1.31951
#### Factorial
* fact($x)
`scss`
@debug fact(4); // 24
@debug fact(8); // 40320
#### Square root
* sqrt($x)
`scss`
@debug sqrt(2); // 1.41421
@debug sqrt(3); // 1.73205
#### Exponential function
* exp($x)frexp($x)
* ldexp($x, $exp)
*
`scss`
@debug exp(-1); // 0.36788
@debug exp(0); // 1
@debug exp(1); // 2.71828
#### Logarithms
* log($x, $b: null)
`scss`
@debug log(2); // 0.69315
@debug log(10); // 2.30259
@debug log(2, 10); // 0.30103
#### Trigonometric functions
* sin($x) - Sine (正弦)cos($x)
* - Cosine (余弦)tan($x)
* - Tangent (正接)csc($x)
* - Cosecant (余割)sec($x)
* - Secant (正割)cot($x)
* - Cotangent (余接)
If argument has deg unit, converted to rad.
`scss`
@debug tan(0.5236); // 0.57735
@debug tan(30deg); // 0.57735
#### Inverse trigonometric functions
* asin($x) - Arcsine (逆正弦)acos($x)
* - Arccosine (逆余弦)atan($x)
* - Arctangent (逆正接)atan2($y, $x)
* - Arctangent of the quotient of its arguments (引数の比率での逆正接)
`scss`
@debug atan2(0, 0); // 0
@debug atan2(0, -0.0); // 3.14159
@debug atan2(-0.0, 0); // 0
@debug atan2(-0.0, -0.0); // -3.14159
#### Greatest common divisor and least common multiple
* gcd($a, $b) - Greatest common divisor (最大公約数)lcm($a, $b)
* - Least common multiple (最小公倍数)
`scss`
@debug gcd(54, 24); // 6
@debug lcm(30, 42); // 210
* strip-unit($number)deg-to-rad($deg, $unit: true)
* rad-to-deg($rad, $unit: true)
* unitless-rad($angle)
*
`scss`
@debug rad-to-deg(1.0472); // 60.00014deg
@debug deg-to-rad(60deg); // 1.0472rad
@debug deg-to-rad(60deg, false); // 1.0472
@debug unitless-rad(60deg); // 1.0472
@debug unitless-rad(1.0472rad); // 1.0472
* adambom/Sass-Math · GitHub
* Team-Sass/Sassy-math · GitHub
* Math - JavaScript | MDN
* 404 Blog Not Found:javascript - Mathを再発明してみた
* C言語による最新アルゴリズム事典
…and Wikipedia articles:
* Exponentiation, 冪乗 (累乗)
* Factorial, 階乗
* Square root, 平方根
* Exponential function, 指数関数
* Logarithm, 対数
* Trigonometric functions, 三角関数
* Inverse trigonometric functions, 逆三角関数
* Greatest common divisor, 最大公約数
* Least common multiple, 最小公倍数
* Degree (angle)), 度 (角度))
* Radian, ラジアン
Make sure you have node.js and grunt installed.
Clone Repository
``
git clone git@github.com:terkel/mathsass.git
Install Dependencies
``
npm install
Run Sass/Tests
```
grunt
Originally created with help from @kaminaly and @pilssalgi.
Copyright (c) 2013 Takeru Suzuki
Licensed under the MIT license.