- 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 1718 -1 @function _planifolia-perc($x) {-1 18 @function _pf-perc($x) { 19 19 @return if(unit($x) == '%', $x / 100%, $x); 20 20 } 21 2122 -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 3132 -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 4142 -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 5354 -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 5859 -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 6566 -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 7778 -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 8283 -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 8990 -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 9798 -1 @function _planifolia-xyz-to-lab($xyz) {-1 98 @function _pf-xyz-to-lab($xyz) { 99 99 $white: (95.05, 100, 108.9); 100 100101 -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 111112 -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 119120 -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 124125 -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 131132 -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 138139 -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 149150 -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 162163 -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 175176 -1 @return _planifolia-yuuvv-to-xyz(($y, $uu, $vv));-1 176 @return _pf-yuuvv-to-xyz(($y, $uu, $vv)); 177 177 } 178 178179 -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 189190 -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 atan2201 -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 411412 -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 446447 -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 1516 -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 5152 -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 3031 -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 4445 -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 5657 -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 7071 -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 8283 -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 9495 -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 112113 -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 269270 -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} $f282 -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) {