You are allowed to use this source code in any open source or closed source software you want. You are allowed to use the algorithms for a hardware solution. You are allowed to modify the source code. You are not allowed to remove the name of the author from this memo or from the source code files. You are not allowed to monopolize the source code or the algorithms behind the source code as your intellectual property. This source code is free of royalty and comes with no warranty.