sass-planifolia

Vanilla Sass helper functions
git clone https://git.ce9e.org/sass-planifolia.git

commit
e2ffcbe5f863c9caa4bca4de5f0b0a2f67d74722
parent
e0f95a1ecded1b9efa0eef810dbd3174b1e8bba8
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2016-07-06 05:41
shorten _planifolia to _pf

Diffstat

M sass/color.scss 138 ++++++++++++++++++++++++++++++------------------------------
M sass/contrast.scss 18 +++++++++---------
M sass/math.scss 42 +++++++++++++++++++++---------------------

3 files changed, 99 insertions, 99 deletions


diff --git a/sass/color.scss b/sass/color.scss

@@ -15,11 +15,11 @@
   15    15 /// @type string
   16    16 $planifolia-colorspace: 'lab' !default;
   17    17 
   18    -1 @function _planifolia-perc($x) {
   -1    18 @function _pf-perc($x) {
   19    19   @return if(unit($x) == '%', $x / 100%, $x);
   20    20 }
   21    21 
   22    -1 @function _planifolia-srgb-to-rgb($c) {
   -1    22 @function _pf-srgb-to-rgb($c) {
   23    23   $c: $c / 255;
   24    24   @if $c <= .04045 {
   25    25     $c: $c / 12.92;
@@ -29,7 +29,7 @@ $planifolia-colorspace: 'lab' !default;
   29    29   @return $c * 100;
   30    30 }
   31    31 
   32    -1 @function _planifolia-rgb-to-srgb($c) {
   -1    32 @function _pf-rgb-to-srgb($c) {
   33    33   $c: $c / 100;
   34    34   @if $c <= .0031308 {
   35    35     $c: $c * 12.92;
@@ -39,10 +39,10 @@ $planifolia-colorspace: 'lab' !default;
   39    39   @return $c * 255;
   40    40 }
   41    41 
   42    -1 @function _planifolia-to-xyz($color) {
   43    -1   $r: _planifolia-srgb-to-rgb(red($color));
   44    -1   $g: _planifolia-srgb-to-rgb(green($color));
   45    -1   $b: _planifolia-srgb-to-rgb(blue($color));
   -1    42 @function _pf-to-xyz($color) {
   -1    43   $r: _pf-srgb-to-rgb(red($color));
   -1    44   $g: _pf-srgb-to-rgb(green($color));
   -1    45   $b: _pf-srgb-to-rgb(blue($color));
   46    46 
   47    47   $x: .4124 * $r + .3576 * $g + .1805 * $b;
   48    48   $y: .2126 * $r + .7152 * $g + .0722 * $b;
@@ -51,22 +51,22 @@ $planifolia-colorspace: 'lab' !default;
   51    51   @return ($x, $y, $z);
   52    52 }
   53    53 
   54    -1 @function _planifolia-from-xyz($xyz) {
   -1    54 @function _pf-from-xyz($xyz) {
   55    55   $r: 3.2406 * nth($xyz, 1) - 1.5372 * nth($xyz, 2) - .4986 * nth($xyz, 3);
   56    56   $g: -.9689 * nth($xyz, 1) + 1.8758 * nth($xyz, 2) + .0415 * nth($xyz, 3);
   57    57   $b: .0557 * nth($xyz, 1) - .204 * nth($xyz, 2) + 1.057 * nth($xyz, 3);
   58    58 
   59    -1   $r: _planifolia-rgb-to-srgb($r);
   60    -1   $g: _planifolia-rgb-to-srgb($g);
   61    -1   $b: _planifolia-rgb-to-srgb($b);
   -1    59   $r: _pf-rgb-to-srgb($r);
   -1    60   $g: _pf-rgb-to-srgb($g);
   -1    61   $b: _pf-rgb-to-srgb($b);
   62    62 
   63    63   @return rgb($r, $g, $b);
   64    64 }
   65    65 
   66    -1 @function _planifolia-to-yuv($color) {
   67    -1   $r: _planifolia-srgb-to-rgb(red($color));
   68    -1   $g: _planifolia-srgb-to-rgb(green($color));
   69    -1   $b: _planifolia-srgb-to-rgb(blue($color));
   -1    66 @function _pf-to-yuv($color) {
   -1    67   $r: _pf-srgb-to-rgb(red($color));
   -1    68   $g: _pf-srgb-to-rgb(green($color));
   -1    69   $b: _pf-srgb-to-rgb(blue($color));
   70    70 
   71    71   $y: 0.2126 * $r + 0.7152 * $g + 0.0722 * $b;
   72    72   $u: -0.09991 * $r + -0.33609 * $g + 0.436 * $b;
@@ -75,19 +75,19 @@ $planifolia-colorspace: 'lab' !default;
   75    75   @return ($y, $v, -$u);
   76    76 }
   77    77 
   78    -1 @function _planifolia-from-yuv($yuv) {
   -1    78 @function _pf-from-yuv($yuv) {
   79    79   $y: nth($yuv, 1);
   80    80   $v: nth($yuv, 2);
   81    81   $u: -1 * nth($yuv, 3);
   82    82 
   83    -1   $r: _planifolia-rgb-to-srgb($y + 1.28033 * $v);
   84    -1   $g: _planifolia-rgb-to-srgb($y + -0.21482 * $u + -0.38059 * $v);
   85    -1   $b: _planifolia-rgb-to-srgb($y + 2.12798 * $u);
   -1    83   $r: _pf-rgb-to-srgb($y + 1.28033 * $v);
   -1    84   $g: _pf-rgb-to-srgb($y + -0.21482 * $u + -0.38059 * $v);
   -1    85   $b: _pf-rgb-to-srgb($y + 2.12798 * $u);
   86    86 
   87    87   @return rgb($r, $g, $b);
   88    88 }
   89    89 
   90    -1 @function _planifolia-xyz-to-lab-f($t) {
   -1    90 @function _pf-xyz-to-lab-f($t) {
   91    91   @if $t > 216 / 24389 {
   92    92     @return pow($t, 1/3);
   93    93   } @else {
@@ -95,12 +95,12 @@ $planifolia-colorspace: 'lab' !default;
   95    95   }
   96    96 }
   97    97 
   98    -1 @function _planifolia-xyz-to-lab($xyz) {
   -1    98 @function _pf-xyz-to-lab($xyz) {
   99    99   $white: (95.05, 100, 108.9);
  100   100 
  101    -1   $x: _planifolia-xyz-to-lab-f(nth($xyz, 1) / nth($white, 1));
  102    -1   $y: _planifolia-xyz-to-lab-f(nth($xyz, 2) / nth($white, 2));
  103    -1   $z: _planifolia-xyz-to-lab-f(nth($xyz, 3) / nth($white, 3));
   -1   101   $x: _pf-xyz-to-lab-f(nth($xyz, 1) / nth($white, 1));
   -1   102   $y: _pf-xyz-to-lab-f(nth($xyz, 2) / nth($white, 2));
   -1   103   $z: _pf-xyz-to-lab-f(nth($xyz, 3) / nth($white, 3));
  104   104 
  105   105   $l: 116 * $y - 16;
  106   106   $a: 500 * ($x - $y);
@@ -109,7 +109,7 @@ $planifolia-colorspace: 'lab' !default;
  109   109   @return ($l, $a, $b);
  110   110 }
  111   111 
  112    -1 @function _planifolia-lab-to-xyz-f($t) {
   -1   112 @function _pf-lab-to-xyz-f($t) {
  113   113   @if $t > 6 / 29 {
  114   114     @return pow($t, 3);
  115   115   } @else {
@@ -117,26 +117,26 @@ $planifolia-colorspace: 'lab' !default;
  117   117   }
  118   118 }
  119   119 
  120    -1 @function _planifolia-lab-to-xyz($lab) {
   -1   120 @function _pf-lab-to-xyz($lab) {
  121   121   $white: (95.05, 100, 108.9);
  122   122 
  123   123   $l: (nth($lab, 1) + 16) / 116;
  124   124 
  125    -1   $x: nth($white, 1) * _planifolia-lab-to-xyz-f($l + nth($lab, 2) / 500);
  126    -1   $y: nth($white, 2) * _planifolia-lab-to-xyz-f($l);
  127    -1   $z: nth($white, 3) * _planifolia-lab-to-xyz-f($l - nth($lab, 3) / 200);
   -1   125   $x: nth($white, 1) * _pf-lab-to-xyz-f($l + nth($lab, 2) / 500);
   -1   126   $y: nth($white, 2) * _pf-lab-to-xyz-f($l);
   -1   127   $z: nth($white, 3) * _pf-lab-to-xyz-f($l - nth($lab, 3) / 200);
  128   128 
  129   129   @return ($x, $y, $z);
  130   130 }
  131   131 
  132    -1 @function _planifolia-xyz-to-yuuvv($xyz) {
   -1   132 @function _pf-xyz-to-yuuvv($xyz) {
  133   133   $a: nth($xyz, 1) + 15 * nth($xyz, 2) + 3 * nth($xyz, 3);
  134   134   $uu: if($a == 0, 0, 4 * nth($xyz, 1) / $a);
  135   135   $vv: if($a == 0, 0, 9 * nth($xyz, 2) / $a);
  136   136   @return (nth($xyz, 2), $uu, $vv);
  137   137 }
  138   138 
  139    -1 @function _planifolia-yuuvv-to-xyz($yuuvv) {
   -1   139 @function _pf-yuuvv-to-xyz($yuuvv) {
  140   140   $y: nth($yuuvv, 1);
  141   141   $uu: nth($yuuvv, 2);
  142   142   $vv: nth($yuuvv, 3);
@@ -147,9 +147,9 @@ $planifolia-colorspace: 'lab' !default;
  147   147   @return ($x, $y, $z);
  148   148 }
  149   149 
  150    -1 @function _planifolia-xyz-to-luv($xyz) {
  151    -1   $white: _planifolia-xyz-to-yuuvv((95.05, 100, 108.9));
  152    -1   $yuuvv: _planifolia-xyz-to-yuuvv($xyz);
   -1   150 @function _pf-xyz-to-luv($xyz) {
   -1   151   $white: _pf-xyz-to-yuuvv((95.05, 100, 108.9));
   -1   152   $yuuvv: _pf-xyz-to-yuuvv($xyz);
  153   153 
  154   154   $y: nth($yuuvv, 1) / nth($white, 1);
  155   155   $l: if($y > 216 / 24389, 116 * pow($y, 1 / 3) - 16, 24389 / 27 * $y);
@@ -160,8 +160,8 @@ $planifolia-colorspace: 'lab' !default;
  160   160   @return ($l, $u, $v);
  161   161 }
  162   162 
  163    -1 @function _planifolia-luv-to-xyz($luv) {
  164    -1   $white: _planifolia-xyz-to-yuuvv((95.05, 100, 108.9));
   -1   163 @function _pf-luv-to-xyz($luv) {
   -1   164   $white: _pf-xyz-to-yuuvv((95.05, 100, 108.9));
  165   165 
  166   166   $uu: if(nth($luv, 1) == 0, 0, nth($luv, 2) / (13 * nth($luv, 1)) + nth($white, 2));
  167   167   $vv: if(nth($luv, 1) == 0, 0, nth($luv, 3) / (13 * nth($luv, 1)) + nth($white, 3));
@@ -173,10 +173,10 @@ $planifolia-colorspace: 'lab' !default;
  173   173     $y: $y * nth($luv, 1) * 27 / 24389;
  174   174   }
  175   175 
  176    -1   @return _planifolia-yuuvv-to-xyz(($y, $uu, $vv));
   -1   176   @return _pf-yuuvv-to-xyz(($y, $uu, $vv));
  177   177 }
  178   178 
  179    -1 @function _planifolia-lab-to-lch($lab) {
   -1   179 @function _pf-lab-to-lch($lab) {
  180   180   $l: nth($lab, 1);
  181   181   $c: sqrt(nth($lab, 2) * nth($lab, 2) + nth($lab, 3) * nth($lab, 3));
  182   182   $h: 0;
@@ -187,7 +187,7 @@ $planifolia-colorspace: 'lab' !default;
  187   187   @return ($l, $c, $h);
  188   188 }
  189   189 
  190    -1 @function _planifolia-lch-to-lab($lch) {
   -1   190 @function _pf-lch-to-lab($lch) {
  191   191   $l: nth($lch, 1);
  192   192   $a: cos(nth($lch, 3)) * nth($lch, 2);
  193   193   $b: sin(nth($lch, 3)) * nth($lch, 2);
@@ -198,21 +198,21 @@ $planifolia-colorspace: 'lab' !default;
  198   198 /// @require pow
  199   199 /// @require sqrt
  200   200 /// @require atan2
  201    -1 @function _planifolia-to-lch($color, $colorspace: $planifolia-colorspace) {
   -1   201 @function _pf-to-lch($color, $colorspace: $planifolia-colorspace) {
  202   202   @if $colorspace == 'lab' {
  203    -1     $xyz: _planifolia-to-xyz($color);
  204    -1     $lab: _planifolia-xyz-to-lab($xyz);
  205    -1     @return _planifolia-lab-to-lch($lab);
   -1   203     $xyz: _pf-to-xyz($color);
   -1   204     $lab: _pf-xyz-to-lab($xyz);
   -1   205     @return _pf-lab-to-lch($lab);
  206   206   } @else if $colorspace == 'luv' {
  207    -1     $xyz: _planifolia-to-xyz($color);
  208    -1     $luv: _planifolia-xyz-to-luv($xyz);
  209    -1     @return _planifolia-lab-to-lch($luv);
   -1   207     $xyz: _pf-to-xyz($color);
   -1   208     $luv: _pf-xyz-to-luv($xyz);
   -1   209     @return _pf-lab-to-lch($luv);
  210   210   } @else if $colorspace == 'hsl' {
  211   211     $chroma: saturation($color) * lightness($color) / 100%;
  212   212     @return (lightness($color) / 1%, $chroma / 1%, hue($color));
  213   213   } @else if $colorspace == 'yuv' {
  214    -1     $yuv: _planifolia-to-yuv($color);
  215    -1     @return _planifolia-lab-to-lch($yuv);
   -1   214     $yuv: _pf-to-yuv($color);
   -1   215     @return _pf-lab-to-lch($yuv);
  216   216   } @else {
  217   217     @error 'unknown colorspace: #{$colorspace}';
  218   218   }
@@ -234,19 +234,19 @@ $planifolia-colorspace: 'lab' !default;
  234   234 /// @require cos
  235   235 @function lch($lightness, $chroma, $hue, $colorspace: $planifolia-colorspace) {
  236   236   @if $colorspace == 'lab' {
  237    -1     $lab: _planifolia-lch-to-lab(($lightness, $chroma, $hue));
  238    -1     $xyz: _planifolia-lab-to-xyz($lab);
  239    -1     @return _planifolia-from-xyz($xyz);
   -1   237     $lab: _pf-lch-to-lab(($lightness, $chroma, $hue));
   -1   238     $xyz: _pf-lab-to-xyz($lab);
   -1   239     @return _pf-from-xyz($xyz);
  240   240   } @else if $colorspace == 'luv' {
  241    -1     $luv: _planifolia-lch-to-lab(($lightness, $chroma, $hue));
  242    -1     $xyz: _planifolia-luv-to-xyz($luv);
  243    -1     @return _planifolia-from-xyz($xyz);
   -1   241     $luv: _pf-lch-to-lab(($lightness, $chroma, $hue));
   -1   242     $xyz: _pf-luv-to-xyz($luv);
   -1   243     @return _pf-from-xyz($xyz);
  244   244   } @else if $colorspace == 'hsl' {
  245   245     $saturation: if($lightness == 0, 0, $chroma / $lightness * 100);
  246   246     @return hsl($hue, $saturation * 1%, $lightness * 1%);
  247   247   } @else if $colorspace == 'yuv' {
  248    -1     $yuv: _planifolia-lch-to-lab(($lightness, $chroma, $hue));
  249    -1     @return _planifolia-from-yuv($yuv);
   -1   248     $yuv: _pf-lch-to-lab(($lightness, $chroma, $hue));
   -1   249     @return _pf-from-yuv($yuv);
  250   250   } @else {
  251   251     @error 'unknown colorspace: #{$colorspace}';
  252   252   }
@@ -268,7 +268,7 @@ $planifolia-colorspace: 'lab' !default;
  268   268 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  269   269 /// @return {number}
  270   270 @function pf-lightness($color, $colorspace: $planifolia-colorspace) {
  271    -1   @return nth(_planifolia-to-lch($color, $colorspace), 1);
   -1   271   @return nth(_pf-to-lch($color, $colorspace), 1);
  272   272 }
  273   273 
  274   274 /// Get the chroma component of a color.
@@ -276,7 +276,7 @@ $planifolia-colorspace: 'lab' !default;
  276   276 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  277   277 /// @return {number}
  278   278 @function pf-chroma($color, $colorspace: $planifolia-colorspace) {
  279    -1   @return nth(_planifolia-to-lch($color, $colorspace), 2);
   -1   279   @return nth(_pf-to-lch($color, $colorspace), 2);
  280   280 }
  281   281 
  282   282 /// Get the hue component of a color.
@@ -284,7 +284,7 @@ $planifolia-colorspace: 'lab' !default;
  284   284 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  285   285 /// @return {angle}
  286   286 @function pf-hue($color, $colorspace: $planifolia-colorspace) {
  287    -1   @return nth(_planifolia-to-lch($color, $colorspace), 3);
   -1   287   @return nth(_pf-to-lch($color, $colorspace), 3);
  288   288 }
  289   289 
  290   290 /// Increase or decrease one or more components of a color.
@@ -295,7 +295,7 @@ $planifolia-colorspace: 'lab' !default;
  295   295 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  296   296 /// @return {color}
  297   297 @function pf-adjust-color($color, $lightness: 0, $chroma: 0, $hue: 0, $colorspace: $planifolia-colorspace) {
  298    -1   $lch: _planifolia-to-lch($color, $colorspace);
   -1   298   $lch: _pf-to-lch($color, $colorspace);
  299   299 
  300   300   $l: nth($lch, 1) + $lightness;
  301   301   $c: nth($lch, 2) + $chroma;
@@ -312,7 +312,7 @@ $planifolia-colorspace: 'lab' !default;
  312   312 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  313   313 /// @return {color}
  314   314 @function pf-change-color($color, $lightness: null, $chroma: null, $hue: null, $colorspace: $planifolia-colorspace) {
  315    -1   $lch: _planifolia-to-lch($color, $colorspace);
   -1   315   $lch: _pf-to-lch($color, $colorspace);
  316   316 
  317   317   $l: if($lightness == null, nth($lch, 1), $lightness);
  318   318   $c: if($chroma == null, nth($lch, 2), $chroma);
@@ -397,10 +397,10 @@ $planifolia-colorspace: 'lab' !default;
  397   397 /// @param {color} $color1
  398   398 /// @param {color} $color2
  399   399 /// @return {number}
  400    -1 /// @require _planifolia-to-lch
   -1   400 /// @require _pf-to-lch
  401   401 @function pf-color-distance($color1, $color2) {
  402    -1   $lab1: _planifolia-xyz-to-lab(_planifolia-to-xyz($color1));
  403    -1   $lab2: _planifolia-xyz-to-lab(_planifolia-to-xyz($color2));
   -1   402   $lab1: _pf-xyz-to-lab(_pf-to-xyz($color1));
   -1   403   $lab2: _pf-xyz-to-lab(_pf-to-xyz($color2));
  404   404 
  405   405   $x1: nth($lab1, 1) - nth($lab2, 1);
  406   406   $x2: nth($lab1, 2) - nth($lab2, 2);
@@ -409,8 +409,8 @@ $planifolia-colorspace: 'lab' !default;
  409   409   @return sqrt($x1 * $x1 + $x2 * $x2 + $x3 * $x3);
  410   410 }
  411   411 
  412    -1 @function _planifolia-lch-mix($lch1, $lch2, $weight) {
  413    -1   $w: _planifolia-perc($weight);
   -1   412 @function _pf-lch-mix($lch1, $lch2, $weight) {
   -1   413   $w: _pf-perc($weight);
  414   414 
  415   415   $l: nth($lch1, 1) * $w + nth($lch2, 1) * (1 - $w);
  416   416   $c: nth($lch1, 2) * $w + nth($lch2, 2) * (1 - $w);
@@ -441,10 +441,10 @@ $planifolia-colorspace: 'lab' !default;
  441   441 /// @param {string} $colorspace ['lab'] one of 'lab', 'luv', 'hsl', 'yuv'
  442   442 /// @return {color}
  443   443 @function pf-mix($color1, $color2, $weight: 50%, $colorspace: $planifolia-colorspace) {
  444    -1   $lch1: _planifolia-to-lch($color1, $colorspace);
  445    -1   $lch2: _planifolia-to-lch($color2, $colorspace);
   -1   444   $lch1: _pf-to-lch($color1, $colorspace);
   -1   445   $lch2: _pf-to-lch($color2, $colorspace);
  446   446 
  447    -1   $lch: _planifolia-lch-mix($lch1, $lch2, $weight);
   -1   447   $lch: _pf-lch-mix($lch1, $lch2, $weight);
  448   448 
  449   449   @return lch(nth($lch, 1), nth($lch, 2), nth($lch, 3), $colorspace);
  450   450 }

diff --git a/sass/contrast.scss b/sass/contrast.scss

@@ -13,7 +13,7 @@ $planifolia-contrast-dark-default: black !default;
   13    13 /// @type color
   14    14 $planifolia-contrast-light-default: white !default;
   15    15 
   16    -1 @function _planifolia-srgb($channel) {
   -1    16 @function _pf-srgb($channel) {
   17    17   $x: $channel / 255;
   18    18   @if $x <= .03928 {
   19    19     @return $x / 12.92;
@@ -43,13 +43,13 @@ $planifolia-contrast-light-default: white !default;
   43    43 
   44    44 // FIXME: namespace name
   45    45 @function luma($color) {
   46    -1   $r: _planifolia-srgb(red($color));
   47    -1   $g: _planifolia-srgb(green($color));
   48    -1   $b: _planifolia-srgb(blue($color));
   -1    46   $r: _pf-srgb(red($color));
   -1    47   $g: _pf-srgb(green($color));
   -1    48   $b: _pf-srgb(blue($color));
   49    49   @return .2126 * $r + .7152 * $g + .0722 * $b;
   50    50 }
   51    51 
   52    -1 @function _planifolia-contrast($fg, $bg) {
   -1    52 @function _pf-contrast($fg, $bg) {
   53    53   $lbg: luma($bg);
   54    54   $lfg: luma(alpha-blend($fg, $bg));
   55    55   @return (max($lbg, $lfg) + .05) / (min($lbg, $lfg) + .05);
@@ -67,16 +67,16 @@ $planifolia-contrast-light-default: white !default;
   67    67 @function contrast-min($fg, $bg) {
   68    68   // optimize for the common case
   69    69   @if alpha($bg) == 1 {
   70    -1     @return _planifolia-contrast($fg, $bg);
   -1    70     @return _pf-contrast($fg, $bg);
   71    71   } @else {
   72    72     $bg-black: alpha-blend($bg, black);
   73    73     $bg-white: alpha-blend($bg, white);
   74    74     $lfg: luma($fg);
   75    75 
   76    76     @if luma($bg-white) < $lfg {
   77    -1       @return _planifolia-contrast($fg, $bg-white);
   -1    77       @return _pf-contrast($fg, $bg-white);
   78    78     } @else if luma($bg-black) > $lfg {
   79    -1       @return _planifolia-contrast($fg, $bg-black);
   -1    79       @return _pf-contrast($fg, $bg-black);
   80    80     } @else {
   81    81       @return 1;
   82    82     }
@@ -96,7 +96,7 @@ $planifolia-contrast-light-default: white !default;
   96    96 @function contrast($color1, $color2) {
   97    97   // optimize for the common case
   98    98   @if alpha($color1) + alpha($color2) == 2 {
   99    -1     @return _planifolia-contrast($color1, $color2);
   -1    99     @return _pf-contrast($color1, $color2);
  100   100   } @else {
  101   101     $c1: contrast-min($color1, $color2);
  102   102     $c2: contrast-min($color2, $color1);

diff --git a/sass/math.scss b/sass/math.scss

@@ -28,7 +28,7 @@ $planifolia-math-steps-default: 32 !default;
   28    28   @return 3.141592653589793;
   29    29 }
   30    30 
   31    -1 @function _planifolia-angle-to-rad($x) {
   -1    31 @function _pf-angle-to-rad($x) {
   32    32   @if unit($x) == 'deg' {
   33    33     @return $x / 180deg * pi();
   34    34   } @else if unit($x) == 'grad' {
@@ -42,7 +42,7 @@ $planifolia-math-steps-default: 32 !default;
   42    42   }
   43    43 }
   44    44 
   45    -1 @function _planifolia-exp-taylor-0($x, $steps) {
   -1    45 @function _pf-exp-taylor-0($x, $steps) {
   46    46   $item: 1;
   47    47   $result: 1;
   48    48 
@@ -54,7 +54,7 @@ $planifolia-math-steps-default: 32 !default;
   54    54   @return $result;
   55    55 }
   56    56 
   57    -1 @function _planifolia-ln-taylor-1($x, $steps) {
   -1    57 @function _pf-ln-taylor-1($x, $steps) {
   58    58   $z: ($x - 1) / ($x + 1);
   59    59 
   60    60   $power: $z;
@@ -68,7 +68,7 @@ $planifolia-math-steps-default: 32 !default;
   68    68   @return 2 * $result;
   69    69 }
   70    70 
   71    -1 @function _planifolia-sin-taylor-0($x, $steps) {
   -1    71 @function _pf-sin-taylor-0($x, $steps) {
   72    72   $item: $x;
   73    73   $result: $x;
   74    74 
@@ -80,7 +80,7 @@ $planifolia-math-steps-default: 32 !default;
   80    80   @return $result;
   81    81 }
   82    82 
   83    -1 @function _planifolia-asin-taylor-0($x, $steps) {
   -1    83 @function _pf-asin-taylor-0($x, $steps) {
   84    84   $item: $x;
   85    85   $result: $x;
   86    86 
@@ -92,16 +92,16 @@ $planifolia-math-steps-default: 32 !default;
   92    92   @return $result;
   93    93 }
   94    94 
   95    -1 @function _planifolia-pow-int($base, $exponent) {
   -1    95 @function _pf-pow-int($base, $exponent) {
   96    96   @if $exponent < 0 {
   97    -1     @return 1 / _planifolia-pow-int($base, -$exponent);
   -1    97     @return 1 / _pf-pow-int($base, -$exponent);
   98    98   } @else if $exponent == 0 {
   99    99     @return 1;
  100   100   } @else if $exponent == 1 {
  101   101     @return $base;
  102   102   } @else {
  103   103     $exp: floor($exponent / 2);
  104    -1     $pow: _planifolia-pow-int($base, $exp);
   -1   104     $pow: _pf-pow-int($base, $exp);
  105   105     @if $exp * 2 == $exponent {
  106   106       @return $pow * $pow;
  107   107     } @else {
@@ -110,7 +110,7 @@ $planifolia-math-steps-default: 32 !default;
  110   110   }
  111   111 }
  112   112 
  113    -1 @function _planifolia-log-approx($x) {
   -1   113 @function _pf-log-approx($x) {
  114   114   @if $x <= 0 {
  115   115     @error 'cannot calculate log of #{$x}';
  116   116   } @else if $x >= 1 {
@@ -127,10 +127,10 @@ $planifolia-math-steps-default: 32 !default;
  127   127 /// @return {number}
  128   128 @function ln($x, $steps: $planifolia-math-steps-default) {
  129   129   $ln10: 2.302585092994046;
  130    -1   $approx: _planifolia-log-approx($x);
   -1   130   $approx: _pf-log-approx($x);
  131   131   // $y is in range [1, 10]
  132    -1   $y: $x / _planifolia-pow-int(10, $approx);
  133    -1   @return $approx * $ln10 + _planifolia-ln-taylor-1($y, $steps);
   -1   132   $y: $x / _pf-pow-int(10, $approx);
   -1   133   @return $approx * $ln10 + _pf-ln-taylor-1($y, $steps);
  134   134 }
  135   135 
  136   136 /// @param {number} $x
@@ -149,14 +149,14 @@ $planifolia-math-steps-default: 32 !default;
  149   149 @function pow($x, $exponent, $steps: $planifolia-math-steps-default) {
  150   150   $exp1: round($exponent);
  151   151   $exp2: $exponent - $exp1;
  152    -1   $pow1: _planifolia-pow-int($x, $exp1);
   -1   152   $pow1: _pf-pow-int($x, $exp1);
  153   153   @if $exp2 == 0 {
  154   154     @return $pow1;
  155   155   } @else if $x == 0 and $exponent > 0 {
  156   156     @return 0;
  157   157   } @else {
  158   158     $y: ln($x, $steps) * $exp2;
  159    -1     $pow2: _planifolia-exp-taylor-0($y, $steps);
   -1   159     $pow2: _pf-exp-taylor-0($y, $steps);
  160   160     @return $pow1 * $pow2;
  161   161   }
  162   162 }
@@ -180,7 +180,7 @@ $planifolia-math-steps-default: 32 !default;
  180   180 /// @param {number} $steps [32] - steps of the taylor expansion
  181   181 /// @return {number}
  182   182 @function sin($x, $steps: $planifolia-math-steps-default) {
  183    -1   $x: _planifolia-angle-to-rad($x);
   -1   183   $x: _pf-angle-to-rad($x);
  184   184 
  185   185   @if $x > 2 * pi() {
  186   186     $x: $x % (2 * pi());
@@ -190,7 +190,7 @@ $planifolia-math-steps-default: 32 !default;
  190   190   } @else if $x < 0 {
  191   191     @return -1 * sin(-$x);
  192   192   } @else {
  193    -1     @return _planifolia-sin-taylor-0($x, $steps);
   -1   193     @return _pf-sin-taylor-0($x, $steps);
  194   194   }
  195   195 }
  196   196 
@@ -198,7 +198,7 @@ $planifolia-math-steps-default: 32 !default;
  198   198 /// @param {number} $steps [32] - steps of the taylor expansion
  199   199 /// @return {number}
  200   200 @function cos($x, $steps: $planifolia-math-steps-default) {
  201    -1   $x: _planifolia-angle-to-rad($x);
   -1   201   $x: _pf-angle-to-rad($x);
  202   202   @return sin($x + pi() / 2, $steps);
  203   203 }
  204   204 
@@ -218,7 +218,7 @@ $planifolia-math-steps-default: 32 !default;
  218   218   } @else if $x * $x > .5 {
  219   219     @return acos(sqrt(1 - $x * $x, $steps), $steps);
  220   220   } @else {
  221    -1     @return _planifolia-asin-taylor-0($x, $steps);
   -1   221     @return _pf-asin-taylor-0($x, $steps);
  222   222   }
  223   223 }
  224   224 
@@ -267,7 +267,7 @@ $planifolia-math-steps-default: 32 !default;
  267   267   }
  268   268 }
  269   269 
  270    -1 @function _planifolia-interpolate($a, $b, $f) {
   -1   270 @function _pf-interpolate($a, $b, $f) {
  271   271   $result: ();
  272   272   @for $i from 1 through length($a) {
  273   273     $value: nth($a, $i) * (1 - $f) + nth($b, $i) * $f;
@@ -279,12 +279,12 @@ $planifolia-math-steps-default: 32 !default;
  279   279 /// Generic bezier interpolation.
  280   280 /// @param {P[]} $points
  281   281 /// @param {number} $f
  282    -1 /// @param {function(P, P, number) => P} $interpolate [_planifolia-interpolate]
   -1   282 /// @param {function(P, P, number) => P} $interpolate [_pf-interpolate]
  283   283 ///   The default is a linear interpolation between lists of numbers.
  284   284 ///   You can specify a custom interpolation function, e.g. to interpolate
  285   285 ///   between colors.
  286   286 /// @return {P} A single point.
  287    -1 @function bezier($points, $f, $interpolate: _planifolia-interpolate) {
   -1   287 @function bezier($points, $f, $interpolate: _pf-interpolate) {
  288   288   @if length($points) > 1 {
  289   289     $tmp: ();
  290   290     @for $i from 1 to length($points) {