Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

lets publish this shit

  • Loading branch information...
commit 37fa7f7db8e9c0dfbf9a823e2784994f4d783072 1 parent 72c3a74
@jonathanong jonathanong authored
View
20 LICENSE.md
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) {{year}} {{fullname}}
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
View
27 README.md
@@ -12,6 +12,11 @@ Further reading:
- Remove underscore.js dependency
- Export to `module.exports`
- Use `->` vs. `=>` for definition to avoid `var _this = this`
+- Fixed an issue with the original algorithm.
+ When partitioning too many times, there's a chance the original algorithm returns an empty partition.
+ In the CoffeeScript version, it throws.
+ Thus, this version simply lowers the number of partitions until it doesn't throw.
+ For practical purposes, this doesn't break anything.
## API
@@ -24,4 +29,24 @@ var parts = part([9,2,6,3,8,5,8,1,7,3,4], 3)
## License
-MIT, apparently.
+The MIT License (MIT)
+
+Copyright (c) 2013 Jonathan Ong me@jongleberry.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
View
3  linear_partition.coffee
@@ -43,5 +43,8 @@ linear_partition = (seq, k) ->
# Some k values too large create empty rows and throw.
# If that is the case, then we lower k until it doesn't.
module.exports = (seq, k) ->
+ if k <= 0
+ return []
+
while k
try return linear_partition(seq, k--)
View
3  linear_partition.js
@@ -107,6 +107,9 @@ linear_partition = function(seq, k) {
};
module.exports = function(seq, k) {
+ if (k <= 0) {
+ return [];
+ }
while (k) {
try {
return linear_partition(seq, k--);
Please sign in to comment.
Something went wrong with that request. Please try again.