Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @function pow($number, $exp) {
- $value: 1;
- @if $exp > 0 {
- @for $i from 1 through $exp {
- $value: $value * $number;
- }
- }
- @else if $exp < 0 {
- @for $i from 1 through -$exp {
- $value: $value / $number;
- }
- }
- @return $value;
- }
- @function pi() {
- @return 3.14159265359;
- }
- @function fact($number) {
- $value: 1;
- @if $number > 0 {
- @for $i from 1 through $number {
- $value: $value * $i;
- }
- }
- @return $value;
- }
- @function rad($angle) {
- $unit: unit($angle);
- $unitless: $angle / ($angle * 0 + 1);
- // If the angle has 'deg' as unit, convert to radians.
- @if $unit == deg {
- $unitless: $unitless / 180 * pi();
- }
- @return $unitless;
- }
- @function sin($angle) {
- $sin: 0;
- $angle: rad($angle);
- // Iterate a bunch of times.
- @for $i from 0 through 10 {
- $sin: $sin + pow(-1, $i) * pow($angle, (2 * $i + 1)) / fact(2 * $i + 1);
- }
- @return $sin;
- }
- @function cos($angle) {
- $cos: 0;
- $angle: rad($angle);
- // Iterate a bunch of times.
- @for $i from 0 through 10 {
- $cos: $cos + pow(-1, $i) * pow($angle, 2 * $i) / fact(2 * $i);
- }
- @return $cos;
- }
Add Comment
Please, Sign In to add comment