Skip to content

Instantly share code, notes, and snippets.

---
# ^^^ YAML documents must begin with the document separator "---"
#
#### Example docblock, I like to put a descriptive comment at the top of my
#### playbooks.
#
# Overview: Playbook to bootstrap a new host for configuration management.
# Applies to: production
# Description:
# Ensures that a host is configured for management with Ansible.
# Orignal version taken from http://www.djangosnippets.org/snippets/186/
# Original author: udfalkso
# Modified by: Shwagroo Team and Gun.io
import sys
import os
import re
import hotshot, hotshot.stats
import tempfile
import StringIO
import java.io.*;
/**
* Calculates the amount of byte entropy across a window
* size, N. The maximum entropy across any window size
* is N unless N > 255 in which case the maximum number of
* of byte patterns which may exist is 255.
*
* This program is based on Charlie Daly's Entropy.java
* program which does more or less the same thing, but
* this program has lower memory requirements allowing
template<class T> struct NullFunctor { boolean operator()(const std::vector<T>& perm) { return FALSE; } };
//! Iterator to generate all permutations of a list. A functor can be specified for fast culling of entire subtrees of undesired permutations.
/**
* The permuations are in lexicographic order. ie. {1,2,3} , {1,3,2} , {2,1,3} , {2,3,1} , {3,1,2} , {3,2,1}
* The current permutation list can be accessed with the dereference/pointer operators.
*
* If a functor is provided then undesired subtrees can be culled. The functor must provide this function:
*
* boolean operator()(const std::vector<T>& perm)