sassy-math 1.5 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,8 +44,8 @@ module Sass::Script::Functions
44
44
  if number > 0
45
45
  (1..number).each do |i|
46
46
  result = result * i
47
- end
48
- end
47
+ end
48
+ end
49
49
  Sass::Script::Number.new(result)
50
50
  end
51
51
  def random(max = Sass::Script::Number.new(100)) ## shamelessly taken from here: https://gist.github.com/1561650
@@ -152,8 +152,8 @@ module Sass::Script::Functions
152
152
  end
153
153
 
154
154
  module SassyMath
155
-
156
- VERSION = "1.5"
155
+
156
+ VERSION = "1.5.1"
157
157
  DATE = "2012-07-29"
158
158
 
159
159
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{sassy-math}
5
- s.version = "1.5"
5
+ s.version = "1.5.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5")
8
8
  s.authors = ["Sam Richard", "Mario Valencia", "Scott Kellum"]
@@ -12,13 +12,12 @@ Gem::Specification.new do |s|
12
12
  s.has_rdoc = false
13
13
  s.files = [
14
14
  "sassy-math.gemspec",
15
- "lib/sassy-math.rb",
16
- "stylesheets/_math.scss"
15
+ "lib/sassy-math.rb"
17
16
  ]
18
17
  s.homepage = %q{https://github.com/scottkellum/Sassy-math}
19
18
  s.require_paths = ["lib"]
20
19
  s.rubyforge_project = %q{sassy-math}
21
20
  s.rubygems_version = %q{1.3.6}
22
21
  s.summary = %q{Advanced math functions for Compass.}
23
- s.add_dependency(%q<compass>, ["~> 0.11"])
22
+ s.add_dependency(%q<compass>, [">= 0.11"])
24
23
  end
metadata CHANGED
@@ -1,87 +1,65 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sassy-math
3
- version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 5
9
- version: "1.5"
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.1
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Sam Richard
13
9
  - Mario Valencia
14
10
  - Scott Kellum
15
11
  autorequire:
16
12
  bindir: bin
17
13
  cert_chain: []
18
-
19
- date: 2012-07-29 00:00:00 -04:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
14
+ date: 2012-07-29 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
23
17
  name: compass
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
26
19
  none: false
27
- requirements:
28
- - - ~>
29
- - !ruby/object:Gem::Version
30
- hash: 29
31
- segments:
32
- - 0
33
- - 11
34
- version: "0.11"
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '0.11'
35
24
  type: :runtime
36
- version_requirements: *id001
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '0.11'
37
32
  description: Use advanced mathematical functions in Compass.
38
- email:
33
+ email:
39
34
  - snugug@gmail.com
40
35
  executables: []
41
-
42
36
  extensions: []
43
-
44
37
  extra_rdoc_files: []
45
-
46
- files:
38
+ files:
47
39
  - sassy-math.gemspec
48
40
  - lib/sassy-math.rb
49
- - stylesheets/_math.scss
50
- has_rdoc: true
51
41
  homepage: https://github.com/scottkellum/Sassy-math
52
42
  licenses: []
53
-
54
43
  post_install_message:
55
44
  rdoc_options: []
56
-
57
- require_paths:
45
+ require_paths:
58
46
  - lib
59
- required_ruby_version: !ruby/object:Gem::Requirement
47
+ required_ruby_version: !ruby/object:Gem::Requirement
60
48
  none: false
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 3
65
- segments:
66
- - 0
67
- version: "0"
68
- required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
54
  none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 17
74
- segments:
75
- - 1
76
- - 3
77
- - 5
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
78
58
  version: 1.3.5
79
59
  requirements: []
80
-
81
60
  rubyforge_project: sassy-math
82
- rubygems_version: 1.3.7
61
+ rubygems_version: 1.8.23
83
62
  signing_key:
84
63
  specification_version: 3
85
64
  summary: Advanced math functions for Compass.
86
65
  test_files: []
87
-
@@ -1,310 +0,0 @@
1
- // SASSY MATH
2
-
3
- @charset "UTF-8";
4
-
5
- //////////////////////////////
6
- // Variables
7
- //////////////////////////////
8
- $pi: 3.1415926535897932384626433832795028841971693993751;
9
- $π: $pi;
10
- $e: 2.71828182845904523536028747135266249775724709369995;
11
-
12
- $iter: 50;
13
-
14
- //////////////////////////////
15
- // Random Number
16
- // Working from http://xkcd.com/221/
17
- // Chosen by fair dice roll.
18
- // Guarenteed to be random.
19
- //////////////////////////////
20
- @function rand() {
21
- @return 4;
22
- }
23
-
24
- //////////////////////////////
25
- // Percent
26
- //////////////////////////////
27
- @function percent($number) {
28
- @return $number * 0.01;
29
- }
30
-
31
- //////////////////////////////
32
- // Exponent
33
- //////////////////////////////
34
- @function exponent($base, $exponent) {
35
- // reset value
36
- $value: $base;
37
- // positive intergers get multiplied
38
- @if $exponent > 1 {
39
- @for $i from 2 through $exponent {
40
- $value: $value * $base; } }
41
- // negitive intergers get divided. A number divided by itself is 1
42
- @if $exponent < 1 {
43
- @for $i from 0 through -$exponent {
44
- $value: $value / $base; } }
45
- // return the last value written
46
- @return $value;
47
- }
48
-
49
- @function pow($base, $exponent) {
50
- @return exponent($base, $exponent);
51
- }
52
-
53
- //////////////////////////////
54
- // Factorial
55
- //////////////////////////////
56
- @function factorial($number) {
57
- // reset value
58
- $value: 1;
59
- // positive intergers get multiplied
60
- @if $number > 0 {
61
- @for $i from 1 through $number {
62
- $value: $value * $i;
63
- }
64
- }
65
- @return $value;
66
- }
67
-
68
- @function fact($number) {
69
- @return factorial($number);
70
- }
71
-
72
-
73
- //////////////////////////////
74
- // Polynomial Approximation
75
- //////////////////////////////
76
- // Maclaurin series can be used to estimate Sine and Consine
77
- @function maclaurin($start, $key, $number) {
78
- $value: $start;
79
- $add: 0;
80
-
81
- @for $i from 1 through $iter {
82
- @if $add == 0 {
83
- $value: $value - ( exponent($number, $key) / factorial($key) );
84
- $add: 1;
85
- }
86
- @else {
87
- $value: $value + ( exponent($number, $key) / factorial($key) );
88
- $add: 0;
89
- }
90
-
91
- $key: $key + 2;
92
- }
93
-
94
- @return $value;
95
- }
96
- // Taylor series can be used to estiamte ln
97
- @function taylor($number) {
98
- @return taylor;
99
- }
100
-
101
- //////////////////////////////
102
- // Basic Trig Functions
103
- //////////////////////////////
104
- // Bundled in Compass: http://compass-style.org/reference/compass/helpers/trig/
105
- // References for implementing using MacLaurin series below:
106
-
107
- //@function sin($number, $unit: 'deg') {
108
- // @if $unit == 'deg' {
109
- // $number: deg-to-rad($number);
110
- // }
111
- // @return maclaurin($number, 3, $number);
112
- //}
113
- //
114
- //@function cos($number, $unit: 'deg') {
115
- // @if $unit == 'deg' {
116
- // $number: deg-to-rad($number);
117
- // }
118
- // @return maclaurin(1, 2, $number);
119
- //}
120
- //
121
- //// Trig Identity: Tangent = Sine divided by Cosine.
122
- //@function tan($number, $unit: 'deg') {
123
- // @if $unit == 'deg' {
124
- // $number: deg-to-rad($number);
125
- // }
126
- // @return sin($number) / cos($number);
127
- //}
128
-
129
- //////////////////////////////
130
- // Reciprocal Trig Functions
131
- //////////////////////////////
132
- @function csc($number, $unit: 'deg') {
133
- @if $unit == 'deg' {
134
- $number: deg-to-rad($number);
135
- }
136
- @return 1 / sin($number);
137
- }
138
-
139
- @function scs($number, $unit: 'deg') {
140
- @if $unit == 'deg' {
141
- $number: deg-to-rad($number);
142
- }
143
- @return 1 / cos($number);
144
- }
145
-
146
- @function cot($number, $unit: 'deg') {
147
- @if $unit == 'deg' {
148
- $number: deg-to-rad($number);
149
- }
150
- @return 1 / tan($number);
151
- }
152
-
153
- //////////////////////////////
154
- // Hyperbolic Functions
155
- //////////////////////////////
156
- @function sinh($number) {
157
- $top: exponent($e, (2 * $number)) - 1;
158
- $bottom: 2 * exponent($e, $number);
159
- @return $top / $bottom;
160
- }
161
-
162
- @function cosh($number) {
163
- $top: exponent($e, (2 * $number)) + 1;
164
- $bottom: 2 * exponent($e, $number);
165
- @return $top / $bottom;
166
- }
167
-
168
- @function tanh($number) {
169
- $top: exponent($e, (2 * $number)) - 1;
170
- $bottom: exponent($e, (2 * $number)) + 1;
171
- @return $top / $bottom;
172
- }
173
-
174
- //////////////////////////////
175
- // Reciprocal Hyperbolic Functions
176
- //////////////////////////////
177
- @function csch($number) {
178
- @return 1 / sinh($number);
179
- }
180
-
181
- @function sech($number) {
182
- @return 1 / cosh($number);
183
- }
184
-
185
- @function coth($number) {
186
- @return 1/ tanh($number);
187
- }
188
-
189
-
190
- @function log($number) {
191
- @return $number;
192
- }
193
-
194
- @function ln($number) {
195
- @if $number > 0 and $number < 1 {
196
- $value: 0;
197
- @for $i from 1 through $iter {
198
- $value: $value + ( pow(-1, $i) * pow(-1 * (1 - $number), $i)) / $i;
199
- }
200
- $value: -1 * $value;
201
-
202
- @return $value;
203
- }
204
- @else if $number == 1 {
205
- @return 0;
206
- }
207
- @else {
208
- @return ERROR;
209
- @warn ln input must be greater than zero and less than or equal to 1;
210
- }
211
- }
212
-
213
-
214
- //////////////////////////////
215
- // Degree/Radian Conversion
216
- //////////////////////////////
217
- @function deg-to-rad($number) {
218
- @return $number * $pi / 180deg;
219
- }
220
-
221
- @function rad-to-deg($number) {
222
- @return $number * 180deg / $pi;
223
- }
224
-
225
- //////////////////////////////
226
- // Root Functions
227
- //////////////////////////////
228
- // Basic General-Purpose Root Function
229
- @function n-root($number, $n) {
230
- @if $number < 1 {
231
- @return ERROR;
232
- @warn ROOT ERROR;
233
- }
234
- // If a whole number, generate it quickly
235
- @for $i from 1 through $number {
236
- @if exponent($i, $n) == $number {
237
- @return $i;
238
- }
239
- }
240
- // Else, run through other options
241
- @for $i from 1 through $number * 1000 / 2 {
242
- @if round(exponent($i / 1000, $n) * 100) == round($number * 100) {
243
- @return $i / 1000;
244
- }
245
- }
246
- }
247
-
248
- @function root($number, $n) {
249
- @return n-root($number, $n);
250
- }
251
-
252
- // Square Roots
253
- @function √($number) {
254
- @return sqrt($number);
255
- }
256
-
257
- @function sqrt($number) {
258
- $guess: rand();
259
- $root: $guess;
260
- @for $i from 1 through $iter {
261
- $root: $root - (pow($root, 2) - $number) / (2 * $root);
262
- }
263
- @return $root;
264
- }
265
-
266
- //////////////////////////////
267
- // Golden Ratio
268
- //////////////////////////////
269
- @function golden() {
270
- @return 1/2 + sqrt(5) / 2;
271
- }
272
- @function ϕ() {
273
- @return golden();
274
- }
275
-
276
- $golden-ratio: golden();
277
- $ϕ: $golden-ratio;
278
-
279
- //////////////////////////////
280
- // Is Int and Is Float
281
- //////////////////////////////
282
- @function is-int($number) {
283
- @if type-of($number) != 'number' {
284
- @warn '#{$number} is not a number! It cannot be an integer if it is not a number!';
285
- @return false;
286
- }
287
- @if $number - floor($number) != 0 {
288
- @return false;
289
- }
290
- @else {
291
- @return true;
292
- }
293
- }
294
-
295
- @function is-float($number) {
296
- @if type-of($number) != 'number' {
297
- @warn '#{$number} is not a number! It cannot be an decimal if it is not a number!';
298
- @return false;
299
- }
300
- @if $number - floor($number) != 0 {
301
- @return true;
302
- }
303
- @else {
304
- @return false;
305
- }
306
- }
307
-
308
- @function is-decimal($number) {
309
- @return is-float($number);
310
- }