6350df0843d759575363b01edb907b528f8b5970
kent
  Sun Feb 15 12:18:04 2015 -0800
Adding routine for sorting elements from a hashInt type hash.

diff --git src/lib/hash.c src/lib/hash.c
index 71ec77a..f999bec 100644
--- src/lib/hash.c
+++ src/lib/hash.c
@@ -471,30 +471,39 @@
 {
 const struct hashEl *a = *((struct hashEl **)va);
 const struct hashEl *b = *((struct hashEl **)vb);
 return strcmp(a->name, b->name);
 }
 
 int hashElCmpWithEmbeddedNumbers(const void *va, const void *vb)
 /* Compare two hashEl by name sorting including numbers within name,
  * suitable for chromosomes, genes, etc. */
 {
 const struct hashEl *a = *((struct hashEl **)va);
 const struct hashEl *b = *((struct hashEl **)vb);
 return cmpStringsWithEmbeddedNumbers(a->name, b->name);
 }
 
+int hashElCmpIntValDesc(const void *va, const void *vb)
+/* Compare two hashEl from a hashInt type hash, with highest integer values
+ * comingFirst. */
+{
+struct hashEl *a = *((struct hashEl **)va);
+struct hashEl *b = *((struct hashEl **)vb);
+return b->val - a->val;
+}
+
 void *hashElFindVal(struct hashEl *list, char *name)
 /* Look up name in hashEl list and return val or NULL if not found. */
 {
 struct hashEl *el;
 for (el = list; el != NULL; el = el->next)
     {
     if (strcmp(el->name, name) == 0)
         return el->val;
     }
 return NULL;
 }
 
 struct hashEl *hashElListHash(struct hash *hash)
 /* Return a list of all elements of hash.   Free return with hashElFreeList. */
 {