Permalink
Browse files

lets publish this shit

  • Loading branch information...
jonathanong committed Aug 14, 2013
1 parent 72c3a74 commit 37fa7f7db8e9c0dfbf9a823e2784994f4d783072
Showing with 32 additions and 21 deletions.
  1. +0 −20 LICENSE.md
  2. +26 −1 README.md
  3. +3 −0 linear_partition.coffee
  4. +3 −0 linear_partition.js
View
@@ -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
@@ -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
@@ -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

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.

0 comments on commit 37fa7f7

Please sign in to comment.