whole_func_string: function(arr, truth){
              var ret = [[],[]],
                  a, v,
                  aLen = arr.length;
  
              for (a = 0; a < aLen; a++) {
                  v = arr[a];
                  ret[ (truth && truth(v, a, arr)) || (!truth && v) ? 0 : 1].push(v);
              }
  
              return ret;
          }
func_code_string: function(arr, truth){
              var ret = [[],[]],
                  a, v,
                  aLen = arr.length;
  
              for (a = 0; a < aLen; a++) {
                  v = arr[a];
                  ret[ (truth && truth(v, a, arr)) || (!truth && v) ? 0 : 1].push(v);
              }
  
              return ret;
          }
func_documentation_string: Partitions the set into two sets: a true set and a false set.
  
  Example 1:
  
  Ext.partition([true, false, true, true, false]);
  // returns [[true, true, true], [false, false]]
  
  Example 2:
  
  Ext.partition(
  Ext.query("p"),
  function(val){
  return val.className == "class1"
  }
  );
  // true are those paragraph elements with a className of "class1",
  // false set are those that do not have that className.
  
  @param {Array/NodeList} arr The array to partition
  @param {Function} truth (optional) a function to determine truth.
  If this is omitted the element itself must be able to be evaluated for its truthfulness.
  @return {Array} [array of truish values, array of falsy values]
  @deprecated 4.0.0 Will be removed in the next major version