SassyMatrix 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +16 -16
  3. data/README.md +61 -61
  4. data/lib/SassyMatrix.rb +14 -14
  5. data/stylesheets/functions/checkers/_is-diagonal.scss +22 -22
  6. data/stylesheets/functions/checkers/_is-lower-triangular.scss +12 -12
  7. data/stylesheets/functions/checkers/_is-numeric.scss +18 -18
  8. data/stylesheets/functions/checkers/_is-square.scss +11 -11
  9. data/stylesheets/functions/checkers/_is-symmetric.scss +14 -14
  10. data/stylesheets/functions/checkers/_is-upper-triangular.scss +12 -12
  11. data/stylesheets/functions/getters/_get-column.scss +29 -29
  12. data/stylesheets/functions/getters/_get-entry.scss +20 -20
  13. data/stylesheets/functions/getters/_get-row.scss +21 -21
  14. data/stylesheets/functions/helpers/_is-triangular.scss +30 -30
  15. data/stylesheets/functions/helpers/_valid-coords.scss +37 -37
  16. data/stylesheets/functions/init/_matrix.scss +23 -23
  17. data/stylesheets/functions/init/_unit-matrix.scss +25 -25
  18. data/stylesheets/functions/misc/_add-matrices.scss +33 -33
  19. data/stylesheets/functions/misc/_columns.scss +9 -9
  20. data/stylesheets/functions/misc/_display.scss +42 -42
  21. data/stylesheets/functions/misc/_rows.scss +8 -8
  22. data/stylesheets/functions/misc/_transpose.scss +22 -22
  23. data/stylesheets/functions/setters/_add-column.scss +34 -34
  24. data/stylesheets/functions/setters/_add-row.scss +32 -32
  25. data/stylesheets/functions/setters/_set-column.scss +42 -42
  26. data/stylesheets/functions/setters/_set-entry.scss +19 -19
  27. data/stylesheets/functions/setters/_set-row.scss +36 -36
  28. data/stylesheets/functions/swap/_swap-columns.scss +32 -32
  29. data/stylesheets/functions/swap/_swap-entries.scss +20 -20
  30. data/stylesheets/functions/swap/_swap-rows.scss +24 -24
  31. data/stylesheets/matrix.scss +102 -102
  32. metadata +7 -9
@@ -1,20 +1,20 @@
1
- // Swaps entries `$e1` and `$e2` from `$matrix`
2
- // --------------------------------------------------------------------------------
3
- // @require `_valid-coords`
4
- // @require `get-entry`
5
- // @require `set-entry`
6
- // --------------------------------------------------------------------------------
7
- // @param $matrix: matrix
8
- // @param $e1: (x y) coordinates of first entry
9
- // @param $e2: (x y) coordinates of second entry
10
- // --------------------------------------------------------------------------------
11
- // @return $matrix
12
-
13
- @function swap-entries($matrix, $e1, $e2) {
14
- @if _valid-coords($e1, $matrix) and _valid-coords($e2, $matrix) {
15
- $tmp: get-entry($matrix, $e1);
16
- $matrix: set-entry(set-entry($matrix, $e1, get-entry($matrix, $e2)), $e2, $tmp);
17
- @return $matrix;
18
- }
19
- @return false;
20
- }
1
+ // Swaps entries `$e1` and `$e2` from `$matrix`
2
+ // --------------------------------------------------------------------------------
3
+ // @require `_valid-coords`
4
+ // @require `get-entry`
5
+ // @require `set-entry`
6
+ // --------------------------------------------------------------------------------
7
+ // @param $matrix: matrix
8
+ // @param $e1: (x y) coordinates of first entry
9
+ // @param $e2: (x y) coordinates of second entry
10
+ // --------------------------------------------------------------------------------
11
+ // @return $matrix
12
+
13
+ @function swap-entries($matrix, $e1, $e2) {
14
+ @if _valid-coords($e1, $matrix) and _valid-coords($e2, $matrix) {
15
+ $tmp: get-entry($matrix, $e1);
16
+ $matrix: set-entry(set-entry($matrix, $e1, get-entry($matrix, $e2)), $e2, $tmp);
17
+ @return $matrix;
18
+ }
19
+ @return false;
20
+ }
@@ -1,24 +1,24 @@
1
- // Swaps rows `$r1` and `$r2` from `$matrix`
2
- // --------------------------------------------------------------------------------
3
- // @require `rows`
4
- // --------------------------------------------------------------------------------
5
- // @param $matrix: matrix
6
- // @param $r1: index of row 1
7
- // @param $r2: index of row 2
8
- // --------------------------------------------------------------------------------
9
- // @return $matrix
10
-
11
- @function swap-rows($matrix, $r1, $r2) {
12
- @if type-of($r1) != number or type-of($r2) != number {
13
- @warn "Invalid row index.";
14
- @return false;
15
- }
16
-
17
- @if abs($r1) > rows($matrix) or abs($r2) > rows($matrix) {
18
- @warn "Out of bounds row index.";
19
- @return false;
20
- }
21
-
22
- $tmp: nth($matrix, $r1);
23
- @return set-nth(set-nth($matrix, $r1, nth($matrix, $r2)), $r2, $tmp);
24
- }
1
+ // Swaps rows `$r1` and `$r2` from `$matrix`
2
+ // --------------------------------------------------------------------------------
3
+ // @require `rows`
4
+ // --------------------------------------------------------------------------------
5
+ // @param $matrix: matrix
6
+ // @param $r1: index of row 1
7
+ // @param $r2: index of row 2
8
+ // --------------------------------------------------------------------------------
9
+ // @return $matrix
10
+
11
+ @function swap-rows($matrix, $r1, $r2) {
12
+ @if type-of($r1) != number or type-of($r2) != number {
13
+ @warn "Invalid row index.";
14
+ @return false;
15
+ }
16
+
17
+ @if abs($r1) > rows($matrix) or abs($r2) > rows($matrix) {
18
+ @warn "Out of bounds row index.";
19
+ @return false;
20
+ }
21
+
22
+ $tmp: nth($matrix, $r1);
23
+ @return set-nth(set-nth($matrix, $r1, nth($matrix, $r2)), $r2, $tmp);
24
+ }
@@ -1,103 +1,103 @@
1
- // Displaying matrix
2
- // @dep: none
3
- @import "functions/misc/display";
4
-
5
- // Getting number of rows in matrix
6
- // @dep: none
7
- @import "functions/misc/rows";
8
-
9
- // Getting number of columns in matrix
10
- // @dep: none
11
- @import "functions/misc/columns";
12
-
13
- // Validate coordinates pairs
14
- // @dep: none
15
- @import "functions/helpers/valid-coords";
16
-
17
- // Creating a matrix
18
- // @dep: `_valid-coords`
19
- @import "functions/init/matrix";
20
-
21
- // Assigning values to matrix
22
- // @dep: `_valid-coords`
23
- @import "functions/setters/set-entry";
24
-
25
- // Reading values from matrix
26
- // @dep: `_valid-coords`
27
- @import "functions/getters/get-entry";
28
-
29
- // Reading values from matrix
30
- // @dep: `rows`
31
- @import "functions/getters/get-row";
32
-
33
- // Swapper two rows from matrix
34
- // @dep: `rows`
35
- @import "functions/swap/swap-rows";
36
-
37
- // Assigning values to matrix
38
- // @dep: `rows`, `columns`
39
- @import "functions/setters/set-row";
40
-
41
- // Checking if matrix is square
42
- // @dep: `rows`, `columns`
43
- @import "functions/checkers/is-square";
44
-
45
- // Transpose a matrix
46
- // @dep: `columns`, `swap-rows`
47
- @import "functions/setters/add-row";
48
-
49
- // Transpose a matrix
50
- // @dep: `rows`, `swap-columns`
51
- @import "functions/setters/add-column";
52
-
53
- // Assigning values to matrix
54
- // @dep: `rows`, `columns`, `set-entry`
55
- @import "functions/setters/set-column";
56
-
57
- // Reading values from matrix
58
- // @dep: `rows`, `columns`, `get-entry`
59
- @import "functions/getters/get-column";
60
-
61
- // Checking if all values from matrix are numbers
62
- // @dep: `rows`, `columns`, `get-entry`
63
- @import "functions/checkers/is-numeric";
64
-
65
- // Checking if matrix is diagonal
66
- // @dep: `rows`, `columns`, `get-entry`
67
- @import "functions/checkers/is-diagonal";
68
-
69
- // Is triangular helper
70
- // @dep: `rows`, `columns`, `get-entry`
71
- @import "functions/helpers/is-triangular";
72
-
73
- // Creating a matrix with diagonal filled
74
- // @dep: `matrix`, `_valid-coords`, `set-entry`
75
- @import "functions/init/unit-matrix";
76
-
77
- // Swapping two values from matrix
78
- // @dep: `_valid-coords`, `get-entry`, `set-entry`
79
- @import "functions/swap/swap-entries";
80
-
81
- // Swapper two columns from matrix
82
- // @dep: `rows`, `columns`, `get-entry`, `set-entry`
83
- @import "functions/swap/swap-columns";
84
-
85
- // Checking if matrix is diagonal
86
- // @dep: `rows`, `columns`, `get-entry`, `_is-triangular`
87
- @import "functions/checkers/is-upper-triangular";
88
-
89
- // Checking if matrix is diagonal
90
- // @dep: `rows`, `columns`, `get-entry`, `_is-triangular`
91
- @import "functions/checkers/is-lower-triangular";
92
-
93
- // Add two matrices
94
- // @dep: `rows`, `columns`, `get-entry`, `set-entry`
95
- @import "functions/misc/add-matrices";
96
-
97
- // Transpose a matrix
98
- // @dep: `rows`, `columns`, `get-entry`, `set-entry`
99
- @import "functions/misc/transpose";
100
-
101
- // Displaying matrix
102
- // @dep: `is-square`, `transpose`
1
+ // Displaying matrix
2
+ // @dep: none
3
+ @import "functions/misc/display";
4
+
5
+ // Getting number of rows in matrix
6
+ // @dep: none
7
+ @import "functions/misc/rows";
8
+
9
+ // Getting number of columns in matrix
10
+ // @dep: none
11
+ @import "functions/misc/columns";
12
+
13
+ // Validate coordinates pairs
14
+ // @dep: none
15
+ @import "functions/helpers/valid-coords";
16
+
17
+ // Creating a matrix
18
+ // @dep: `_valid-coords`
19
+ @import "functions/init/matrix";
20
+
21
+ // Assigning values to matrix
22
+ // @dep: `_valid-coords`
23
+ @import "functions/setters/set-entry";
24
+
25
+ // Reading values from matrix
26
+ // @dep: `_valid-coords`
27
+ @import "functions/getters/get-entry";
28
+
29
+ // Reading values from matrix
30
+ // @dep: `rows`
31
+ @import "functions/getters/get-row";
32
+
33
+ // Swapper two rows from matrix
34
+ // @dep: `rows`
35
+ @import "functions/swap/swap-rows";
36
+
37
+ // Assigning values to matrix
38
+ // @dep: `rows`, `columns`
39
+ @import "functions/setters/set-row";
40
+
41
+ // Checking if matrix is square
42
+ // @dep: `rows`, `columns`
43
+ @import "functions/checkers/is-square";
44
+
45
+ // Transpose a matrix
46
+ // @dep: `columns`, `swap-rows`
47
+ @import "functions/setters/add-row";
48
+
49
+ // Transpose a matrix
50
+ // @dep: `rows`, `swap-columns`
51
+ @import "functions/setters/add-column";
52
+
53
+ // Assigning values to matrix
54
+ // @dep: `rows`, `columns`, `set-entry`
55
+ @import "functions/setters/set-column";
56
+
57
+ // Reading values from matrix
58
+ // @dep: `rows`, `columns`, `get-entry`
59
+ @import "functions/getters/get-column";
60
+
61
+ // Checking if all values from matrix are numbers
62
+ // @dep: `rows`, `columns`, `get-entry`
63
+ @import "functions/checkers/is-numeric";
64
+
65
+ // Checking if matrix is diagonal
66
+ // @dep: `rows`, `columns`, `get-entry`
67
+ @import "functions/checkers/is-diagonal";
68
+
69
+ // Is triangular helper
70
+ // @dep: `rows`, `columns`, `get-entry`
71
+ @import "functions/helpers/is-triangular";
72
+
73
+ // Creating a matrix with diagonal filled
74
+ // @dep: `matrix`, `_valid-coords`, `set-entry`
75
+ @import "functions/init/unit-matrix";
76
+
77
+ // Swapping two values from matrix
78
+ // @dep: `_valid-coords`, `get-entry`, `set-entry`
79
+ @import "functions/swap/swap-entries";
80
+
81
+ // Swapper two columns from matrix
82
+ // @dep: `rows`, `columns`, `get-entry`, `set-entry`
83
+ @import "functions/swap/swap-columns";
84
+
85
+ // Checking if matrix is diagonal
86
+ // @dep: `rows`, `columns`, `get-entry`, `_is-triangular`
87
+ @import "functions/checkers/is-upper-triangular";
88
+
89
+ // Checking if matrix is diagonal
90
+ // @dep: `rows`, `columns`, `get-entry`, `_is-triangular`
91
+ @import "functions/checkers/is-lower-triangular";
92
+
93
+ // Add two matrices
94
+ // @dep: `rows`, `columns`, `get-entry`, `set-entry`
95
+ @import "functions/misc/add-matrices";
96
+
97
+ // Transpose a matrix
98
+ // @dep: `rows`, `columns`, `get-entry`, `set-entry`
99
+ @import "functions/misc/transpose";
100
+
101
+ // Displaying matrix
102
+ // @dep: `is-square`, `transpose`
103
103
  @import "functions/checkers/is-symmetric";
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SassyMatrix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Hugo Giraudel
@@ -10,7 +9,7 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-01-23 00:00:00.000000000 Z
12
+ date: 2014-03-21 00:00:00.000000000 Z
14
13
  dependencies: []
15
14
  description: Sass API for matrices
16
15
  email:
@@ -52,26 +51,25 @@ files:
52
51
  - stylesheets/matrix.scss
53
52
  homepage: https://github.com/HugoGiraudel/SassyMatrix/
54
53
  licenses: []
54
+ metadata: {}
55
55
  post_install_message:
56
56
  rdoc_options: []
57
57
  require_paths:
58
58
  - lib
59
59
  required_ruby_version: !ruby/object:Gem::Requirement
60
- none: false
61
60
  requirements:
62
- - - ! '>='
61
+ - - '>='
63
62
  - !ruby/object:Gem::Version
64
63
  version: '0'
65
64
  required_rubygems_version: !ruby/object:Gem::Requirement
66
- none: false
67
65
  requirements:
68
- - - ! '>='
66
+ - - '>='
69
67
  - !ruby/object:Gem::Version
70
68
  version: 1.3.6
71
69
  requirements: []
72
70
  rubyforge_project: SassyMatrix
73
- rubygems_version: 1.8.24
71
+ rubygems_version: 2.0.3
74
72
  signing_key:
75
- specification_version: 3
73
+ specification_version: 4
76
74
  summary: SassyMatrix is a Sass-powered API for matrices.
77
75
  test_files: []