[mlpack] annotated tag debian/2.0.0-1 created (now 08e020d)

Barak A. Pearlmutter barak+git at pearlmutter.net
Mon Jan 18 16:43:24 UTC 2016


This is an automated email from the git hooks/post-receive script.

bap pushed a change to annotated tag debian/2.0.0-1
in repository mlpack.

        at  08e020d   (tag)
   tagging  98569b11f4aa9c229282f0b34f9123158e3d3c2a (commit)
  replaces  debian/1.0.12-5
 tagged by  Barak A. Pearlmutter
        on  Mon Jan 18 16:39:56 2016 +0000

- Log -----------------------------------------------------------------
mlpack Debian release 2.0.0-1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJWnRVcAAoJEBJbV0deGQ0YeDkP/R1FhaBw8GRH73T8qYKicyLH
O8VTZOx7xJ050eb6bq3H9nJX4z4GYiyMoSA0CSsUKeDEOGe28VxBVDPR5TC7wRzF
h7pDXpPr5X7vWfyt2lOf4+vUEqYvpmBQZQtpVMOMiRiBHz/YXr1+dKLzsPIXobDO
JhZA2a4trHwHFhvU786H6kl9WWbNugrxm6YQsaTSNrmSfja9ctPX80YFfnyJNY0X
M4663gPkRUrQFaRHS+f9UY7D7qzvuNZgRTTj/8Wfa1QRLguYxRtDEV2SrrGgxQ76
p+P8HpI6y0Not3tKPOsUQVnrM7T3rHf+iIC7oYg28hBCiaPbzYm/a/HqNz5Pj7eE
IQwrVuLCOiYwWI4IB2MV1FDtIDFi0+/kKGLAJ7Dl47QFiMve/BJoETB54k3nXDhG
AP8fQPtZ8uTuHrbr5yOs/Gyn3kD0wWNEgCs1nvoiCA64jk/pCxrqk8XKAUAtp0/L
KmrGo7pFsRWidLHUbigWzFyFaXulIN7J6zArOBMZNrAL2A2ReipaZmQDqlePdqEV
I0bUpogNwqNTkQNASKbcysltwUjcqQJlEPSNH4lYCnIKUizMbHRxb7bfsflm2LDr
dZv5TtqRpVNkt+XkDcyRR9A55dWySjuWoMgu5dQ2lTYe7H9MXvgRWLJz2MobuDq9
MCsN4oqHWBMYR0Um4kRZ
=kDQd
-----END PGP SIGNATURE-----

(no author) (3227):
      commit 62c4d8516ab4cfa3f0b55edaa05e4a32fd9d1c14
      commit 9d652bbcc1b8cf90ecc5ea59be7c080ef90ceb07
      commit ed8cfcd45c96810b9328cf50c6b24a95cc4d421a
      commit 8a74f4dd784f3d2a3cbfc456e1a6ff52c05f3577
      commit dc998a8063510e4326796e03d056350aa3ffc08e
      commit 9abf9e13b296c096b2a191fdbd1135ef155a88b6
      commit 876dc3a3363b0ce122d8e75218f30b7876a54070
      commit 42040c4ce0c8b0de22c9ec4bda36e2a9db04104d
      commit fc7aacb1e18cd16438ef7bbf8dbdec6d88da2b3f
      commit becb06aed9699af1726926dc4886151524bf6eeb
      commit 13d31e90d614441b6b38fa03c7f02000323b5e4b
      commit 0eb4cdd06b6dc52c7da369fcad92d50d33b25cee
      commit 5e2f6b2a7ee1e124c00f40ad551664a8630acd40
      commit 108cd929d43350e98d8aaf8defc6f80f5e54cf0c
      commit 0186d3a3fbe6ea174082ec38b5ce9e2c755fd3f8
      commit 4ffa694863f8cd1d4a553de256fc73b3d542e34a
      commit c046904be730b2a04ca80584db96cb8e99bb0953
      commit 43bc1068c773ecc42e385ee5a689e233952085a5
      commit c9d5eb13ac699c9e145d510fbdfea6783f201b83
      commit 38987f4c15524d395b2323d84e0d03deb9d35418
      commit 4bf3d47d768c1e639be6959b6dac1dd045ccd401
      commit ae8419942871a11762f242cbac9dd4a1af3e68fc
      commit 8e85eb731e5f9c65b837af1e072d283757f7c69b
      commit df78dbf7223c6c2e64b3d6436f64ad8f8c7976be
      commit a655b1f0867d05244b32d8807a03b0c0defc85e5
      commit 08e82abbcec95681a03edfd63b0ae3e4b50ba7e0
      commit 7c57aaf0cc64cd4eb8fb0a8e15ae2b9f737cc0f4
      commit e5e724a38789bae41f5e6a296965856ff743e962
      commit 801793691b24c1abacf0ef50337540aa7cf6bb71
      commit acc3b2b164378443d725e295046b1b5198dcc4b0
      commit a8f82fc757a07b2a567345f4ff2596b8276809f1
      commit 077762e294ad03e0d24f07fb5c318051a8e9ed43
      commit cd5514310a117f5446886a9dcc64300ca1bf867d
      commit e0436b7ffd707faed9afabeb729f8ef576e44626
      commit bee57f8626c933340a9e065b927c972496e34b34
      commit dee61ae4f7924eca37053d2880a3bd448309b482
      commit 383c962cfa0f5f3c365e01e69c458dbcf7ba2e15
      commit 0ec68c66b1939615edfe4e35e50a96ed368335e7
      commit 7d8c6c51ba4fdff7e0e816f61f1a307ff5f86a98
      commit 408cef99522dad277a1f66da46fc4e58f1ffa83f
      commit f8930f2373938102921459872b90fa01eed08c5c
      commit 11cce6677a34107e627e65fd98481371dde5bc89
      commit 5db55d7ccd2c4be3641970d524486514ae86fffa
      commit bb2f0d8c26214bf27f247672297b044a2f65f971
      commit 4d01e0e5d1d889d07f3ada5821056572c2750103
      commit 3ecfc50307c900a2c86bf74b1f24a3eff88d6ba1
      commit 35f25d1867748840678932c46311b0f86fcf85d1
      commit ed1c99b24429855f3bc98a100da557b1ab5748e1
      commit 357b23394958d7253018292f000446924f5f675a
      commit d9be94cabb76674b81bc40b78847e2565b255ec2
      commit a97f78fa5715c259e4ce31d820ef763546e653a4
      commit 6f963aff2bfd7060861dd6b5fc553453718a8b9e
      commit 8060ee15fa1506b58d779b17b501afca5939ae7e
      commit 1ee16ae39caf690a10f9d2da001fc7d74c6a1296
      commit 671f4d041c00320a30995ccedf3b8daad3123d72
      commit 222d506c8791bc769d76aa63c97f25c76fd19355
      commit 4c48dfccbb04cf37a213e06fdb2039d47aedf60c
      commit 0eaa94b361c63e94ae386fe72e9651ee21b78663
      commit 17a212a8fa6e91ee08d04679e919cc40a52bf050
      commit 2db477bc7409a02ce3bf86479eaeb3de535b84e5
      commit d8d10e0b3c2b61b6100238d62ae8c0f619f280b1
      commit fb47312e6a81cf102611b30e2ec17a0ab82b47d5
      commit 725ca465a347bf6d8a3f176890860cb2dd6e44a5
      commit c176edb573365bd7f3a012df31ff33c764663dd1
      commit a91fe8fab82d3ca994352ca628450893708d91aa
      commit 14f88f9c2257ee26bc93796dcbff3798fec718c0
      commit 160e4858503e4201600e3b5a83883f616bbc4809
      commit 0358d20e2d22ed41a3182f01102863f7f982fb3e
      commit 1a857f34e930680440cbc06191507ebbf6863763
      commit 7656b80cc5bfeeb80cea05b051eb4593f40889b6
      commit a883762f2a5be87d8e845e48d6f4398103904ed8
      commit 12b2ca8c7dff751ba9d741389c342b5ec67aa107
      commit 1198b5109e0f8eab5cd8c552989951d67099f706
      commit c49ed3f4dfdf8a7f9a8219004df964f259d43f84
      commit 81205a02b79d6ab573add8d60eb7ec04ba90430e
      commit d9057021dc1b29ff6b5eacaf9929cdaa172bf57f
      commit 4f2e346dad319d4b95fec5fee14369003fa6e482
      commit f5c3a28acdfbd03276cf3b2ab98884da969d6e79
      commit a1170af19554f68ef5d3b3765547ad89bf0c018c
      commit bc529e400ab773219dbcb9f455200d78c184f084
      commit b36cd680cdd25984960c139a23a3d829e33b5afa
      commit 9c494f54fd6cacd8bf3d3e37c757deb10c118acf
      commit a7c6468499ad7a1a5f93a82736808c662535500d
      commit cfccd8538aa2a4627d59c2855c32084687054ad7
      commit 443db693b76783c1cb6c9d413acb6a9582111873
      commit 7b303169c6f2164135b4e340388a5457af95f3a8
      commit 82d0e0cc24433a3decdf50f58f2a9d05e6100f8c
      commit 5226486fb9b94d532fbcd483b3a8b81258e1b554
      commit 919d80aa521e8719e4427b383b3fe93df6c528b3
      commit 05dbd30799260ce380ff39fc5b878c4d3197443a
      commit 7d92c338a50927c580bb66da6ac977e635129a31
      commit 70b9feee039f8287ba30ced0502befa8325c5c54
      commit 065913e90393a70e1fc4459c7bac305743f7909a
      commit 817fe4f3a695fef5799e3a2484577fc5b0887b83
      commit 1ca215e793b7e321d28adfd96eebaca767e6e4b0
      commit 0d563f137ec180aa7ddeb80c8bf814d8bd9e2145
      commit 54e2a28ffdc5b49b9b3780064f65ca87eac4e787
      commit 10d4bf206caf9a543f7cb0cae537032799546864
      commit 01545e1b4157dad04c9a141b4d3a061f9fc141df
      commit 45e52e5feeb1f1977ce61bc3e7e91bf11a07aeb8
      commit 9f6287fee066a467c2935e42a7a4bf983bd3e23b
      commit ea50c09abcbd0c63b09e52457c7f3544668fdecc
      commit 5ca11317a90ef6277862a022aa4b465f9b068c9d
      commit 94110725122eaf6c385106283d53947de84b0ecd
      commit b333962d14846012f176dd9276373312d4214b18
      commit c67c33e267ff447dcaa34ec29dc50618fd162045
      commit 1e26e4f2a87575f6235765f46c139890f3110013
      commit d1efe2601060d63637f0fda65e5624d34949eec8
      commit f2ec861bc6942eb9fe312cd817481a251b3ebcd5
      commit 88b1e85f88195786ddbff65d8cfbdb851305d5eb
      commit 35e75f8f531de9a326b88135540f5199c76befff
      commit d798c5cb800a68a10c51dbd0c99d59f3d225c307
      commit 29455759734adc6ac025217b727eccdb2191983b
      commit 79b09dcb21ca3e2651a3dc61aee6454fa8ac6bce
      commit ffb6e3b3a85491d23ae58cfea09d04651a988723
      commit 3cb74327f4f7b102cbdcc1c347ef7edac6c4f74c
      commit fd33702165d51df9621334e11ba3d8ce549fcb4b
      commit fa61eb5159a9ab6db7c330a1ad34b82c3dec0e96
      commit 29ea650570ac27314b268360bd29803ddd080cb0
      commit 1824385cecb057ddb7c3cb1c3b9abd18e70b5bc5
      commit 2178dd07ca9cb19fe172265f06884ed909ad17c4
      commit 5c2266ae9ae978f442694f499da8e08e2814e70d
      commit 2a75e6938b9e3bdc37330c7975362009f14cc008
      commit 443b5021f236eb5f20afed8813b52be4599bf1ad
      commit 56ba32927ece017675566367896e88712127a29b
      commit 35148ccf996a50a2e9ebd2f776c1acaada86e534
      commit 95924e69ba93aa21525cfe3ff30d101b4c293bed
      commit 938696ab03edc6ef6cf8770ce539d14d4795ef95
      commit 094ff683cc0abd887357bcc0f9d18ba001369891
      commit 3715d33d79ce17c2e44b27eaa6b56eb35bff3208
      commit 8eff23a5567a2fcb9dc08217736defa7a967975d
      commit 6f5c6b5d2b10e9fd89df89743b69ffb32d3cb2fe
      commit 2931879fdee6c696727cecca2c5ce8a19061e6e0
      commit 2ef65ca7f99ed2ff3c48d354c243ace9eb9ce65d
      commit 9708d16350cca9474322c48c0a7e7a6ed894e69c
      commit ea740bd411d19c48079b2058f1af0db6eb145e21
      commit e295045cff7bf6a0180e804b576db718fb84b791
      commit d30c44fe2ae87bc82e1e464c448626e3ebf708a6
      commit 87a3e82ced414f7aa46e113a6a1305c27787a9d9
      commit 72eb96dbe8b698b07548b19a5cf11976436efb4c
      commit 7ed4d3111306e7972e57978903f282d1f7816369
      commit 1542eb698733fc2c53fb5f9c3421bf2d84ad16b6
      commit 62264054b45ccdd9fe185b1214b775209a008e57
      commit e70370275fd2ad08d1fcd5448763dcd820433cd2
      commit 9ad038b98d72d39e4819439f9da1c24a2cf81e87
      commit 5f2768fb2b952eabd17894fbb14573a3934167dc
      commit ecb2bc09923b8b94785072c48319494fd6652623
      commit 8a37f9993095413597b8060436c5cad63051e050
      commit daeb43d1fc8a85452ed6da8eed9fe113fa72d524
      commit 5d9ea0e48a1e5fbc30741b8654f0cd45af559d75
      commit ff1214694b28becd752052f7817f1c92ca7bb179
      commit d7092864f1979f6461dd072dd8c3bf8383e8131f
      commit d7441307de898e6e12228ad66e963e81cf07b52d
      commit 1b6363f8ab59c002a6ff6d5be7b19f628224363d
      commit 261055f4b575571d497b8e4532f35d2b352dc0f0
      commit cd140d6de9e491d6db38a2bc2abbe0760d984e1b
      commit 27e1f00351e640d5ccd0b5593a8720736146052c
      commit 74dae90e0233e35bc08ff8f8201b8590e998f095
      commit d6e27404197df1de76a278ea06d360bd94e4a1c4
      commit ed48eebef8dda28656810e598651f2c3d30ff1b0
      commit 368328b629a5dcbccb4ed307dca4462478ee9d3a
      commit 40867b44ccf34ca3e60471d8f06eee0c7f4e8ff4
      commit 322e57a9591236f364c9c25768d24963a0348ce3
      commit 2c35c1f73c478a4f2570c3226611acc9b8cc7797
      commit 584b1c88eca4a0c788fac268feec69d6c9d90f51
      commit 3cf7b59aa5a76bcdaed7104b2d53bb326de770d9
      commit c8edcea8c9fccff0eac2e18bf5547aa3807c0c5d
      commit 309b766e6642805fa805cedb4563477f8dcf5419
      commit c7612f446b28a38b3270d304e6d7aff8d0d63473
      commit dca7448f917a01f2bd70053da2f98251c332a84d
      commit 6df6760bb7ad8b0ff5d08d81177b86ae430cc35f
      commit 85ed48e8c7ca9e90f08eadbdfb3c7ba8bdb339b2
      commit d65b225163b2840ecf918c5786b467ff733a394d
      commit 86206a8c8569448ee031d2e456e460868393c0b9
      commit 121f52a22912b77ca61fb7c407e6559b15b3d0e2
      commit 02d0618ea5272c2c2c92f71f090abc03afe05b16
      commit a34c62686669debc7495c04922bb65544e93c184
      commit d6bd2403c5ad3cabdcd557ad00fed25ea8187fdb
      commit 1bbb1cbabe1ee542f53ceec950c496135cfd3c3e
      commit 5360d2d844e0d973c41c1f32570e021c8de651bd
      commit 9440dd0bd8433003e20b15a82d2b15c0cc4165b4
      commit c969571d7a889ccaa2c3d95f048fd46cdddc954c
      commit 05fade1ae6a7e6656732482e5e778394c5744600
      commit aba4543a336d950fdf19da41d08110ccfda22abe
      commit 2a2e2737bf1c9d8c24a3dbae3e286fb1f44473ef
      commit 96764f60b33565e9226005acad5fb9ef2a17a1be
      commit a8769ef1d74ff6d5e87a82f94d745279f05434d8
      commit a9b8e754c1bc811ff1afea3db8f998d233b8f99d
      commit 06cc2c0b5777f3e08061d12313948bdab60453b9
      commit 1d1cdaaa1be440b48ed8dfcfffec8cd1c5c7b0d7
      commit 11d5b25da9330a8d01989bcc229b66ae93bffaa9
      commit ab1450ad4d7d1c82fb6c0c1b3952061ff75f96ab
      commit b5e0fbbfb4a232ee75b1e6713cb407578b275171
      commit 4fe941fa76a0ea53c7e988c7b36273451c49065d
      commit 161b04e4a413c650ec3041b219df6e36517dd3f5
      commit 62c60ad19abbb095512767f98e3b6d25b4011697
      commit 23eb8a7733c813c099e84045367c985665736570
      commit f9838c184d4416a7df82e3eb8cfbff61f2e87832
      commit ee273f04713f68f770f2b4470691612301bc9555
      commit a2c978dadb4a4798ef23a20a8d395e854e6b3360
      commit e8f47f89d82ead30dee45122798b5d10b00ce990
      commit 753503a0c18be6cbe1ae432144f56df9996c35e7
      commit a85447eb2cdd15badd939047f8ff0b4850aa9822
      commit 95701e731701a89b7ff3c7eab4672f19816f6cad
      commit d60d60dadfa7b15f8f7a2014d73b5ec33c9d2f3b
      commit 2e48074188dbf06db7791644a4ac4b36e857790b
      commit a7023596ad78bc17abf0821f406e5c3d069e2bf9
      commit acc6d6276fd74748265e14952c0f0043a92027a5
      commit f19802953dac867cb9ddbc5bf69d2ad389ac36a3
      commit 562ec559aa3a9fa9268b516d6c18177cacdcd458
      commit 40e6bd77116c95f8ba82641173eced1abf0c1786
      commit 6c84db4f873a78a3d6d253d45ca8eea7da80c21b
      commit 2809872c8aa46318fba9eba86f5000892a0a9dc8
      commit cc7a0cfbfa71ec2fbaa97c96daffc4b82c600850
      commit 22ec106f6dc9220f25fb80ee86f1bc81f80b62af
      commit 8b54ef6aa07615558293461c1bcdbe3f7c514581
      commit de6e1893b3accd0ad3786c62a2f0a676b34f1ab8
      commit b56560447567c3d7272a0ce2aefd56a91a2db9e5
      commit 3f445ba77257ebfffaa5ba7f902ce39a4ba5ffb3
      commit 2b7d5176c7eb5e6e6538f2bd7358368bff2f51be
      commit ff9e67d2bf2a1ed6c3debd13d5e765b3b0cf4136
      commit 7a3ce170552dfecd8920b6478141f82e53239b6a
      commit de4373fcd98d5bab105b32f83ef45e3a030874e3
      commit 4395dc2cbb70d13f80e1a119fb6b3a05955f6d4e
      commit 28468c19908a5297921811f6bf12f3d5e4b646cd
      commit 9e9eb739ef913f7ccfea5abdff29e9a79c121c5b
      commit 586e2ac31f32e553af9a811b5b0271c6593b354e
      commit d0f8c45b501d636af9a0219c9ffbd3c8da17087e
      commit 2909f90681aecc681f6c24f4e0c93f37b26dcf5c
      commit aa86d3c937a3fdd6c6a7a57196549c6640b419cf
      commit 03ef8ddf83702adf2fad764155b8b9d17e69f714
      commit 13604f2aeb0077a410ae790854ee7c6e33209901
      commit c004a28de72067d87446f4d9fe47178d7479eee1
      commit 34eea59e602e5f35fe91cf996e76f2963de9f13f
      commit 33c24fc0973a59d2d5c85b7dac42c4c33d20e863
      commit ff5165e3800df90e6fae72a52ae88aab178aaf60
      commit 263386bf1ec3fb2ef43d4b259d722fee6fbb80df
      commit 4fe254ff263af3d87864ac6f022bb69aa73b257d
      commit a0caa3b80738b2e68838d801cefd7498af92f913
      commit 99befd1022b3ef16a31b678b016fb89d283586ce
      commit f27c0ac0a26dd96b4bbfb5d1e5d476dfdd6365d1
      commit fb32c347c878fb5321e9d5cfcb0313fc88194b13
      commit 7c6354a29e90ae673324da7fcfafc83fce7406ba
      commit 7007321c558950d7f033c29c25078bd63ac75d49
      commit 1a31f63b0e13fe3c92210de17e9d97681f42ea7f
      commit 14e1413b386e3651b36794f747a5a3377974825a
      commit baf4b8132083370f9625937ad1fe2e976fae71f5
      commit b29e2d55f6949f14444cce27a22d7f925eb3d851
      commit aaff9e9275a907e9252e46b1fb074119fae55e82
      commit 7cf1bbfaa9951358bdb7b41447dfdb480287a1b9
      commit 893fd7502a7dc2cdcde340598f61ae721121e6f5
      commit 083d0335ad403343783416fa94ed951f7d1de842
      commit 785ab640f754602b8957f39531c0c99e35e54a8f
      commit 731375d1b924422d246b78f86adfd8314b3d1b3e
      commit 58c46fff27f44c988369b4e57d654f823929efb4
      commit 1c55db0937a27e32325845881db2ca8c1f7e045e
      commit 6b60ee849c950d7de0c5f7877087da16fc625fb6
      commit 6868064fedb6ace6d0d87e13d5b3b45b42deda29
      commit 7a4bc06d696feb1b3bf6449dc96ebc9a861f9125
      commit 3ffa99998623b6a82ad1911ee605abae37d465b4
      commit d81f1ca76f4bb2ff37a8d1cf3164fa52251540c2
      commit 139bd58996d0a320b2d1e0f2128d7ea16b9fb9bf
      commit 42c7269971a3bf014882c8ce145bc35b6732ed04
      commit 3b53955a14839479bec10ca2084414d16a9f724f
      commit da48b28e60fb5fceb81fe11e60c0f4fde0d494a3
      commit e3eedeb60d32b66248798a8bebadab5f1c8672e1
      commit 5f08dd407f262b68e07e2931fb114cd9c38a72e6
      commit 2add2c207a0843d326593df05632f25375ae56e2
      commit 5f71dd8f951ad90038997630bb128cbe6c507b4c
      commit 42b22975f8c4f263b68c825174c2ccb29bf9eb6b
      commit 67c46e2205fc5361bd43b448d4c14f485f3448b3
      commit bdad3164cc1ffa68c571028eb5dedd51aec96fa9
      commit 35edb8d419a28891b4558c3e99ca9c1461aacd9e
      commit 1790a24927b8cb502aafc949f0e03cc98a985fb5
      commit ea74d64637a83ed31ab05be2fcfa6668190c35f6
      commit 5ef0b3b288247255320cad6872ff6331b44ef672
      commit f09889f2e9f3e97822b273e2a59faee0d34c81b6
      commit 9fdc2b979e239c84db92507b645cbd6f593d87cb
      commit 6c1413349e75791c11584f24550f0fc3710ce065
      commit 84dde15d2453985af2004c294c6cc17ff2d9193f
      commit 5e086a2ba7fa2d7c3dd1e9b25d6d571413e0b8e7
      commit 9dd837000d22d8e2bf91701bfa2d13835a9e2e42
      commit b5e99231b29e67fc51f120ffa13b677b1230f1be
      commit eca58e3c075a20b9c70b12f01316c42788222173
      commit 7440334165befaecfa224e37edb96b7292991200
      commit 3fb7bc229b32830ecb6767c2680be3b573cafb13
      commit 4dac9ba55c6d059a8bc68aef5acffc30f25dbe9e
      commit bcac3106a5e15cc8747bf5f3809cbd35e5dd3cdf
      commit 8045fd7ad3ffdb49ab90cc9633bed27fa7ed1717
      commit d316456e7ea9fdfe4d3c84dd9004f0bdc9ed26a6
      commit 8187396e9a321097b1f09155188ca82b6de54b98
      commit 9da4ef645cf04da530b8703f8443a3e1f4aab6ab
      commit 9970cfffd68503326f2da6f3e90dd0f77c4d3e51
      commit f651e34ee06a44009363fb8d4416528c0ad75749
      commit ff5f36125a3078cd17866e103f5969a78f9d7bf9
      commit 230baa95254a22443301d821e1135426e10b2868
      commit 3339d76366b471738280ca950628dc2cee6957e0
      commit 24a929fd39840fc929ce43d00a6b1331cc37be33
      commit 7f9cdd3ccb2daf429ffc25f2e1bef768a31b1675
      commit d30ccc783f5e7d9e77cc1b93637b1266c4ba23cb
      commit 6693cbc0330644d69918dfa0432a1dd45d8e196a
      commit ca1ebcfee5b93e6d2fc3c0712eaa9eec0f449bf9
      commit 68b256b5a8d767eefd85a5c5dd7732b2cbdc4e35
      commit e0773e2cc994701d42eea8d064d77f502a8e3ab1
      commit aeed11fdf6845d2230de82618b82ca3fcce46d52
      commit 7d4620bada8cfa414bf622169f4ebc823e0a3266
      commit 4d07f00c13cf344652a7b508379e3ff7f49d1370
      commit 51bdf4adc9e59be059079f4507429944970b859e
      commit abf914b82648f43ab44d0c07a10539d2a6cff3d4
      commit af4a5f83161e60dc498a6c642c6ee4d955f6c09b
      commit 1050b8d2fede63d9f8da82d2b13a92d8931dba9b
      commit bdcd5b26924d01dc2deb4757fe4228ea9ba62e82
      commit 2a3499c1cbbb8b204b2c79b8fa3211059c0c2be2
      commit 63f087bab022f02d32e5f491baad80fbf0b88ec6
      commit 2f152424fa4b4ac9bb812373e8b6646383a68bfd
      commit b29e87d926c61785ab50b3c5ac02a06153c217b7
      commit 1b65e661f184ac9d76b1b0bf0fe7d02baf422fbf
      commit 86cd02ae8755d7c5f412045c8658e722a20d5548
      commit eca1ed9babb9c76f304260f50d3e30b808897866
      commit 689fe5a95e43aa82c68c963ac8f2a3805dd33bc8
      commit 835415f540de94b83a457063a3ce438a50d8e238
      commit 9c7975c334c3f761a518ef1698a17c53547a7de9
      commit efd7f7e3d36bda519828d2f81450084b3bde89ab
      commit a66a8972d4346212bbc371c7eb662d946fa38eeb
      commit d28f66235fecc0af75579fc6675d7022119864bd
      commit 807d8461987a9d24063c31d556ec76e857389029
      commit 9e06a8fb118ff624ba15bad8c3091d1eba5de932
      commit 99827cb181bb55d66b9122ab4db9432e934c31e9
      commit 584598897f081ea12b69a476e6589a4f42d2cdc1
      commit bb9665dc685d1956803b9ee004a5af7a37a60733
      commit b395088a98a2bce49729c06e094bcc365b2ed7fd
      commit 583e8c17f8aae5cc63d6e3747f89649a2431d014
      commit a7531f58871f718575c37cf11f39ea25aca753a3
      commit 9f306c7717d557600a2aa1fb26f9c2ef50e37e8a
      commit 7c35cf8a97412a48b0d1e7dc576044163878ef64
      commit f2b58226f4eccc24a77d8c279674cead00c3370d
      commit 9b572560ce4903e9b02fc05a0b85c8e423a8a926
      commit 89a55646fc8c03340a218a66604fd12d366dc93a
      commit 52c44762e5743956230ebeff6a07c03df8d02d16
      commit e326c40b30ae7dad50b402001b27c2a104aa509b
      commit 8bc81304bd211ec7fb48e5b0f991435a81e44536
      commit a8e373cda9feae1cce6195fa1a6eea77523c7549
      commit 2184d97dbf795e645e28ef77780b6397b9dc6884
      commit 0de0795c7b90986f0e349d1b113ca9da7c5a57e2
      commit 1510eab2e804fc7cc14b0423da94c0c73e49268b
      commit ab3af7b083e988675b1ffe706495bf8b58e46487
      commit 0274e773b87ce11198d76a7bedfe7009586a4a6c
      commit 01096a1c5cf7e31bf0c3fbeaf1bd9b093ac1af5e
      commit c9ca5458fceac5f9b6d971f94e3a1b08b90552ed
      commit a8654afe32d9b84f69581b9956fa502a6358d37c
      commit 80f21467e35d2cb0bda7edaede2541d6397b363d
      commit 0fff290f79ae41b2fa7825a55af3b180a23e16cd
      commit 0dc6a2a2288cd5cffcd0f4f65dc58c7109bfb1fc
      commit e8ce1a67314a279f92d807e2d5ed263b1d423b10
      commit 635eefb138fb05b2fb0ceafdc685120f563a0bd8
      commit 1f7055eda41cffd19ba15a238704a8baba8be71e
      commit f88722b85729d3a996a6e46be3a98b0142220de6
      commit f8afffb142d0b5c983efca31a799f4188a160205
      commit 0365a085aaf9d876e527429b713177cb45d54c61
      commit 5c257d4d161afd0781675a0fa3a8bf95823df8d7
      commit 061a2691a147a3aae1219788ef5bddf2a3328f04
      commit ed96c7da25b5aafcfc44236480585ddd617837ae
      commit 73b20379128a2446e6e587e3bf7257fe32b0b0bf
      commit 7a48bb331b109fbcb1f03735eec2b6de93b6f783
      commit 28c56631b2b06a0aecca378337e2e78c483e0379
      commit 6acfa5df689b4f909da7119739d7ee0ade634b9a
      commit d1baa75b57981623f46e6d33b9efead06886297a
      commit e2115053923650802ac030e6df565606188de72c
      commit 0aa02102c0e172cd905690d4a89d60c0378f8ec1
      commit 1feff2c25f72ea077f9f5e564f491abfc88c0ed8
      commit da3ff1bb0d4a0518b74cdd9ac62136912adc182e
      commit b872d986f1e1239e720c6c1b29199c0761471549
      commit 490e3be90a47391ac983edef92887fee51b01e28
      commit d2995c3ed0bc0f10024b914c0dd85d3de16339bb
      commit 1ff247a5564b1728456ba2e5ec50edd9e2281207
      commit d9d8e9043a63d525427963a4336fcf7c84f13413
      commit 4ca11a31a46238faab1030fa96f936370f1fbf84
      commit c4e2604398c732eb2eb8423dbb6f0daf531f88ec
      commit ffdfdcf7b222bd9f103b131c1d94a0e3d367efd8
      commit 3592a5b2cc711e735c76a4de1eacf2ee13d2f1ba
      commit c6707f3dc5f7ddce8b1242294d46dd346bcb12f3
      commit 02ec250a5b08487fcccd35bba53366a35972e713
      commit 0d5602e20c5b427aef1f496970ce269660098763
      commit dea5ee4c018aeb06219ad60f31b5cec8aee2f319
      commit 22bac4ff358fa24b98253f137789485703304662
      commit 89158c59ae574d0454e34708b7fe03bae6d29a08
      commit cba1fc0015818529a195dbdade27f4c907cf0f68
      commit bb354c4069a9781047b00417a2b64f09c2454d35
      commit 4926cc89890f279d0d4bfe185fc4ba6c0189e2d7
      commit e374e0ed1730c7a5713266333d738e0c564da4fe
      commit 4818d77dabd6f11224166347e684b17392bd96af
      commit 5f9eed58c4ab7c5756a0d391341b3420aa09a80e
      commit c1c2147578a81cbcca77f0f3eebc858b7f1336e4
      commit 0892d65693f153b8dd815011f582a0b5bc6025f9
      commit 77c1743586c3e4a842868505948bdbf8b122b668
      commit 7a2d9d11d23b56530c00671f2d6de0551f6449f4
      commit 0ef58f2ca0738e4cbacc4325ba8072108dda2b9f
      commit ba27048db59822ffe3f563f7174e43473134f414
      commit e299dbdc5ec02abb59680efd7b2b699fe1db9add
      commit dc2675a589e63f374a5b9bb4e97962cf69743078
      commit a97cd7db4293f7656e9e713eaa2acd3eb6f5bbe1
      commit 4af50d2467606928f4bcfe5dd348d328dc2229ef
      commit c197e8e3dee4f45d65a117705dda56318c9c5006
      commit dfe56377004948a6a649c8b057b9c53a9cbd006d
      commit 6353ac09d07ef75ed71d7cf58a524b2a3d40e76f
      commit 5c8c61b1490e97eaf5a3d5f93934364bb8e94404
      commit ff65b294d333f78a57394b96405ed49fb44290bc
      commit b33fd90cab628ab0ff040c53cdb11f2607b6716e
      commit 89460736e4fcb6b1bb11bbdb33b17599cefd488f
      commit f0a928e4052b71fa1d23722d95110589c9b3e120
      commit 4b4564b86034f6e8b72d20cd20a38694384be8c7
      commit 7dc103b47cd85528f8bcef58a73496603397770c
      commit ffac7f14607a118fc174e279da8c6691bb252375
      commit 85f066df5100731a7530371cfa2064351c525b2e
      commit 549678ec63550c916a947d7f1524649b9647c326
      commit 8d41bd5ff17b53f71c5e463f032ecd8ac3d414e2
      commit 606832f5ef98550365e8e14e1640b791d2f3f653
      commit 1c86f2bc73fbbe6dc859e38fb0afb507bb0901cd
      commit f1935d2b3c34d5ad49f96b8a270d7f9418b6aef0
      commit 138c214aa4eff74e464666d5e2e2de437e4998b6
      commit 661537ef716cce3a76e36ae9e63e9a4cfb1528b9
      commit a39d588ca8818900f50029964bb7d741c161e78c
      commit b4ed09129afcad658e1744fc76ebfeb682c4ac41
      commit 88042a38d683d2433da4474af2aaa5b07c3c8563
      commit 43798b471e7f287c955e056620f919c3cc4702a8
      commit 4f40e1c0abd9cd60079bf9ded2cb1eb406d69ccf
      commit 33b5aef23fdb265ffae67757cdffbc69afb3d930
      commit 26ca01c2f4d8f0d613f9f9aa010f499095e767b8
      commit 58a2c281539e26a82ea02c7754f3e8fdfb061f62
      commit ad18e2b7ea177a9cc1f559446ac0b43a7b678015
      commit 8b345a8584409634fdb876f4ee0e36353fc6ab74
      commit 170eb9a47f982eb3a939bd0b7d822a5c87953755
      commit ac8899d1e64c10643d5bdf931ca0fa03d8b592ac
      commit f3f149874a6ac591d66ed524652204996d46c6d2
      commit 7837e650ac16cb7f9d47ce36ece19a06b95009fd
      commit fb84ec968620d9f613ebeb1975104dbd2aabf13b
      commit 4ae7bf7130569fd975ca7c1c9b6bd71d946d831e
      commit bae70720602af79c417ace4a936a565d81e011c8
      commit e46f65a44dc1e7e482b2ff5beedeb9761a3874cd
      commit 155ac46ba730edc00cd28f7f3772f3abf914fab1
      commit dc2ac39246b75296d848c937993c01717427f641
      commit a0fafb32d79f3a8753d94444c984338a00b6a73b
      commit 1940f07f3d1fc8fd66629e238d0945af8b009005
      commit ec555489608eb71cc7c62216bb5ddc369ec86bb6
      commit 74ca8d1e1fbe85a17bca192e1284b803153749b3
      commit a90121550c5dc9054a31fad56da92ac5edb61ef5
      commit fb4846ff6ba9924f5a98e19fe24c6dd1ab7a93d9
      commit a09a9be45e950b8470fc0753c5e4fdcf1050a48e
      commit 96d5f9b7135328a9829c02d8c3151324635fc0fb
      commit 73e0d123ce6809cf723add5ab3460d19035de30b
      commit 4f7b61cb77d4dcdd427c33713c3a20ab9b529d7a
      commit 9cbba2a9f9abf98895b5e653c92f130ec7137723
      commit 1361aae06696f5605ddc8cf28e0b0b1d0d0cffc1
      commit 6cbdbd9e5d54ea4dfab8942e16f3e75053db048b
      commit 73805930ab6b3e016070cfd0be010cde6bf1d194
      commit f449faddadb04ba90ac544d39d4d0a9c137f4c1d
      commit 5f34bde020c8f1eeaa4556a7f91140c4094cbec1
      commit 73d60acfc082f53fc4af4a5e6b4917d5c80a42ab
      commit cd0eeb23a37f9e576cff573a69e039d6243e653a
      commit 97ffb07e29b39ceaee1ab2c7f7cd58322b42f8e9
      commit 610b12da6cdc5487d7093b9c9e4832b04732fb1e
      commit 995ae220efc84b0ce23b746743959c2cbb716ea2
      commit b813ace6f896262aa092cb4ae70f5595e91b5392
      commit ce8878877ca0f638b49c6b10f0277223f67ada32
      commit 63a3d1a5a992a2083c2e75064be496ab1fd84639
      commit 0f2fca9092a8dc3ce44bffce1e26e42a270e208a
      commit 93a381a011f9d23ef7a1a370eba1b798466032cf
      commit 278873c4614787cee95e76ccd2559f367ec64165
      commit eaecd87223513dcf054394eaca67f0a4eac02adb
      commit 97590fab122dd667f6b9c628de0197ed39654c88
      commit 861cda82009ce0d3ca0154f7fe61f0c4264bf70f
      commit 75896bdc29961abfb2e2b138ba1db3a80b0b2832
      commit 6b6ad294e57c40e5fbc2a1c2c6225825ab71cd2b
      commit 37a43c55fa887b6d74ac7d4818c9399729b66a8b
      commit d4b9782e947dcd5f9fb3bf49bcd919b678354d9d
      commit 815c78b3e9d54ef51d1f3a9b7c402685fd9a609e
      commit 607ed1128c7cb9a2f7cb710c494f92d5f00efdf5
      commit 946d7864e5cb0a23e6b9a0f7fb03130d8e4b1cfb
      commit e99767d476826cdd30478dbf3d03549241b69e2e
      commit 9f2e97ba5c20cfeb0b95ca9d0bb41430b369b576
      commit 401435ef0f1f3f3e7e70baacf3536453127e075a
      commit 3b418ba206027b97f020709bcd1286fa90bdc12c
      commit 003ee37ca2160cb1fbba9d05b67edf7a851b9761
      commit e6a49210bddb019a4091007ab9c40cb7f83393b3
      commit 9ca61b2d05cf34d1519ffdce61d3554158dbc296
      commit 2178b2a56ab0c6c85b858b66ad551dd6cccc65af
      commit 596294f16d84594f82c39405070425f06cdef6cf
      commit a9070ba71159313e21cbfa15d8f62f2bcf314e52
      commit 137bfd67ececbec4c0c46b8e90e9f5100a896a8e
      commit 7d188ab105f9bc260463dca455ca6989f4f60488
      commit 262ef50613f8cbf8dd99600d07ba1f45abcc5b89
      commit 33713d8136fb4d6d69fdce298f28aa7ef3a23beb
      commit 5d1c6c593953acce258575da64a73dc0d3f279e7
      commit 602cc13314a95a091b9fad829309cec067259aee
      commit 2c715e8111f2baad2ef55bcdbb13d20988a916f9
      commit 6a320e77eaf96622fb844b76d89a4ef89ef6f42d
      commit d6e280b8b2333e1bd41f76f54e943f9c14bdb04f
      commit da0e6e7385742aa00b74858e702e61dada84faea
      commit c54a024a956acef76dbf87a5bba29fc7c8f38e4d
      commit 2fbdcda7787ff4677b068d4e8923301237a2720b
      commit c5691e7fb3d829248e073007f769f9d1dc31e62c
      commit add814f9b08f714c003175b9ca738fc6ccde2419
      commit 4fd5b732c7fd773f8e977670ce152be6adca6739
      commit b6a8bcf3d4e2577e4976982c376e94647721e7e7
      commit 119eb517af938426605c77493b8ed10ff50e1424
      commit ddfb88546f6625fd3e432f4d8a9cc7e8f5211d02
      commit 4ceaada8c226c43b2dc78e1cb3be2d15863ef834
      commit 1ed32dfd6b20ecf5efcd5068612200430ffb67a4
      commit 582e51af1f62e7655de9a5631c82f00ba83d9d4a
      commit 9a45ded73d67c74ce441a3de48fae87463e41e77
      commit 084102caeddddee1412f5505c185d98047a2f826
      commit 881a16e6c278c499ba250094908d97fdb05854cc
      commit 1d7d6e5ea1ee768552185b012a931b31b8e62f41
      commit e94ccafb291dd8461382f0ee81f283f225a5ecdb
      commit 34e14bf9f2e1ac5f97af78c1c7910195c988d776
      commit 859341beabe945e0f4bb6174f1cf7e43c4451fff
      commit 1c47bb8fe94081fa90bf445ea886b0be7efaecbd
      commit 48ece06b8468b3e80c48a7452035b7e8f4f67e1e
      commit 35e9ccfe4004a0a9d04fd6508e53a3bba658745e
      commit 23a64507a062c51d4ff76a59db7a7631dd7d18f6
      commit 3db93dc57328be530dd5cfd26f16b76bdb389c38
      commit 907e33d8744e94387855f222124ee907b6905a6f
      commit 8874f419f71a42828307b19f5de56d6ace9dfc77
      commit bb7f6d300920a3c83768541a7812a122f98e2395
      commit 7e9c55a9f5f65d0a1db164f5cc8b6095fe539352
      commit f2cb901c7887730fd34620bb886cf5a978f023ef
      commit a3dbeb00210eec59a96a199cfd6b46dc27347451
      commit 29daf6a95298ac97c34cf5a7627bf193d7dfc517
      commit a36af658c7e59143fa6f22cc910733268c0575f9
      commit 4474c59c8d02b88905ee85104465f34c8b15f796
      commit a746b795480d79a0d6eda016ef38f55e50d22920
      commit 9320f3c26cd5fff57ed44228e6e68547f2ba62e0
      commit bbfc04ff3e6881fb2832b9f6f930a0a3147e0287
      commit 103d3f91b96fb9f1540a91f8d829ba4e6bff9a98
      commit 6e6d1ae7e7f2b74e80ab6163e769eb568aacaad7
      commit 499aa23d7efcd7f479eaa67947fde3f3dbe9532d
      commit 3f6acf622485fe7b2173b18eb18172e7265ce600
      commit 837fc3d999674e85f725c6584f27a1c3d087805c
      commit bb473d340b4f1e66168aad9e9b62ece929e5609b
      commit a12d1e69e85ec04276ca72e04149102c0c3fb696
      commit 305f058fcec7fca066afcc75e005e81d57ce7c9f
      commit 2c005ca180fc08c778b23d0657554cc7ac326dbb
      commit fc67c33ad622dc3da84471bd5864c95073808087
      commit 20c13221a9d00c1692446978612fdfb72819fa37
      commit 95b6648e9ae3173b700ca745d3ecd75545499896
      commit 78e2c5e52659cfbd15350247af3c99748909ccd5
      commit 925fc1c2a960eb5a8102e44d20c36441a621ab30
      commit 0120395d43caab06bd4302ca94756bd5233e2894
      commit 75eec74ccb70fd71d006e8bffd83ab2753269491
      commit 576b20a73ccbacb4076f909ff0b82dfac9e0d4af
      commit a3f8f5170747717370c9a4230e4d0e5fcafaef34
      commit c9a006875ced69a3bcebc47e13f9467ba2c3408e
      commit 7bceb284a5531d51cdf9f0a104dd650542b6fdba
      commit 7df65643bc5ccf5aa250c4a3c66e8f71c9ff87b4
      commit b54b49f1403d5e82c91df687e54ebef4f2860726
      commit f3814f7478955a7aa2dda7840e194328e5912410
      commit 35fe543632639be36a1eeeea6905a38518e87945
      commit 1380a5df7d2f25f1e10e47bd5df49ff58f65efc1
      commit c04fd57c5b2e238a7e71e80f0b240a39fcbf126a
      commit e5110a02750d6002e12d3d707fb81accc4164a42
      commit 56bd52f13eb76c04ef0cfe06a606a9b8100d03d7
      commit 463898efa4163298c115f0979d82f6ee2d1386b0
      commit 1e032cee932ea138e2aada670ac05fd223271211
      commit 4bb2db94b2cd0348a5ba4b2b524e513cf8842abb
      commit 101e623337b4b3d5604ca610dc72a220a535205c
      commit c156764d67a0e002d818f8b4e9d53dca59697f9b
      commit 8c99468168407ca006f24cdcd3434f021ada68a2
      commit 895eabdaa066f457845885f36f2b8b0208c693e4
      commit c1c37f98ce041662cdd28bef2efb19cdb083e4a8
      commit 202d54639e28c97fd6064e6eba68b957dc7a5774
      commit 26b9d122af18dbf5f21482c5e5c69cc57f105be2
      commit ad216fc66f5a485bbf8248bf69345e24c0df8a77
      commit 726fcad068fcba1464db4cafc98aa550ba20df95
      commit 70e44639b461728ea231a1f91d643fb2d3e3aa43
      commit 722e827903cffe9d95de47f566be08887d2a91c8
      commit 5843bf9750f05aed5be321fcd5552b7c79c61776
      commit 7371bd976d0d4f4120af8a7d60303c2dab3730aa
      commit e70b95f3bc6a071750f6527b59092df957c156a6
      commit d3c3007448b5ae7b12df51d0c97a15c5eebcb4f8
      commit ae0e72c6d129ddf35303701a19260b91c1d8c397
      commit f040183a623c1be79deafe3c465750838ac02ba3
      commit 371140dcd6143f89a0fa475a6dbcc947d16b0da6
      commit cc773925b9d1f223ce76777f5a24c3cebd170f98
      commit 55a265ae444bdfd24f6acff36ddb7900ccf7560f
      commit 6fc551797c300a3d3b6fe62cc81e39aa5472d1da
      commit 05f050c75a6cdc258523d701c3032d2eb49b7c28
      commit 12c4871ff25d0b1157e92f765dd7452a7497c40e
      commit 93773618cc44859de999fc4a011a84f8fd083368
      commit 94cfbed07dfc3128cdf467500b18d0b389e2703d
      commit da239b68cf1b32b081a50e42b306b9d16f939f16
      commit 98ded8d0ca76f65654a708a75ae7babc48451367
      commit 4e6faf908a504ef61b56e77254302b5e8c9f95c9
      commit 219399e76362b976a1454df2eb4824390bfd69d9
      commit 10a0f9b534452a54ea51166c1a565dab9b18af35
      commit 05f585a07c520a0269a7359479ab51c6f52d0ead
      commit 426f02f9467d4ebbab0e09cd196211219ceb7e69
      commit a02fd24dbaebbbe1880a4ee620930c755c3be912
      commit 47a0b1192ef72229cb571c29aee6bb7414d2e7a9
      commit 5ae71ea05be3e7528474d1f97c7784e00740b54e
      commit d356ba1214b4bf9817c25ef698c30ecb38d5e499
      commit 96b41f057ab4c82dd1dc0b0aad3dc0da477c8932
      commit 35ab165b4b43ec5766f5fefd4f4bce349d921dc2
      commit 09283c91732ae514620609e130699d9b0bf653b3
      commit 8225eae75be23c5b2fdcef8c739e0f0992f5fe5c
      commit 2509773b836f470f2a87a421404122280cc43106
      commit da6f02df5dc731abefb8027b0af25b487c074c34
      commit d3772dabffc5f25a0874cf15447dba9fb6e985cf
      commit f772df152c35c7bd5fd55b3b4f62256ed99086e0
      commit b558111a05f5859c981ca3df6c61318f92d5ba6a
      commit b3050e3bc0e0a187ca53984eaf6ab77f7645c421
      commit 2e88ece780cb10ad4e1bed2e6b2484ba6f2f7bb9
      commit 2daea2da5bfc12b7b0ead91218ce87f663c92ff9
      commit 3426061e1b0d3187a7e66d2f073b980b8dd7beed
      commit 2a7d921e3fc7f6d15f7450fcb2c79089d1be5eb9
      commit 65662a8f59123e6c19dd64f6f5e68e650be50a5c
      commit 4a45f073557e181b1940c237482e4b868771530f
      commit b8ea21225addc919195e1bfd6885a904009b26c4
      commit a9762b2de6c6da49a32041a8ca53e0acb4a6d7ce
      commit 8ce4fe8c3f92b2bd4220382b2c021b3b38fb66eb
      commit 16dc07bad8ce85f6b742e2bf3d4cfbe44c7972ba
      commit 0b3137600882cb219985a0cf45f568c7c2e780bf
      commit af5495a09c58c60a57b9302fdca31e50a2d49431
      commit 39b22fb8506e819868d37667f3dbd15e40d70c1a
      commit dca8c03d7fc2271135a3fcc98ab8e6627517f08a
      commit 1937500ddefd10923d77d3071696600951fd276c
      commit 786e156e62bd96ff7a42af69e468f7d0cade9404
      commit 7a0b3df8cdf8528a0b558593d22ac8a34be93f8c
      commit 6ccac815b21ef360d00e433213c9f250886b5809
      commit ee2c142d4e0b086068d3028dd11fca090fdee7f2
      commit 5b5a7ab1d5ace0816b88e35f9d2065282f27fcf8
      commit f09984f9c49992e036434c023034d87707a1dba5
      commit 2cdf204a9a3bb3f813c6913782f59c9304479cd0
      commit 3c3b4a84dc1dc70f7878f42a21ee086ac4686716
      commit 73591b7c36fb541e8082385fcf495e2fcebbceff
      commit 1c23a7e548939664bbb81834e0800e0a9d4be390
      commit 500292597f72fe6ea771a8dc91ca8713e1eeed2e
      commit 4c402192d806517193e272789847ff4fe98b8abd
      commit 50a3f8852719eb7882f0cf6afd319381c8ef1de7
      commit c06932c8cea06db9baf0d4d90dd81ee7a08149ac
      commit 864556760471c9964f4d741e792650492a1be79e
      commit d9b668ede0cfdff0d8b72a4650979d64c262f830
      commit 0fcb43f695cd0d0f7462030493fa38934d045f04
      commit 70b3f4eae71a8c800287567584de29e028699d92
      commit 98a94b9c80644eb33a26ba9abf6b11a1ec0092a4
      commit 96ac998935b08d63a94e875155e71f99c5733f56
      commit ab228b6005643bf2694109661077a460ff2993cf
      commit 2973210a284ba3e6877eb3d11f5b11b9f96aa915
      commit acf4847d5c009b4dd221da6f7e8e55ea2eb1acdf
      commit ef15ceb5573b836df4d9407f2b6ff928b2e69d46
      commit 22f6d71b75f911e4efeb9ac46be74f30031a9776
      commit 3559b659722becce7dc09b41422d04e35473f760
      commit 3795259388feccd45eea6b4be486b786cef6f22b
      commit 48ae9c711a5de78d55c961e1010d84d0d67c4512
      commit 6ef176d121890b54c3eaf1dedc67798da34a9dcd
      commit 53c57b8765ef797e0af9b799f7ef34f85879b124
      commit 6b16ff42741925e19cb9532444aab34b0bd560d7
      commit 116040008e72d62c16de76abe46ab1ce208b2aae
      commit 433fc2bbe5bdac35a83281fcefc94f6c863abd4e
      commit db8cb0f7efa48f2c4ea6ddcd1caff36f044eacf2
      commit 630b2389d2a44d9737ae1f2061003e295343fd5b
      commit d33ad781011b3ebbb6c0af26eba98cc02b60c72e
      commit 1fc87c913075802d8163f5b8f57f90103976ea31
      commit 744bc5bce92317847dce6935c74ad9645ec35a0a
      commit 98188bf9b17269d91f208d2ef57af650b590bf03
      commit cc05b7ee1c76dc10891fae2159662ff8058cb9ce
      commit a1b58a2c9b290a9511c9d06181dac134e5fd6e34
      commit 61831b527de8c7f41f9d022eddaefe36d03a9f86
      commit dc53313f40c3a68a02044b51ec59ccd96d4096b1
      commit e1f6978620b768d4cc5e9cd5d8be5a04006168b4
      commit 79d3dd730f23a681adfe7350d6598da5bceb12c9
      commit 7bc3d7ff9d975c0aff080c2d886eb8c136decd66
      commit c8d6d9156a6a9c52f401f1185fd994107663affe
      commit c3ae699586116bd4719b0abc4e08dd3d9546b8ed
      commit b27337c5c47fcc142cc677927902605f5a76ef2b
      commit 51208b3cb83b0bca58781ac2afcb3785ba04d317
      commit 8df20b8f3b87f8c492c0212c2cb9c84ed9929d82
      commit 6f8fd4ccee8e19667fd3be23c01531434bcbb051
      commit e517622e5bc0d009d76e7db352b55210f77df1d9
      commit fc5f17024f798b50636941413e5924d95b919262
      commit 26a404c7308be4a454187cad733f69a88a410fd3
      commit c47264c0b4696fa9b90a30dcc82c724715ec3273
      commit 58c246948ecd47335eb842c97104a0362e523d36
      commit 081af8d15ac8f4a6ef38e3d34729734b8c1458d5
      commit e18c30026b39b00108f1437021043ff53cc2719e
      commit 8f1614f13a79f159d698e2e02b8fbfa79ef343a1
      commit b31a2d91c25c5a0bd4490bcc6b890f05a3cb3050
      commit de1f02a3780a1b57b513806f8fada6ed6accb597
      commit 8818695a285b63af5c3fb9d31579c7daec6138b7
      commit 3a5b22431eaff81c887ad71163cf252279f36df4
      commit eb10a36f6d3a2cbd510eadfa521624f86c701381
      commit aa7d0bfdc054e19529f5144b3806f6d2a6119517
      commit 3ae539b56f4297c6ea40b16db557df3b4ff72208
      commit 1e9c071f700fd2ae798dc84e85b6ef1e94fbc75c
      commit 53f43dbdf5ced4c72facb88981d3ebcf80677a73
      commit f7fff1580a3e01fb3b2fbcc36f5abcd466fda454
      commit d2ad4a29f855857ca5485029c01976a232473999
      commit 9a7a0714f7614d4b6d814cba42de064289b1f904
      commit c1d045b7c39e254ae38bb6f0de8633c452367b6c
      commit 0e2ef16f772495ebfbca8638a615bb759fa8a928
      commit 8d3aec9059987d1d461e72af8bcf411e823ef2bb
      commit 719e282f5208224fa1c78fad942a78581b31e25e
      commit 4bf1d0fa6f760142cad6a07624e2e439da7ba1ea
      commit 37481e1d18fb0618d2214810ad1330ec8c55f49c
      commit 5cf1354dc8e8fd9b819523c8d0a4c62ed719e460
      commit 0566464c5915d87c9b761edcebec2bbe39afb05c
      commit dbfe4d6f449f37463b8e2638e3a011706ea31d2e
      commit 00913b8535f61b66f0b31e37588431df713062eb
      commit f6e9b0e79274c3d8c8e58f268af4f31d7493498a
      commit 709bef889f2efa538c4889498aa8a6d6fa7c0630
      commit fbe95abb98c7a81d9be87071d67c6a5729433019
      commit ba9ca6817390ba2b05880b66f819c168559f1df7
      commit 0d09bc62f0b7e914e1b2adbbfc220362e763b3ff
      commit 22f35614fcb32bf5e25e1f67647f09a0f3457d72
      commit b9c1cd9484abd80a9430656222bec06878176e7c
      commit 47c7ba5d1b32c123ef0ce529d387a6037ba6d999
      commit cbe70d6b37e441947cf0e808c4931fbfe9af9ed1
      commit ac4ced56b7a116c88c02df8312ad59e65944713c
      commit fb4f2889a8c10d4aee1b66966f7cf668e09770fb
      commit d5ba5e7e8191cd215f39ff5bbf4cd103d7c8ccee
      commit 437b227439fb4e73827e7450dbf96817f9cc81cb
      commit df4b6bc8baed83aef32806e18615fe9aee9fd4c2
      commit 4c42e2ddfbfa302773761fbd540842aa09a827f2
      commit b2a7e1d0e702356a93201fb0e4e91bf4525e699f
      commit 8e44a6f57c7e516bf47280831ed924dbd054e9c8
      commit 52b89d1179bfbb19cbc6159a27854806de3c3260
      commit 71e7f00f6ec9d35aa1a7badd28e9c4cdffababad
      commit 5ba1550bb6653d574700ce888ce5d8b276589d91
      commit acb81fee7c05bbda1d759ff208b0091e8add03ae
      commit 2737fc56d561e11362a09e323b01ba48a3c4465b
      commit 988367e7051e68819f476b1586e5f09bfcb8f54a
      commit 153e1fed0461f9e67f3055c2aa494ad770849d26
      commit 4b9eb269d1d47114fead745506e237a56d312f06
      commit b1ba107dccc851575b88a7d31bbf77649d0f4987
      commit afec28e3c8e3feac0148443d7a07bb0348d679b9
      commit 9981613f906dc48441cd10b6bc78e18b419f17e2
      commit 3480a7fda5130a873f7ac314b46c0ae913ea362f
      commit 938eb8753cb14b58e0d7c42c2cc46663057375cd
      commit e2ae2ca63179c7b2e2e45eb0995628dea65ead7e
      commit a1419084b3d0bb8737c2b6c0ad312f42f91b1e0b
      commit fbebb1a8b2c4137f3780cabd8da3ed5ae11c48d1
      commit 8dcdaad778573e02f1e71eee51dd0cb291028a3a
      commit cfc0353e90283efd0f094d26ddebaaa3c2a64678
      commit c74412c50bee8a86d03df934add59e405fc57797
      commit 7e1efcbaf35c1016cb69a7e0fc2317d100f2d854
      commit 65f051130309fdb2ad0af340444533b1229330c1
      commit 98f2c5095fede464774474abe4e25e3bf4947574
      commit 17270254def2d0c07d1bb4a81162741b49806ff8
      commit d867fd7a52c202735e3cf8ed824bcaec2154814f
      commit 0860d2e9e1cf5086b33ad177960e6b97922cb2a8
      commit 575987e9dcba04e97047ac2824e94e399cf40b2a
      commit 14ab40cb96a725f5e48e4b3788b2af3a9ccf2c8a
      commit 26be9be2dc95f24c4fac1b65cb1aa57a7d3d4fde
      commit ccb0af8dbff57aee65663bbe25efe8c7a13ec06f
      commit 9423a349a96afaa41aa31ed8fe3fa52d7dbdd34f
      commit a6e4d28d9ebc0140b3ccb3442819d3655985c6ec
      commit 168f9b5b172063a28ed06bde1c389a07d2a3b339
      commit 2fce5002565aee5ce527989c24e154e72a510180
      commit 8743977bf525ba84bc9ac114ce8d7c9f621c9e5a
      commit 1a73d438fb29584d3535da78ecddb2464a15f235
      commit 8fd0a049ee274d76b1d28a8cdf521137b72b85d8
      commit 1bc75e4262f998149adbb15125833681a1302364
      commit a6acd42cd58e6c8a7a1c5fb725e5c4d972259a82
      commit 17964d2d0bef49db45559bbcf23a982285aad60d
      commit 0bce573674c2481c8a29e05cbb9b1f54751413fd
      commit c474c518432e0b5bc11c17cc04781ce261c0c607
      commit b4b73e7f7c4c212afbab8893e0f27cfe4277d390
      commit 0f051194ce6cb6dc7fd36e45f5eb90843555c7c5
      commit 144c7561ac3818cafd4564106f934b44bec9b5c2
      commit a8cae8933cf016a82eb8c757a6e4b2b7972596e9
      commit ef5b075c0006d9c3f843cf50a02bea7322041099
      commit a5ca67a63a8230716f1590038eafe10ed92cefca
      commit ced4b219ff638669a9545b72e21d1ae9ca4a0a60
      commit b93b1213d495359f1070c0cfc99f5b5b823fbf8c
      commit acf1c2f2cfce67806c75789571b6e28dc6c1b427
      commit 7b167e9cb812a506f95db89b3803961b3db21323
      commit ef80cddc49f1e4b34e04c052f26f895ce0d9d63c
      commit aa9b18959473c6b5a6ed317d5b6afeec9ea554d9
      commit fb2e059537709b38d4eb8cf225043b9e835d2034
      commit 22e46143a0dda088c2ea1d21307b755fa32d87f5
      commit 481adcc2f4f5d70aebb80cb1701fcd98d1c0ca50
      commit 85100b1c8ef14be87b272822ee7748fdb391b99c
      commit adf2648528e05fb5bd3f90fae1015629b93ec7e8
      commit 874820bb5046d44ca1809d7cf7c7bb8b340eba95
      commit 9503147be125afd60eea98687262cf4fb6412ed5
      commit 5b845516a3c3bcd4cc66bc1723238789c6084987
      commit 274d6ae2d02f144f62d92eaf5b7104f17ce0836e
      commit 038075f2666bf441fc1a1d9037329cb6dd880a90
      commit 5cbd3d44ce1928f152fa027c5ebcb659e13b71ba
      commit 2f433230e8e7e6cd2ba2a47698e1f9b6d6b49227
      commit 771750f40efaf2927af39a92385f333b1f8a14ff
      commit 704a0e0263789ab54cf1d763e8b03b451155f879
      commit 5f7ff507cdaefa77792cb5bf103f9977f6cb7735
      commit d8600246ee6b513d781f9c331349fb10a964afb2
      commit d458c118303a9ba66b1e835f83aab35ae849b22a
      commit 60c8a3c4d6484b46de214283df1d80386a812ce1
      commit 675394fe0be3e4f5d41d516ff0d28e9b3857864c
      commit 04ea03cc05cbda2c6eb41455e5efe447c4018f3d
      commit 97a23abb95d3c7d51edbf35aed224bdb96a8cbcc
      commit f82701692019534a98c4912522ed103813cf9c4a
      commit 5263617362c36333a7ba2a7fd0741dbfcd987f88
      commit cb3dc06da3264809d51bb6e7cf323942fdae253f
      commit 44986647e7c139d186ff6e05696b40f86610226c
      commit 8f1e9e5bc7b4dd1cb043673ca554ab69426a4213
      commit 13aacc70bcdeb6330fa95cd12034acd850ee842b
      commit d94902d38b8ff872fd3e22980abda9ab7fac9f2a
      commit ead08c0a95e7c2c7e94c5b628f4cd5e59e662781
      commit e2c1a701df282f0abc6fbd01ab338ec80b3c925a
      commit 0f3860b9aa9388040ba503f9a2beb327b01e9dc1
      commit eff589ce9c99f09081e5c3a219665e02a6a7246c
      commit 0a34b793ee985962d93ebe5114aa7107b3da672e
      commit 751e55511335b9e402911eae2e860bfce12602bb
      commit b6b9135f04e385e1bf2016e87a18fccc1f7cba5b
      commit 9453535507522917db22b307d5f34450cffae07e
      commit f2a723574f77f99dcdb1888101cca7759171dcc2
      commit 2b68f0b773c2c7b22b6da085bdb807af8e5d49b9
      commit f44553c35c1a091931b0d38e8095a8929ebb5910
      commit 6ad572590a390498abbf938d16635680eba94fea
      commit c0ff9e431d728bda71c7c55ee7b9c2b408a3e345
      commit 5fb5e8e7a6f686949e62e45c532b209bb2eff791
      commit e0bcc4416e177b61ffd0afec1201159b3d1a88f8
      commit 4ec1529ad3e32339b4afdf4a7726f981f43dbbf5
      commit b0e475dc0fe2ca5a2a2d6e93337c3be8812ae73a
      commit 54f3b93afcadb990fd9c9682de38e73d9603a376
      commit e484feeb7ec4bc5662061630fa420338df5289d1
      commit 234eb603a08f1573e554cba83003df0f04a22039
      commit 3a5297509a9fee61d7920552d877870eea5f6327
      commit af7c6aab047840ff77ecb249873a028bdebacfd2
      commit e7405087745b928c6101a2fe923b8cc304bc9848
      commit d0372690bb506e2feba4345bd85d194d270cb3f8
      commit d9213555a31ffb56b5e6b52b0eefe2c9854af9a5
      commit 0140a3488a66999de5ff584d67fcb7531a12b07f
      commit 74c028f11d341809686c4b2ba29fda8a835cc811
      commit 2946cb82c3c4308cb4588d54c5236f5b872b66f9
      commit 1ee8fd3e455d78dcf878361cba179eb16a3985e9
      commit 3b51be7b186a0861e0991a07d9fc26ea8b5ae995
      commit aaba54531b8e4aac4e2ec728ec1ff6ca52ac8b92
      commit a7378e25208d60dec27a202293d14b96ad6cd044
      commit e153658ec22905807f7fe0408729def55efb5e89
      commit b05ec44ad229b99a795ed95560d291beadd06032
      commit aac187dea5969d02852699bb7f891ab2e9e2cbdd
      commit ed2bebf8ef0f0b1d60bbfe91ef7141faee8b1bb1
      commit 8cfdc6a9269a82c1f95cdc9e4ff4216331ffc064
      commit 397968d9b2cdecebb4d8f85bc7aa1dfc139fa72a
      commit 2f56f28eeccaa4cb7006f7a7e5618f0507afb912
      commit f33bd444571f74df35d9ce2a261e4627856740ea
      commit 6410cbfbfb7da4339ce5e2c9feeb8df65be63dfe
      commit 29131506a5cb659b251360233e53edbfcc67e280
      commit 800ce9dd674621847046b4dd2f9a0f9fd34660b6
      commit fef2d99a10e3a6fc382f17bb058d81e2d4d03541
      commit 64501e6498f5ade5a4f5cedc59de25a9c24e00cc
      commit d39deac8a15a351cc4df1c320b9a87f2cb8cc639
      commit ac9707b6cdfc64bd981bf3b9510280860381bc12
      commit c271789e193c37852c5a384a76e597c88358a701
      commit bcccdef458fcec309d359547d1cd0b8aa821337b
      commit b9e1dec627f4d4ad22380d7538362f0589b4ad09
      commit 4c5796c139e35d7bd08d0e6eee0a489a771eef9b
      commit 9c188923c9b4fa1fb5cf4de95b52b9c517e6553c
      commit 8235fee7024b7a802aff7d6e6c1608a617966bca
      commit c4189c7504f399c5c66655353fe8314e248a3592
      commit 3664bdb974669e0aec5340dafd304796f0ea2985
      commit 1d1c24bf56a183c38b2cb288e0771efaf8ae6e9e
      commit 80dc42b13e0be7c7e8baf50792a546a1863f0ae1
      commit 5df41a4f9cd8c093420c131488d7afd8fea03ca3
      commit 8a25b58da14abec314a05cdb6881522c42feab3a
      commit 2e0b2a6946bc3d16fff16581a13733ba94bc5db5
      commit 6083f567c9fe44dfac0cbbd7b19024cd1451e522
      commit 54338ba0f72bab2666240981f0023a19ff68cb63
      commit 5163035dfe000fdf9f8bb0ca243b1fdc2cd1aece
      commit 476a63a370ca42a5054c0e6f67f381791ad4dfd0
      commit 5a20b7b56bfc0006ed59e24ffd94972b10f80fda
      commit fd07b0d3e440262dfeb97e3c44e2ee16782371eb
      commit 7261c326b070bbb2075a592d380bd9ccf2cc35b1
      commit 22e5c8a52da2e14edd9a7fc52fa4df3c660b5b72
      commit 73656eb07d4fed332da3e7623cee3c170fd6de9c
      commit 9608418d4037f677bc3957bb499316d62e9af161
      commit 8d12bd9efc846961f3d099311c61d48db24657bf
      commit 5634d05cf596c69d72f25c1f313fbc6993e0ef84
      commit 9895adecbffe4828ce9602139a4879f24d653ce7
      commit 957440290d74e3d97254763beb0bee78ff78790b
      commit 284473358fff02415d3370e0a336fd66683b2110
      commit 41fcb8dc644949098f3cf0bbe34736728dda06c6
      commit 5997e5070b0a6055abbf0c6267dcabe12c58d35f
      commit 05123c191cacf7d1e4eb09b7c7a78abb1854acb2
      commit de272052ed52529c7a14627c7e746abafbab4b49
      commit 77cfdcc57ebcffaad0f64f098c9b20e26f40de94
      commit 24f6416db3ed3423a92bc2a24ff94c90f042bcfb
      commit ec3545492d132bfd504e4d17bcb61db83cd375ce
      commit 14ad23756916f0d4aaab85f55d41d267acb87713
      commit efe1a95c406d60640072acfd5276cf05622ac409
      commit 2e1f992ab6c9397e75c6e1cfc578d7d8ab6de392
      commit 46e5b466c692962a05d8e1f873b8208b9b04acc2
      commit 6b3555c9ab71a6974497102ac24f6433eb2ed817
      commit ad413fc7fadef099786e8587bacfdaacc3e4be7b
      commit 48037ca753d050097ab29cc41fc17007823f2130
      commit 87a6c02f19d76b02a0f6a87ea1009cce4608a040
      commit 4fed81a772a64e6d18026c489da010ce9561c10f
      commit acc37a6964b9213d0d965a49072e0aca4f92879b
      commit 21455a80bfee3e78206f98616cb902c0bfaced8c
      commit 4498a8f690c013b1386a038c7a56b48b619ea319
      commit b1bf5bfe7e3e34dc07f208fc2ba1e906428f05c8
      commit 8049b2f78efe0c94f7b8d286017cfad99c1f7e45
      commit 156e2db69010c1e0c773139d206fee4c7b592c5c
      commit 292e1c7bf248bb18b74dc3b350f8b70b0fd54da8
      commit 3a953717e48cc2b28ecff28c80b1c0dabb07df19
      commit c309437b233536db1799b51aa6039fd3bf175c56
      commit 2f7f5d77aa85231b7c0bcd47643e195131d10bf8
      commit 876774d8b5d1fd72694b6d4ac34d6bb5b1cd6a8b
      commit f1398171afab9cbfd921dfec55892efd67afe862
      commit 1161408ddcdea0b5f0fe1f77a7ed1808c7cdcad1
      commit 37e4726a6de9f64913f09f4fdbbbf28970010f2d
      commit f9d620169fc1e644e949f8ee4b5d1dceda611a4b
      commit 4108ac1c2e2a0e2fc9c56678163eaac212f22c9c
      commit 98622ba7b6ce0d883ae64fb8d0b279222871096f
      commit f967425bba74312ab78fe105fcc640ad10559178
      commit 8884c3d0792b1a6f3372fcc8870794527d8cdeff
      commit 4a939836035367830c0f3eb0f28334d3e83239b0
      commit 5a9cc571f8f9df3b40a1b6b78749a9622bb73f4f
      commit b90d48b89dab1424916679c50226f976422fee57
      commit 5c8071fb5d931cfc085c704b271a4ca126714290
      commit 2385d05edc6403da35e2ebf6ed289c4f2d4ba656
      commit 2b6ee6309b6261c0326a4a9aabe87d4979d35df7
      commit 927494b7e4fa7014d242e90eee342eed06e4224f
      commit af207d09b2f74485249f558aa8bd4026e19c131c
      commit c924563215ea8b88a5618988eaa4487fec7f2011
      commit 7342fd71572ce663ab4911c72238d43516ebce02
      commit 8b6c21496588c879c07d42f7549cb357b4dadb0a
      commit cc262185b71a864fc9aca996de910f699f7583fb
      commit e79d84bd2d1e9b5c798cac8801c58ef703bd1624
      commit 4f347b4a999079dc5deb2170cc70681478febc2e
      commit e47189f3349c606a7362101c0fbd5fbf3ece79de
      commit 728d933403aedc78d1de17709ea80534233dae98
      commit a5ed72e72121702cbf2357bbc6c8762f81b69d0f
      commit 112380b706ea72c018c2b11e9b757e5bbb1d4c6b
      commit 98beee0659ef6aeb439333beccd7268be9aedd27
      commit 1a4a2e70496656899a201804c7ff5c11509d9397
      commit d257821ef2fad185bae496c7f707ed042edf260d
      commit e2227e07b88de1f09bd3e9cc63c6c03d69f6f194
      commit 51f236def8d4f4368a9f03dbd8dca00e5a80df5d
      commit 73f706883427e2b1e3ffda1bc3b9ed2488f22a3b
      commit 8f15bd8112b30acd8885eafc8ae13bbe74e45143
      commit 5f88e0c5eb79fd788f0fb5fd8b79477054b6417e
      commit f44769f508cafca004d84a78c90b5c0b63334ede
      commit bb8d77a829c9171035dcb1cbe420d80e1333054e
      commit d277c76394bdeeceb59153878abb96ec1b77e861
      commit 902eaaff6f325577bfe75a989200f10668cbd225
      commit 4ece0958df8f15a05969339268e9021a09dded57
      commit 95e122306e63d161c2319af9d6f39f5e5986a6c9
      commit ed7f12b523c044032702b3688cc3c6d3120a669a
      commit 4494931dc85e96fbd531b57248ba832fbff72f2e
      commit 7d4bde6e32cf2cdc8f07239ea4b36e8dfb2cfed7
      commit b9a0e0d07f162897943877fadf5f7202527bdcee
      commit 535abb5b0c7103384246fa935c1367e2ef173b34
      commit 9848d0891168182865735f895191e1336f2021a9
      commit f2b56576805bf86a7c2314d8af994246c6441fd1
      commit 4e2171d826d072fcb8ac8f3cf6d0086b0dc0e6a8
      commit 178c742ae251288a4c99197559836632c8af70b5
      commit 3c86e86f375d38ca9dceda370099b54ce8d0d35a
      commit 719a4fbe5d891783799efd4bfe8ed3a12a3c510f
      commit c34cded4f707b1a620f9aa01416415520df670d3
      commit cada1616f1eb217a2fb8b2b6ec6a0996bcf01c6f
      commit 2189a868995eab89e93f4c3137bfac6acc0fd16c
      commit 8a83718f5051c3dd5785d806f34b0c3011c17ff2
      commit 30367aa6ff18f8077656e5c4a694e40fa015a5bd
      commit 9bb129f3f24f3782897fe67179c3b762b85a40e9
      commit 05096e06af8d3df2dc83c47947b5ea8a0fa53bef
      commit 4207c1358894e5ebe3a28b5e79665b2a2b97fc0b
      commit 54d90fc24cf73080dcedfaf893628116190ef0f3
      commit 5e50bd7d4b88bae5ebb78dc81c8cf79bacc97fdf
      commit 4a548b778133eca4bdb35ba11267a5499bf20e42
      commit ecc3fc79e8fcd92d77fe8b650378575fc2cf9856
      commit 5569fc4300f5a93ff1af0c3c4dd6765268e87636
      commit 51f9e9b24bdc3fecf2241dc44baa1b681b359d5d
      commit 084f8a1061ab7d38ca3bd6a9df27e6729e89a416
      commit d876092345b1c8eafed3a0e89e804938bf1e2e4c
      commit 29b07a0cb44dd8c8567447318b1e756471cc8164
      commit 1b9b6cff8c1c0b0fd2ff55a2e3a4124c3bdf012f
      commit ddcee1c842f8447b5ec6817ed0b28c1ff818e5bc
      commit bfa821b5dc796bb5f2e383e47482ceff04dac456
      commit 8f42325687a4cbe0362e17c0806c944b18b06531
      commit 87c8dadcc77e7f6d66945aa627e2929c48eebfa7
      commit 2f0685673ffce31448f255177a75a04e276e5124
      commit ccbe7ec67bbb00b3471f625a7f50433478e5725b
      commit ad45d253366592af9115f1f6638af349dbc45160
      commit 08178be1e57ac458b12b7fd62f1f2765dd07f685
      commit 43b81f855028f7b262a7355a370c507ca2dbae89
      commit ae121a1113c18a7a74cf99d15594fb81d3a95fa7
      commit 7b54a2abba613542aff38bf9f4bc822ae4c462b0
      commit a40fb88dda7c161d8c3c1e33a19943efe971fb6f
      commit 19a50624626d7a66000e63aad7d5addeb5b28cd4
      commit b7b68dc5a633b273fb0a4356705f7ac1d668611c
      commit 955a30c970f89d51f2faa1a5ab74109e0243788d
      commit da282729de984863cc8e4ebddae4c8a548594e32
      commit 10880df9ffb42d3e1a8fe45fa378da9484822592
      commit 69d419354e3cb11248d632733a7067c4eacb542c
      commit d7c351b5a79ffb059478dab6238c8f48f5f4c5b0
      commit 8e0d6f042ccfb2bcf669654886e29025e1a576cf
      commit a82d282d4bab894a08be3e1e14c56e1df283d906
      commit d4d75e78d7dd16f4ad3e603e6cc47acda63868ea
      commit dfb40ec12673764d20934dbe6c5f81aab69e49e6
      commit 0a409288c3837dca9b881a1c3109692daf0d27b3
      commit 8f0cb211de132509af25290e74834efa853a431f
      commit 53ef16b3acc06d4a05dc1c2f405f81f5ab50bf1c
      commit 7967b57c317192108b2e0701c200d99fb71744e5
      commit 3c12cf22ba3d6939e6f3a8d4fbf8628754615d2c
      commit 35b2e6d506003029040475b55fe77a1a6a8a1cec
      commit b04b1e8548edc2cdcca3168b968e4780b74f2f96
      commit f88c311fd1cd352820f375800c048b4c9858c7cb
      commit 63fc1169c3675fa5caf06c7ae92681a415339a5e
      commit 2b19fc1147630bd1b2991e3ffa6e1d722f001402
      commit 2ef20fc58102d20ed6767780913342d8e4e9ffec
      commit 1ca6bba58f312fda9820f2e4a67d7f8a095fd730
      commit 578596dd039bb8b24cc497d488837ee1d6edd957
      commit d3598b5e5fedb8dd2c64ace18b4cc97803a817f5
      commit dfda8d61c4c03efbf57322a39e5b6c305cc4f8b7
      commit ae413e729f3b00fd9457c3cf1db7c3be3cb80edd
      commit 6544511a910a9a23ba4756a2a54f5d72ea97b501
      commit adf77543bb434e1a2029e73a9a971ca47fb2919b
      commit 01d0ad342f941e34fd863e4f1071f0b90d462a77
      commit f0bd3821fbc9ee78f445350794277ed177fbb3c9
      commit c573b43471016a57da9321c5d959353065702b2e
      commit 6922374a1b376af16cbe2d0f92bbfc6ce6924615
      commit 633bb9d8c1b4ef05d2aa7170983d3b3041654dfe
      commit 7d61c4ca468fedfb9983b721f2f47651e4705163
      commit 2b8ab0a5d284eabdccd3f07a93f9dda65bdbfed6
      commit 9721cbeae5cfaa24018d2c1043f140f07bdaef7e
      commit ab98dc118990b5d3328e78dd68c27e15457e3e00
      commit 1272c528d49b51c8e5eae2dca1685a90b1067af1
      commit f76c68e9b54a8577170c914cf690462116929e22
      commit 402c4d1108d463e5011ad75e80845042a4fb04b9
      commit 330fbb9027d6af0422c7339bc2037569833754df
      commit 822d15afa4de233bcb7af0756fe7f56348dbe865
      commit 5ec185a7583097e96ce7cf94108fe3c9081a1381
      commit 31ede7c2ab08556eee3b9a292ebbda9444010050
      commit 788a75ba06457789c412e922fea7fb74a62215f8
      commit 80a546afbe04f1bff12433fb794300723b251f25
      commit 0b795fabc31af9defad38246e7a11028514b1ef3
      commit 447fe2b9de32865db4915c8968f6a0cf889c4fb3
      commit 472246fbe92c09eb61497f22abcfb1d6f62e43a6
      commit 19157c67c729eab3ede06df35ab56e35c81db590
      commit ea2e483d332dc23c543a29f4d1ae39adfee4ff5f
      commit c4b1f3c01d5588c6f66eb3f49615da33acd4b5e9
      commit d030f9d7f7e76e59e386161e2f3a0aeb66240545
      commit 23bec25821ffec79a5a057addd96cfc2d1f1646e
      commit c2f335166a1979f9c30841dcbf6d1a3fec7336dd
      commit aba8f940dbc5112992af050bfd3eb7b59f40a0a2
      commit 1a47eb44c64298d91e149a4f7d8ffdf590a49981
      commit 2bf62e3130e6d8d92c70edc46b2b6a78709af5d9
      commit b92b482b64b0de8ce6556577ab38473c0b27b724
      commit c6b7f1a186b7cff93250cda94dae423046f91875
      commit 377f3d7f4654fbed2749ea492a26769322e49d59
      commit 194db5521ab93153f71745eb2da0a00cf1026ee9
      commit e1505bdb073c3905410fa8c2109b9ed2d84bedd7
      commit c532c696e97bb37004717bf9ea8d8e366e2c197f
      commit d805af07152d18eaaf313a5254996c5656a65854
      commit 90f306b25c60cb59bfbfc517e774533e0f92658b
      commit 66e246c0f79ba0f1f41daa8d137bfcb91fac731e
      commit fecab99e7b4bfc10e798b3ed850fbf931d5d99f6
      commit 87a9529b7483fbb3cc2f3fae4e3ec76a3252d321
      commit 9a043f2b80bba4a1d9197b02631594c96a15f81b
      commit 62021b0914e2113b36cd60e4f60d853a7f43c1db
      commit 1f43314669fbcf5d34d1dd79dc727f3da0c90000
      commit 39da534fcd3a4b6b38e92a1be599a6fad688cf7e
      commit 40640b803058d2507c54fbe550c67e871da2b20f
      commit 25ae6dbacedfc6fbc41acf9e1414060ffe656cee
      commit b30e4ae0a11e0c7cb2c8c8320cee17f4343c58e9
      commit 8cf5702407cb240a4c8c83bd6c0b57adeaf3425d
      commit bfa2ea6676926e330c5dea90873b2ef2e3b27230
      commit 2e4095b95846a26e053d58500d5f127d70ee8a8a
      commit 284fa092d6c1f228eb251054e415bc50b10df32f
      commit ab7c49a8cda4ab007f163699b0bcc52e99554807
      commit cd6b3c61ca9d59684605bdba9c772b697bff4ddf
      commit 1dec666b087b8761cce63fa7871871a08228aaa3
      commit e50f53e30ec916785316f9c06a662914119cbc74
      commit f3688a9f6df4474917c115a1440a7397692362ad
      commit 9c6d231dea217837387b107e56c06444b0c00c8f
      commit 47ba42682a577421d00233aff2dfcc24c1b8c0ae
      commit 6c44072792f016616ddbe126f9409208d9935dca
      commit 2bd60a3422cc227dc1b0da96738c72781cb2449b
      commit dd9a23909b6056fb102154efd554f71d9a1a1481
      commit e1a25e2e36bdcaf1eb6204ec359912fd3dd80d68
      commit 5f5c458d967358c70344cec23ba8a062ab735759
      commit 73454c71e4ba293e9448390442d37516fe604c55
      commit c6396c17bb34f39bbe8c887339ec67c16710e158
      commit a3f975a8b1fc5ca72839d15b99cbf61bd806a39c
      commit 85a289ac15182ed079bc79e5bbd851dede6dc929
      commit e4ba75979ebd74388dd8ea8736a67ef5fdbc61e7
      commit cc483b29fd077fc4eb2950838a235fd025bfad6a
      commit 5d9aeefaf06c7100ed3c616d173c70b0a60385d8
      commit b2a90c701806d522e26bf02d22986c70923ddd7e
      commit 124b4508073d0f73d2461ec93a6a40d2cbf4db83
      commit f566a80c9696d625a085aea608194afa3c39e492
      commit 217d993b297a0352fe1f7e2d1384d550404bb488
      commit d462090cd286759c398904421a6d509d02120e7a
      commit e4f5fa33950518417e7f8ba7a34a4cec03d1cb09
      commit f29aa5772178794503221fea9163a2589e2b5cf3
      commit a0b1a80c46f3f27d1704f035b349d4dcb12a432f
      commit f9f2b741d928f45310e68c41d4a0d82969e7ea19
      commit ba352ce88f63c3a89342ebb430ca5c4bee0c9fce
      commit 2071e95b2f942faa4a29b75df59c82426d69e65d
      commit 31aad2b240c19c1462f4f12f8b3fc4db705a232f
      commit 9d51e4e5adbb57ba03f701d4a70c6c1a5ceccf0f
      commit 6317c123ab315aa45d1827ccb2a3d03896ff5dda
      commit 339c6818ab49179634fd80afcaa6e9136003c7d4
      commit f639d776fa72f44a4f476ff6c69f8970be201c29
      commit bbc967c997bdd558ee91942365e1dc70f2e82af0
      commit dc9ae3f23b37301d47d3f2defd818494c80ced5e
      commit 411c37b5e6b9f4ce09a5ddf8cce757fd6b30dd79
      commit 100447af3bbd54ee4d42ef82a8751ab7d72e46f1
      commit fb81b8636c70e442aad07cd038b862399c843e49
      commit 7caeff40ce0ab3911fee6c19221cd884473a3269
      commit 13ad55113c956d0b4d7a407e2eee84aed69daa9b
      commit fd60e640ede1b3c656f30550da8952d0664d7f2b
      commit 116da9dde2eafcb7211cb426cc3889055afee85a
      commit 2c53433c765f471169da6f410b39e4dbf2e498eb
      commit 157bdabdc9ab9e21df64b7da34d8b7902ab2415d
      commit 85cca449eacd1e764666fb0a6e21260db30d6c18
      commit bd3ef12dbe17d3045f3891a71ca8941ff593271e
      commit 9b241f82a23f51e525dd732778cceaeaf8339fb8
      commit 8a8255b2c162ced084753a3632eda186288e2502
      commit dddd687f675f3c37365289123fad3357fbe9528c
      commit 1f6553b45d62fe1a9080f2a3f18248929a4ea963
      commit be259033266a1cd39e8a23732f6b73937e2fb1e9
      commit 083925d2d56b979267cc2a7fc0ed448d47af557f
      commit dc0cfa16d01117b1197bc9bf396ca814c0569471
      commit 82ebc4a80ab5b9ece41c81aa69ddcc6eaee37991
      commit 451279c76b0ed63a71a561ba73efe3668ce5dce8
      commit 9298dde91f8cc192632fc7e81e5c2faf5874285a
      commit a07cd8d58e2b92191c4f19b48c8917c39e6bddba
      commit 6e5d81a45d7b72d0d391bb6b9fe728bab19450bb
      commit bced7ea928c4d65841c0cd7aeadfe6a080b73806
      commit 73ffa94772aedf1fb19f3fdb0151696b7c0297b2
      commit b664806a77d2aa1a2a903afc4a19accbca23f4bf
      commit 5a0408fbebd333c4d76900b9d3add73dd6719764
      commit b9cd20edd1c59d51b6868c290f8593c4306416dc
      commit a71ea0077d249d2d637e474e8a1e4501dcaccc2f
      commit 2ce5b4368481f2b99160a9170fc2305e35e50ce7
      commit caad94d2ff0dcc1baa7491efc9202742b5405f49
      commit 48acb5cef8918fb37a0b0e3e8c9e226719b7905b
      commit a9574517bf649245c3b0ac9f100cf16ceb6b1e06
      commit 4c0f1e29f677f710d787aa6feff0210ec2072815
      commit 34eccceba5af27ff5f75ee166f56a2607d24c0b8
      commit 18d9a9a6d9631afe5834e28e52e82e552d3bd830
      commit 5ca76b2a64b5548874fc4baa9e7c15a61ff8cf20
      commit 9296070dd7030db6f2ea11cce24bf8d86be304c1
      commit c2978dc2e890e55d5eb7ead57dda9fa6d5e4edb1
      commit ee519c0ffa8906425c923c4f00967adef9f1d182
      commit 5933286c6e3d6c45037c604159cbc594a89e784b
      commit 881b3aa4d3803651f288959d88bd9832fe2eddf8
      commit 95c61126406e6c336f9e8977d0f4e19e282a679c
      commit a74b888f80d818d6f879a02108f4e12404807fbe
      commit 55229e6209d94ea685e9a92c8eb3795459257c53
      commit ad25c1e467b730bc9cc6e85fa7874d5192528e9b
      commit c7ff7932208660a178fcc1621cb633b4df50e69d
      commit c49cc9da78574121655803cad809d78515c16bc1
      commit 2fe93b2ece942d99ce78a0a5784306f9bb91be0a
      commit 0dbb00813d22dbe2a029e555730e035919620778
      commit 0412b4eb2a939a3dec0334d17e6617f7fa3497dd
      commit 32baab02635968242136949f3c136b0cc97d77ff
      commit 2664063146dbba983bd4afdd1ef38fdcfe369cca
      commit 3c554117b5809adacb612d851f8a2e1360f8b01c
      commit 8a7b5f211b8d096d9dc182c0a6288aaec8c68c82
      commit cfface3baa50d212c8d040489b6ffaec5af71fbd
      commit a2e9f407b321d0d009c4ea1398feffd8997840df
      commit f11cfb7c2d3388bdfbdbd2076a95a9dc2b51e88e
      commit 789096b1df3e87f27ccb9a0fb7b2cd3cef718808
      commit c4ffacdb54c9dd21aa03bf162afcd3b1a1283de3
      commit 73678ce62ba21fec71f95facde70ead086754111
      commit 98976a4a65383a54786feebf95e368aa6038c134
      commit 1562c02b0b7784907138cb81dce09d22a0951f85
      commit 0fc48a561fef07349b8d7da219fd1dd971ecc514
      commit 0b27f22fe51fb37e428b76410442a7e8bb832638
      commit d504c53d708e4909c165e6b3772f9cfe6eae63cc
      commit 399edb45eaba9dd192d4f11a39845c79ed3fbac0
      commit 7655fa15bbe0915d1bf8b7153240288179d4750b
      commit 2fe7d1ee5270780eb8b5370d7a7c0d4ae5999689
      commit 9eaa7325ea9c23cfaa913d25fb35e990b75869f0
      commit d4f419877cd6fcab827ee750e45e98ed60a377be
      commit ebf6c550c0c34866810f0addb8ccaf38360e749b
      commit c05b6c9de40d4ec22bafc092eb67dc7e3ccb1e84
      commit a463e975de4494b1d7a36e31cb899e39d88b662b
      commit 625a7dc6b1f2b6e37a346591ed658e0450467117
      commit 4c20235b768d8f6e4f457661604eac602abf3ab1
      commit ea5ca79b67959791a5cf3e73178a341e4c4fbe4c
      commit 1060fb626d9218479be655cb63c16d20bb20b7ad
      commit 14311761ff2608fcab3ff4f7e15e142efcf63b0a
      commit 54391d130f6e07c286b35993b50ab81337b77eb0
      commit 69fa9b08d98ae1898a601593299d4c85eedbf16f
      commit 6d9ac90af941bb182486015e42661f27fdc1d109
      commit 9eac93d1e73f721f3c4c7ce229ba33eadc6ea5a8
      commit 7ff3f1da027dd112ee7500f0d54ace897a7073f2
      commit d7e1dc77c8e49a34b7756b55dffb60a0b7e6b9d5
      commit da147b9aab65d6be572270a394be212fa0e674a5
      commit ef18272bfb08f5de75b42153470e7ec9a3eeb3c1
      commit f1f29e61c355513cb62b787b60e7e5b03e084e73
      commit 01063a060da9cef7b5f92191255298272504269b
      commit d5d0d1b103d2482f5d53d73cbc3f995ca843511a
      commit f13928c92e86e71bc3aeb6c208b2ee39cdf5f8ad
      commit 7affbc5ac3d0f2ceca5bf44208d9b955e1d77607
      commit a4f336000efa8142f7b268669aa1190677b390c9
      commit 979a03da5ed1ddcbc2f12af43ab228a446f659d9
      commit 32bd698cbd52ee303113f26e8e1280dbc7b48167
      commit 04e20e928f3b09fd10dd9f0f63ed9c7a01049202
      commit 48b14d91b71e95b5137a42d43b541b9bf5dda9f0
      commit e94c2813dd6e3f631fdc0afc6a3bda4f2a22c11b
      commit 31265a405f397f944e6506c3c0797748486716a3
      commit ca527a803aea1c324db9fd1fc3639bc65c5a31b8
      commit b452d070a649199cafc4e665a58fb2656956622f
      commit 5907277a476cde85f17ada6965e900acbfbe30cd
      commit 9d5f9ced42b072bf543def87583c65acd73d43f4
      commit dfa792623ef719d254ecfd6a2a31c71986f68630
      commit 643b3c4923d7af7aa93260ac5ce007a672795688
      commit 3e0c6c52058cbc13a311f15a706ac6fa84bc891d
      commit 981a1c6cd0298ffc5200ec6e6ba6d19695596ee1
      commit 60e04b9b7a1ec78874d55ebc1f27b739e971494c
      commit 3fd08c6b9b9f51d14e3ad0203bfc26babe19199e
      commit a865d83b2e0749a01a584325ffc4ed34f033212e
      commit ade47efe9c4bbb435dd200b37766bd90bb237d02
      commit bf9e2c92e5036de954f99a6dd134ced3d1d79250
      commit 909953f0ab5e6d956ac8ef763bf3947d0f037738
      commit 30d8d9767312eb0e0c0c045fb01e19102ad9b00e
      commit a33b521a1515e4ae598b7ca209c0a6e63aacfb20
      commit 5212d6a41dd5dddfd368dfc93726358bd418b91d
      commit 19d5c9d754006d807399d5055b770b6f3d49a0a6
      commit 0dfc756b98099682d0eb704ecfe8f06d2f9b9b3d
      commit 9559371e1ca66f86e6ef0b4db620199abeb0e3a3
      commit 9a8a64469f8292b8c8d028e96b48c453d396541a
      commit e8bd88da527c81fbc8c8db9e43fa8ffaeef5da4d
      commit 181153157f1b6fc40b399e666d7fb533518f4a4a
      commit 378ad831d5d534762604735296c6ef095cd149cf
      commit 0ee10cc4c24af4fe67eeb4d7f95afe1692e17e96
      commit a9c89e61bb362c37d0669bed02be5815ee83f868
      commit 6d6360fed0ab6e845f78a8c8f3f4acbf3e4fa0f6
      commit decbd390a9171d36a609a2588adb05770f165e09
      commit b62279975dab60d4d297d88b86155004e06df6cc
      commit 893a0d04b63c5d595c9b93072ec0c41665ef1884
      commit 81f94d009b04adb645d7669c17b8e8869a94be0c
      commit 8dc3f97df6468fb428407278dc9afe12ccc07994
      commit aed2c7b8b9eb676e0c2ec2272b356cb2bd46db08
      commit 63e541e6ef6e74b92824f49ecb0937ada029b162
      commit d33cc42b58165ee8fad2315df3e6f6c9086f6986
      commit 88878b7b73a592cf15fc3eefa8270318622ad1d9
      commit 82feab26dab6579d6c7cccca29e410fbd717c38a
      commit 746ceece594f85f71714ad3a27b21c7df06ce71c
      commit bbb6f30c527d3f6751314482cc326e3fdf9c8d38
      commit 764cc3a5eb646de0c40a5a17347ab54c51b1574e
      commit 1ddfa3761dcd50d5a45b5fc61923937a39683016
      commit 75514337aebf71b00d9904ae8b9fee66e7948322
      commit ac11b404ee9047d74a691d74b988b4e21c47d8ec
      commit cd9aa1d6d89e3eba9f025dc6abbac8f946268902
      commit e49d83fa46abe568a2d663e4ef785b4e90de5434
      commit 9bed4b608e318a8f7131455b23d0ea18d589f602
      commit b932bbfcd7c99b84edad376359a1bee8ddbae68c
      commit 0a22637438e4d9aa1ea2ead749bc73227e2a6c0f
      commit 04866c9997a04f92afa2ee3d1db00bb0a8f6633b
      commit bd59c1015a1e40e7e67d6cd2879befc729021d80
      commit 12005e938d123e88a9aabb206ef86154be908d8b
      commit 399f9ea1945f799f757cd00b649be21f22f10336
      commit 54b2922e73f6bbe5d286be332691363b0ad71bda
      commit 826d4985b0e5b05ccac81ec6d84735a397ff3d38
      commit fcc6ebc006898b85965b26c670887e2b10e1ef12
      commit 020bf07d8ab7dd7d498b885a26c827c77f9af9c7
      commit 037b5b55ca4d7bc38cf866ea02c54101fde6f94d
      commit ca7d5742d04c9bfee12e30e2720743d85e8b2b00
      commit 3ed0f3d5178e6a1456bfd6e51b87d77f22ceda17
      commit 0ae2c49bdc95fbb4251926d8f60fd018ea5248b3
      commit 76d694a98d301c45c902645d6f7969b46ebeb95e
      commit e2c67e135dc8ab1afe0858ef2e9f8b304cb61e79
      commit 871411ad35ffa8c5e9027590411ee5c2ef3358fe
      commit 34d328d7cb98a0f54a2357c3c59d2fe4b336d080
      commit 7d534632831e554a688f1d900b2f4fca968ebec8
      commit ddf967b38da0e93ac5e03d8094ade23c4ac61d5e
      commit 5e726df0245642084ed6aac7ba6548081cb59e14
      commit cb820ea947c4ea6f3a9c5bfc1c08df9d434d3fe3
      commit 2f07b7579af4ea123f376542065fee15f767a3f5
      commit 3b5a269a0d1f4d6af0725ddbe659fe8a6d2eef31
      commit de0e75ca0e0ee6a32ab72d69cae48a9c941aebf9
      commit 975f4b98a249eefff89d0e635fb2eec41ce3240a
      commit 957c83f5a178fe86155a3d3bfb774eab83005157
      commit c041e18d96f309294badaae460107c143e2da987
      commit 26977b6364ec7e8adb31ab2186a47e07ee5b98c1
      commit 4fbfef1e9464d5874a129c25191f6e686e07cca7
      commit 461e1a4c950b87d480b070b64ecca1470df6e3a8
      commit 11dd8cb0e59289824b87d6bc7a48228354271392
      commit b5a2588e46c8707b254c533c88705f118880b9f1
      commit 2040f720b90a7b68cd642a79eec6ce0907d5aa87
      commit 447d560742f7025c79801a51fcf5307854a9645d
      commit 19f7bfa9378b88a63d45be44d76d8812eddac095
      commit 30559c5e8e038c55a65bad00e7ad0715c2e3210d
      commit 331e5355450db1db25a4a162c10e9e8382b52e85
      commit d8d8a92502ad3f1efa2985f5456753b44aff1795
      commit 05db56e80a7d4115dcce9bccfb17a7518cc9cb3b
      commit 70b03cf088c95a82d726c2b2bd10a83f566c7361
      commit 461991d2418271ede181f26087dd9e9a75bd75aa
      commit 640c1c602db20f64e418ad58555c1dee82c64774
      commit 5ed46071262f16db5386464ab304c2a6d5e8a087
      commit c7c1061c73edd0331893da4862b7912d9835d8bd
      commit 469733ecea3e8634c3f896fe3f3f21b1dfd35f64
      commit dad47e520869f7054b304e734fcda093130012b0
      commit 39ccfb4253774aa82ce89439b0ea912992cc8b2e
      commit 6811af2d2c11e7b56d640927f559d1d12fea1456
      commit 60bfa8bff491aa916a9a858a7920fde4bfb7daa4
      commit cea289f5528f9ba4733e9bda35ac7a1c34be28ef
      commit ed931ad0dcdc06f64713e5efa5102b3edebd7acf
      commit 3a03b0627bad1fe0849cc353fb8445287394905d
      commit 9b436aae4d0ce9ee8e7f4b1f9e6c5cc315d0d3ca
      commit 0f1a4865ef13cddc7f6f7d2613abe1ad6c07f89f
      commit cb95a138600bf70b6b0ee5f15fd000e6f48f4735
      commit 5de724eb1be675237df39c2d2bf9f7959c3382d9
      commit 4de4e1a7bcdbeb36c966d50a329700461490412a
      commit b78433982857824934680bee8701d94fd20507d4
      commit 9b6b21db0e8fe712f4e1319a9807485d2c72c8a7
      commit 7a1d01ae1fa048bff4764b72ad6f11054f93ed6d
      commit dbd1c7ffab5f454d652f13818a8e5fc708615c3a
      commit d3a4aeb00d1cceaae8abc2d4de977385f534fade
      commit 62547343efd2228de55dff3225348aea43e76cb9
      commit e0d580e7d9cb11edca6cacf0b405a6da97e6ab73
      commit 74fd23983ddc88b715e22d06538b42bb4ce24099
      commit 7b6e1f58b383b737a52a8f501d9283269c30e79e
      commit 0b0a62a019e2c2645a2f15f1429a6e4efcd86999
      commit 1c29b8b980bcb00052c5274e5d4ff8d9c028e234
      commit abca1cbc0789f0b7ed8df277a5c0695637eebf50
      commit e1d4b0419f8021441f964a3808eb8df0c02f59d2
      commit cbbd64c935f7550737bdad55a0d0ab80409aea87
      commit 7806baf311a8e75cc87a51b349b8dd500c82f571
      commit a651c71f976599b0a5c2d7f6c09c71dca1560317
      commit 101be21678d0e13619c30718df413f73535ef886
      commit 9d23ef8a131a688635d6571973d7dd1f545d9c55
      commit a51349d1cf2aaa0467c154272997dc938284f111
      commit 26fc2b0043268e20875cc54d483f456e791e70d3
      commit a7449933ea1b9789805665135461ac9660336ec7
      commit be44b424976546a37138fd747a00a282a8aff463
      commit c9a188d197591c424f2407abae08432f0f5cc686
      commit 17f0e576abf040d644c0bcf9d68bd9ab2ec50845
      commit 2caa4baf649cd4d522a7ad3a14891445328e8a59
      commit ea546fbc872472ecc377316fcf190d06f0d0ce52
      commit 1cb141e4ac5b8b3e3333836992e8fd16fc733ba7
      commit a4c5d7a355cb363e257a0fb7d636b9edbc4da882
      commit 2ceab6a1964fdf4cf1943403a975b88cdd8b6cb4
      commit 3fed811bbde4ab000de0bd7d2045f1a606385fa9
      commit 53f0207f872c5ba7172b048a3fe30937c29813f1
      commit 8e03cd5fa69695d3273d67ae6915733227af4737
      commit 00e46648552c41082f57da00cb16011b83e914f1
      commit b4b15198df768f78b2270c227d55e72a4916801e
      commit ed91d296ddc09a7e1077b229cade768b3c2c1e31
      commit caac8829dc1e2b84df8344864318b4f952578730
      commit 1f58ee6f6e4effe60f1f1e1f9b053900d4cc99d7
      commit fe6769291652dcc86b01975f2c34a7d95b94b953
      commit d794c1cb74e825e80c6cd3bec1c4bb80f1d218a5
      commit c8fd95b08a5ce3ac32e632ec6c1e78dd4e4f9d50
      commit 4cac025a1c370eafe5ff3e5a4f0776f7a2fbb772
      commit aa0f7d867863471d915cb2b1653ae8068bd42679
      commit 8baae7c1367a2091a382818ce7beefe965ac4819
      commit b523f3fbfda3070760ffd1ef1f13452a5c55d443
      commit 167ec22b014bbc89bd17cab11f5f1ea63060c23e
      commit 224e93cead2ffbee871ee73825efe2114f640ac2
      commit 915799bfa7a0530f32658737972ade64b0d5b444
      commit 13fb8ef0685173a7acb074dc0c4a64407654605c
      commit b4701e3b37b6990841f08e5c77895818038ae408
      commit 578a6e4e1cf88e3415cd35a72cfd5230b9c7edb0
      commit 2f059a4ce59f8ba7e2d7d91632bc5e43a9f54bea
      commit 5c400643dd6c3eb6e7f5f86d89a033938687aee2
      commit c2897ac98015cf1e82aaeab2996e0ac7ab6a1192
      commit 2f7c28dab9b83b2ef32efd04baefadea93696382
      commit 16360388fcd8b9edbbae324e67e5bf73164e31cb
      commit 3de473f759e65aa8cd8cf6ed69c5417766f3ef7a
      commit f8a3b965b16e017c434e192bcd1a954ad3629cba
      commit 0cc7c019e70f42bd5859460e43c2ea8caf90873b
      commit 870fc100aa3bae839421435c6939fe5b6ee13a56
      commit 6295c52709546157a1a69a78b74556061b38ef79
      commit 649626a0fd39a2a873606352cdd6926441d91c98
      commit 73e7a433f1c10b6351a1d6f43d0f3e4d56abe0a8
      commit e9020c240d3edc0b4b5f9230fb97be306d1efacf
      commit c575811f045be56d40edbc7efca34cb05a9161f9
      commit b9ebc9f3ebec1a4407bf2296edb60f5a08bf950f
      commit 64a57f34a652b38c59c962a87352c52856bd2d22
      commit ee6d40fa93c49a3dc939dd4360ed15df832b1113
      commit 0e3e11c4071a95d0670d25cf6a032d2e2298c5f7
      commit f1ce206165a140866f442831d15cb339a3d26bd2
      commit c70c52afb54bdd54636fc9b03f97efcd2162d24f
      commit 2b16b3a1b7d389aa950e5d36503e56b31f7f24f9
      commit 1373d5e26d6648b1346a54a426d5e40b881a562b
      commit 0d3059c6fa96fb839e51f777e48893dce29582d9
      commit 9563e4808c4b22443b5991a9b5d3bfe820e35025
      commit af0b45ba911b302f14d7cc5156a998dc0a24e948
      commit 217f7676b2b7db07df6e3cd5c2103102ea5e8ad9
      commit 321f08987e5232f66490df32cdbec3a7978ee3db
      commit e86eddcbce0b188a35a8f40067bd6f6dbc3d17a0
      commit 6948313c8164b152ebccf7a83375812e3916f968
      commit 64beb31937840510dbcefb2b9c0e7d6d3fcbbeb7
      commit 8120f280362e5171e7513aebddce8554c741f5c0
      commit b034a520fa5aa095799595e98fd670d4f041b5d9
      commit 3b71627eddb8a312aebbce25492ce95a2afd9e8d
      commit 94b0b057d8fdf035a443484743dab8007588b26d
      commit 69b03eb5fa4aaa4710a8cfeb2cd2fd56d10493e6
      commit 04ad0befa3c3bbd6eb49a1fe411f045dd75dfb94
      commit c0425b5ed593d0d4b8eef1d9c9e2ea4642476ac8
      commit eb6def7f35905bd486486e138977fb456d3f1a6e
      commit b7ca2bab6dd3f0f383293dc656766a89c1630f29
      commit 8bd3c32f2e3ea6d91737ad987a4e432c1cd42fda
      commit c9e19ef0707a7b79b96ea3ce8f297c4e5f51afd3
      commit 8c0653173cfb9415c5c3a4603904e8cc1f9da988
      commit 13b0c90bcec1821f582d4250df38eb1a7a950837
      commit 5e9fb73ed631e6f3b3ac22dbe3027c6c43945eca
      commit 4890be555742f902b898009ee6a71fec165574c6
      commit ce92ec6ed23eec6495ac6ff44a90058ddcaf508f
      commit bcf739627db7e057674a2f60f0b3c2d2759df34a
      commit ce83cd2c133883d99492a4e20d7870018349e806
      commit 8de87e164b4c03cdfaf5b6244276f22d6c973d9d
      commit 75961e17602de47f4a3cec7e135901351258f354
      commit cf71e1afd91fb2c3f640a414005986d68d717853
      commit 553f987de122ed6ec40358ee50c8075fee7a6c6c
      commit 3a6d619edb74759ff91d4638e90c1f1f5cb01cc8
      commit 5a0df6443e15e665016c820860d675cdf94a0427
      commit 72c7954a8b91df362c2f8818b8b726211351fe4c
      commit cb70c38a0bed362492de8069394b90749a9b7c9f
      commit caa3f6792a9e3020a99b4c6bbc5c34adffe33505
      commit 0079be4d76b252799be92e7383a5f29ec875f6a0
      commit 4839ca19e5d2e999c22118de334745aa18676f64
      commit c858dc691dbf7ce459be95aaa8ae06d8cb5aa32e
      commit f31bc7649434cfa4d74cbe68b90dc01c57b01097
      commit 74cfa25af25c00efb3fcb3d2acf168caa3f1658b
      commit 6daa6a95b47f32f130fc96b8184dfcf1620aabd4
      commit 91d0fbf24e15d847d7cfe44af31b9678beea3794
      commit 79c288f544721f55350e9129d10b3142f27f3f21
      commit 83178cdc42fed778831638e9a7e2454b4fa7f689
      commit ca0d063a9105536523ca6d9afc1dee684b09e31f
      commit 74f2b8488373bc74bb81e2fd9229cf476efa727a
      commit e2fb9d70d8d05f30e10bec3bef283dfcb85378b8
      commit d6b78336f88561245733bef6612606a59a86adf1
      commit 475970613dbacfd0261363f903b4d6a751e31a19
      commit 6f5d921e8f98e5509c20a5019f8b32e23200e7f7
      commit aaa7d89cdfe685e1a704a944a6c186adc2ef30db
      commit 3b5312009b2373f65fde352716378e92cd794dd6
      commit 0f7310c2ce9e588b5e56959cb36c2c8be427ae70
      commit 418ecefefa551e8ef38253d99b76384afc35abc6
      commit e87c31672e84a3b8c62af23cb36e01028a3f694c
      commit 068781c84ba6417b37da8fee3071ac281ba61dba
      commit 033c0ca06786fc6085266f95ee591ada3e21d7d6
      commit e3dbe8eeff00c0eadc4ce4474c18283c09ea1edc
      commit adc59068642bfe49c95a436fbbef47e52baedd62
      commit 005fa699115294b168fab26c6d3473036767d1c1
      commit c4c8671e45890392d8547cfc42a9d67955ec599d
      commit 12f24f28d53ec300251bf0c7ea31d2cce3659400
      commit 5983a5fea55306ad1ab5f1905f8247a47260bb31
      commit 370a8128ee606054a0b88603619abdc6ef82bbdf
      commit 6b4222f7869458ac3d4afd8e0cc0ae9fe6be5f65
      commit 6046611f0603c7a30cc3664bcd661d6858b2398f
      commit 7bc98cb43c4bf2696441c0da8df4877033f4eb0c
      commit a820bd46078f3ab5c879d2e1f4e0bd8f104ba7f6
      commit 231d8384ec36c0d8d3448d17272b3889e0c826ab
      commit 5036556589087f153fc51d1b06587fda7d48b37e
      commit bed8f16ad43398e4d3b36b8583b26f7618acc3a9
      commit fee3d2728c858f01126cbe3f0e76c219a605296e
      commit 62fbfc02559245ae7bef72ba02660faf01682afd
      commit b313bfd51c9c25192b395a7e61321cba81ce76ba
      commit 21a7717da9fd3d06882d8e95e1df3a5350d95aed
      commit af6ec96be153db832d1e40d3dc042e01e9d5f8c2
      commit fc20faf5792a89e99303d76e8eb584cd837373f2
      commit 067abc90d7c0fcc76d8d1724ea3b118db9e6ce45
      commit e4d2e9ae3d5d7d1fcb67246367ac0655bc103510
      commit cdcab89f2f753f059626f64b96d36cf9d05995db
      commit 1cd6c5b709d72a49e2947c09bb5c92cfb09514dd
      commit d77dabbbda6fd2696ff3098f021d3ced44a62507
      commit c9316bc21ab785065f4015143fd19b520334d06b
      commit 11903a0b2f1af21cc7ed8e620c267ad7b0aa063c
      commit 4283dc336f359d277a26418313c9425a873a5c77
      commit e7c889645866993359c24a07c69c0bef6a761639
      commit 2e9e550798d3fa6741db9f110e2fc39a46c69433
      commit 17dcdfd908e53612c5efe7216ec085aa7770867a
      commit a4471c65169cec970df54e753870049d99c12a6c
      commit b06f029c6941664cab317076e9aac0d734ac3598
      commit ddb87c3dd22c27d28a25afbd57c67bf2285812db
      commit 9d8b13533318e1426a0b7247e39e3aec2662c967
      commit 09ab1975b98ba45be3ec38c6835457822fda6d64
      commit cb70c7482d42b7f22149475d9b99986384c3bdbc
      commit ec9c191e13130112c6be3fad06006e8b2f94aea4
      commit 85fcfcf7a1b1a2078655978b5cbd967d7e08e35c
      commit f2ce9c0e155acd7383d353c673efa60eefe6228f
      commit 9f790f93ed1a6b9cfcdf6fe2f3d2f299971061a8
      commit 7687af9f1b3b6bdead52fa472366c45facca5f3e
      commit f7f28528bf017567a237d235dcd0cccfdf61fd20
      commit babcaa8658bbf47995be4929251b36218c56ad79
      commit 3cbbe929b3bc3c02d050a5b717ab1d3f601c0006
      commit 927218da0ce1f7d8173b8f85c2258a97ca404837
      commit 503f818db49db22fea087c3e093d165eae00d595
      commit a219ae8226e49cf29f2d0aeaaccad966c1279dba
      commit 3ed3489179fbaa554019272ea4fb1e9f0db2e945
      commit 99e5e77ff9af0683f1145db8288abf6b489328cd
      commit 5f62e0230f0c0f35150a256670529048ca35f37d
      commit 79aa13cecb05b807037b4a4875309cc58e534233
      commit 4e2f0cb7c33e214dd7ae005c824dbdd96a0023ad
      commit 84495d390d576a512c976cd973720eb498aaf784
      commit 4cb94057759ebe542ddc446f680d4bfcbdb2623c
      commit 6619965c069f28ea5b2fd05c2a0cd78f380213bf
      commit 8ca6fb6089ab272e9269dce20cea99f422467f2d
      commit 16dcc51ca14153371f1a63013b61c303689ed645
      commit 22a1d636ac51ccc1d60f53758247ae5a921dfebf
      commit 64c064448bd9a8be07554e651d8a9db4d3f5fd68
      commit ae3b0291876db56909b285812fd2f2b1e9b58d55
      commit 9196a382e85e2078f605247965dc5cdd9f035e81
      commit a816f5c36a1f744c26c8a100a14b1ef8f3d778f4
      commit 97cb0e4a58624818c0857372352dcaf896797f28
      commit acab6b8285ab87a26b69282fe7b572c693bc8cf5
      commit 03bd1616f3dc2d1ba89c1e10b17981cc4004233d
      commit a54c59692d6a1d7d031c4341d43e11ee583ce7a5
      commit 269f37fd8034f482c04c00b5acc8423b726780c4
      commit c15f8fbdaa7cc9af86b04f30494a6fa456a13932
      commit 904a08b3d7b78051577459c39cf092dd5810ae9c
      commit c8116260dc1a5fb36dc1078126f75958e3f0ece1
      commit faa412d74305330d72f2749975a110a4ec144bff
      commit 00f9d9c092b7ca8c794a4d5a917c5b7067b4ccbc
      commit dc423c628949e953f0fafbdf3671889bffc05d49
      commit d4ce07bce780087d01b9e045fe4269ec3aa19ac0
      commit 004733b504dbc15121b735f8e175b5760e06def8
      commit 9b1f998723f0a64d07539bd01b77352a8aaf015c
      commit 19516755008ce091e8006ef1f2a5c0b6d6ebb021
      commit a292a9766eecad6ac4da7e9cf05bb00dea59602c
      commit 7aa80d5d865dad67422eddf3c305ea80a0bde87f
      commit 787d5503d03783716fb14f53cfdc2c9abb515416
      commit 8db5444ef55ccc267f73ebbe43178a63a034df8f
      commit 485aa7a5174f341299069cedf9c63eaaa86477ce
      commit 327cf71257f43fb22b4e565b0af8d77737fb9e53
      commit b418ff6e2e5fd0f55351cf30d7089b5902e3ee99
      commit c120cbf5768e65b6146ea366e3a34ba849f45c17
      commit c662033a6ee22305ba385efadb17071781022c51
      commit 3eaedc712f625f5669a82f8c395f4bf9f59ae3ed
      commit 8c712bae61f2773103e3251dac759dd8db1ef649
      commit 616e7d6a17ac8d2675b58c3df46e0761e5977817
      commit 540185c30cf2fbc7f4a196dc087ab49de3f10141
      commit bb9402054d6b0154269a48ab629947fbd328aa69
      commit a093cfaa278d0a97ed15c93335f9bf3b9e05d75c
      commit fa8b9ce66ee2d62b3d7ef8a38b480905b4469ace
      commit 459056e7fdd52c86117c565b7763e7f2af478d19
      commit ac1369fdb90e9563e8e1354266816b20220ea2db
      commit c1b855b379de3eefeb96156237f2960784de20ed
      commit 3d05e704c7d15a415fbd784f3e0a04c31e6cf9e3
      commit d64e22e29eb96545f2eee05a80d4b77f36469b57
      commit 1bef211cb8e4472809e8f40ef63404dfcb2fecc9
      commit 024f75d1053fd86585ab81656eef9d577ab48ffa
      commit 64cc7950e3ceac55360f42261c9dbb568dc413c5
      commit dc5e91d7480d6441fa1a343e98184d6a71531666
      commit 6ec1dad51a8cc946a020569327a9e1ab8d69c9e4
      commit aa87b9c38935468fe8694ab7ff75fb0f4dc5436b
      commit fd8d827217018175d6b1043882c0f95611999b1b
      commit 281b9d069d5477938d01635f5b19fe57db90b063
      commit a7daf89ed108c0c954106e1252b2ce8f5609d18f
      commit 9047035fe313108cb89d3f8885bc8b78a6c3d97d
      commit 430d710806359665a0c33f75443cc16b3b6612a9
      commit a751e96f08fcba8a8e57ef6252d3e36fb20dc248
      commit fc6a3275656b979ef860277ae0d472ec5d5e9315
      commit 143e917e12bdd71427270c4470199e7e4d4c3269
      commit 22d7b11ab3c0dad9bd5e090b4d40f8eb67dd11fc
      commit 8cb4ca5180c5ff9abca33fabc5c6c63dd042c3a1
      commit 5ef153c2ae93e0c109190b3d5426aa1345eb4cda
      commit 8d93c715de0668d1f9d272dd45eacd3ad4194b5a
      commit eb640047231054655b6bf2ec694613654fd68542
      commit ec99cf4f2790b19b589fd5eb218163ad50da938e
      commit b9d8871462d783ba52c42362281ac5a57bf21184
      commit 4fd20ba88ca3afd819c847daa630d88f9ff7dd32
      commit afbd141a8e82067eccac201e2909e2daa6477db0
      commit 1e6bff6a1f90059a491c12139723d438eb615d6b
      commit e3837b62b6010340297cd7cd888198108c7e3e0a
      commit c712fd1c98883e16a4578709cd6544e82f66b4c8
      commit 632272acb56e11c3076ea198b06b9f15b183835a
      commit 3957428d8e3a37c3bc6d4deb1e8a274b68ba9804
      commit 2c6796cf985183a5d414bc0f5c114b976fa74992
      commit 82b493faf3cebde54c8b4d1d48dd4c2547ed614c
      commit ed0953c8d59727a0863faa5b3563cd8f9da29663
      commit eef056d58b5d42bfb6825be3c237238220d86198
      commit 75fba884357ba430740827b794ad994cf0f8a721
      commit 757dd25faf2903ee7fb23395974ba1275512db0c
      commit 6ac39c750198e2e1dd9245c1083ff22c0e648b20
      commit 83756589b7dcb78f9f579206ca0097aeb6f1dc76
      commit 70120b25706a24892aa224eda8b5b75477e69c5c
      commit 96cfe083118a81b7b817b3d8654a8a9ae3ac78b0
      commit 1a016179213a61cb4ad49faa64fb9e58489c1f69
      commit 43a5adecd7385fc46ca6bd9ac1211578592364dd
      commit 648b6e06cd4f2890f8297b6bf8e803f3058a9fad
      commit ab1237b3c619172debef3203b79b4835d02dfc9e
      commit 180073bc50871f10f3dcc5daf5184724b4fc1148
      commit fd9d509ff9a457cfe8d2697b8ffbb9ce6fa40a7a
      commit 5883a62afe4409a85be6af15639af770bff7c7df
      commit be20f8f80ad39f73cb51e80296c1160fbe428ad8
      commit bbb49d9f79e7524bf8c9f0e936dd897872914da0
      commit bd93e188ca240659fd771f62bef9ba57652eff40
      commit 8060b5c5e47a56ad78ef3ca6bfeba6fbf8ed0481
      commit b8cfcc306186d4c5df1f2349aa94869502b7f896
      commit 3124fac1213da3e5cbcaa27a7b3b9ae8aab8ab41
      commit 97fa9b879494d76034868985867146b43b0d1171
      commit 4fe05da195bf7b3b0cead90a1e45b2876dba7f2e
      commit 52e0e917361012ef613a97e7d5efef458cc750ea
      commit 29ebc61e039aef584b1d2573e03cbbc7c0d0239a
      commit eb4f4103c0cd10dbf8cc82f95d0e2f7783e7f8e4
      commit a9959a2e91636d51eb67b18c23624527a36ec179
      commit 42eb128e0baf5a7bd28a9efe9dfddf15cbadefff
      commit e1ef0d39cf3666a008565b51c53c49668e8f519e
      commit 49c60245659aac550a64ea500d894e990d72f9f5
      commit d4780a8b137af209d4547a2ed61bded9642e927a
      commit bcf94be5fdfc01bd3d967ff50b703e0ea67636f3
      commit 12178239f7125c0d0d34446fc03efd38fa4d73a5
      commit ea8f405809b6aab5e5f6c7c8cff6aae6cc34d73d
      commit 08d30c9e1287f7d875c50e711efcafae2379a7af
      commit b3f1f023f8cf3ead006671886ee559e9b142b6fc
      commit 0cbcb06312dcbbd260666ba8254d3db864aae44c
      commit 0d7daa3e4e92ef140cd4e1997819f8404bff5cc5
      commit 070821c9dd12b2ffdc8155f669ecbb482b74f24a
      commit ed9a04cb3b5192801d8982c071b97931c55bb0d9
      commit ba97d0134031db48f3ab3ac161b3360e04e7dc61
      commit e6795ae982b486cb01945fb3b779022ea4602715
      commit 23d85936d59555432b24e2039f0d93f1d2c51f72
      commit b7280414b4125ead9a8a0c6af3aab4c184ec99be
      commit 04fdfe9446c4eb27178c45d93b6de3d52fcb1023
      commit d7439ecf949c74e680fc0a49193a99ac88d7dce5
      commit da0acd8cf5c25c56dcf975ed58c194cdaa927f5c
      commit 7e97790044582634c35978be25a45ac41c4c0cf9
      commit 2d35b7689751be727eef401eeca6bcca921f96e6
      commit d67cc49cacf509e1a53c77a79b309c678b53ed02
      commit cd939a78d8ebab71c5996ef5dcae4d9488063014
      commit 3bbdf12cfae661fd02eca44013bb3a1fe5e34e59
      commit 9a9d4e0f6aecec6fda2a2762794f9273a950a4e1
      commit b0e8b49350a6b0e38c060b024495c67364456d92
      commit 07a20307fca9e56a3df1a101cc10fce5cf8b5adf
      commit c6fc02ff0c515b52e6734b12cea9735413981b92
      commit a659b70acefb0714b1ed93e1c8a326bdd3e8770f
      commit d3005c87b049dc545748b7990f365d7b8bfaa539
      commit 4e8b444336358d37435e642c8618755a39f6296d
      commit b111ab2479b96abb3aa71491732f310376845f2e
      commit 54ecbaa0447af2feab4547befc3c406a63002692
      commit 23764de60e7427a4369bfb0fb99398a73cbeb117
      commit 05be7693d88e8f50a0a33fb09b5a6db90ac2cb95
      commit 5234a266fb5edb4e3127033885fdd4c79d23708b
      commit 75f55c53922603cc3c5dbfb38244df14acde0e56
      commit 5bb53158aa4b84c2d54834d2afaa994a24c61b53
      commit f0c3ade7d59c4f69162d667197124aa7c11036b7
      commit 15c9cdc243b12f9135ba128c5d3ca592521d6c1e
      commit 51d3d62b66e0961ffc9a00db3cf64e9946749c63
      commit d302f8c6b211ea198f30be44304e2b613d310a4d
      commit ff6f0923c6f89e6b6aca6208348a25f989b5b71f
      commit 74c734b4618b5e46eda4fd8ccd7b2519ebb13a3e
      commit b6ce88c98fdb20b308b9a08cad82ff3f2fd638ec
      commit 88178a3a879aa3d749684ed3a322f303697e0c06
      commit f217ac5be6066b6ede09f272dad55cb97d1c889b
      commit 06abc923454c798fc64ce271264e3064495a9242
      commit fbc11c811fc6e5649f9dbb0fed0c1307a9ef0820
      commit 6583baad5f986bc09f9648d41126980b4cf30351
      commit 779eb2a7d1605a107205ba1f2181735faec96488
      commit e8a24888973ecab22d46650835e6eeaec8f2530c
      commit b35a0afc24e15fa1f8ad4c49b960257925ea521f
      commit d614c2d6a5ddbc9f1007c0b8867e6b67fa100493
      commit 037159f95e4851193b5d31197065ff7d99b7ad90
      commit f99fe745f4b2d8bffdaf9c7e2e5d143ebf5d7d60
      commit 3943f10a807e16a676a91810cdea08f8eeb129f8
      commit cd03db8f5fc7e2106a013f9f6d574a8555514a46
      commit 3c9a9d472b533c60105aa6b195db94a38743acc0
      commit 117f927fa9b5db7b918a652213fc292aeea72352
      commit 8edc1f100caa613e4a416d2cade8b37404a545a1
      commit 8d787195b1ec3d97acd4fa36908ec20c98d4b050
      commit 315fdf6f65b048ebab67e71604da222d707c9222
      commit 8d882f912a6d4ad11b0b8c43797e1bfaecda1936
      commit cda6ba9bdb49df76ca95ea0cb198c199dff8df4b
      commit 7c2b4ee399af513296fa67a042f8c4a9a50fac78
      commit 57ec3853da9e170d0207ecd98c6ea4c89e73eb80
      commit 37bbaea3f6e0dd4ec6b7b3d406e613084844cdec
      commit 807c52115d692707045d29e7e461e2dfee04d210
      commit fcbb1de5d73d8286b2daf036ddc023ce3ef4bf71
      commit fa99d247ba6235e9a0f50cbd77f9c9b668d4b634
      commit bb74227f68914cc100aa63b80468e4883dd0f93d
      commit 8a2c7d0d26bb1e1160156e6e87387b1d2f9ae67c
      commit 8cc6ea9f2f6f5e48be3bdc363633206b2d659323
      commit d21b0c46e70b4a7c3413b8cc5fa35ea5a2ffbd48
      commit 836e9186280def8f58af199ef85338cb3e40359a
      commit 079d3264ca8216351f74d0b47856eee76c86023a
      commit 07bdd8debaea56845c86017677f4c5d13dacdda7
      commit 3da818ffc8163c11a3ce5c4a1029eda04a5b7414
      commit 02090105f7a1c5e3a39cfde8c69b008a742c2278
      commit 61629c680736d241d8e17b62af159fbfdda775f7
      commit 3349de94771f1bb51a100ea1e28720304be2fae7
      commit 50c4bf272601db70787718ccd30f02017308bb1f
      commit ecf67b0d3ab697e6b50c5273b441490c525bae44
      commit 117299c5bbecfb90b7ab6d5b076edba309218502
      commit bfafd6ec6425fe3a592050eb01b2d50ba779655e
      commit 3ff64bfca3563127fa267fc5da9e1546ce48f0e6
      commit f03930dd7829227d16c22e26234dac09565cfc19
      commit 1495dc239e4115970b2f46ed15bdd46089bbb7b1
      commit d1b3512a64ecf830edf863afd34da422ff4c95bf
      commit 735c6dbaa67ffd441a5e2df27da65558620be5fe
      commit f16b10c9c2d4f015b52ff7ca4b76bc83d7029188
      commit 6a949c02c7567613e563052b57d8f6d5152174b4
      commit ecd5859a97b492585e657deafca4fb6e9ee4e655
      commit cf164330bbe65070a8fa3f801a575ba20e480abd
      commit f94803cfa3990560d104f5978fd532778b1977fe
      commit 056d0dce0a3fca5434a600372858872a3199e8cc
      commit aed5949f60904a2a23ba595b8e7548cfd0285499
      commit dba8c53ec78a98033390cdcc9fd81e0108398756
      commit d745f6ed8cd28b459203b10dad29fee053b24486
      commit 7da7245078bfd7baf81a73b352213e486b92d2ac
      commit 80ff127553e33470a051d7e325fcf7da7973e7c1
      commit b37abd5be141719e6e8e7cd79de60ac7f36f56f2
      commit d15497652d5970d617bc8b702bd6aa73a09681f7
      commit db089e1810b8e0f5e6733bc30e3fe8c2eeaeaf3b
      commit 1492d6643b112809a115997f61cf144e7b8f73e5
      commit 33c26944c684680e81e09123fb7de8e906e56cd4
      commit 2a1aecbf4051941f21a5c14ad8dbae1fd53018d1
      commit 0fed7b0c8dbeb25ba10c68ffdb49808a8d790579
      commit d90f8e8c15d541578f0eb02183a25db25607d312
      commit 2313f0f49a272c088ac31f49cc7dc0a585cdcaac
      commit 53074778b302aa2921b2da14c4d90f27c80bc94e
      commit 95cf89e630f1901f67e96a9ba1b735cae9764612
      commit bc25b222b40c2e198a6ac3f7d71c36316d9ae451
      commit e22f2c05fd792a98c1913659dcc404f4148ace32
      commit d59ca370f86491bc26344fd3b733e9b11bc7b0b3
      commit 60abc3f22f7965bc891381fd4fcf6860d6afb61d
      commit 25d10ab33e2458984ab954006a71bc40fb3b6217
      commit c0b84d64e9672fde6d035ca529e7704cc9b808f0
      commit fc511365b007a4fd95b197cfe7e33cbf8b2c51a5
      commit 30492c16fefeb13bf877602476a7d8966dbb2d14
      commit bbb62c65ad3c70ed9cb9af6130d20e6679f853d9
      commit 47ae3a4ac8e36bfc01775d0eb9a2c4e609e413ff
      commit 3f61e7709e9e6dae01fb6e9698518423e22b4c20
      commit 4a72dd12bf8696ffb6c124aa585534b9fc1342c2
      commit 7b4880073fd85d02fd45445f57ba1b76cb94d2a4
      commit 2e4cd7955842ad9226dc59e5beb8714850d27a49
      commit 89f90fd49eae30a9a4dd7c27fa4ebba8961bf2e4
      commit 03c11a7da71bfe25e91d0442122694b292f3bfcd
      commit 374ca15a1db5123c0ec2f14a42973f28751d648f
      commit af0d15830148939c867c0105c7074caece301287
      commit 5fdc6ace410a80c7f0fbbafc2ac380c391c1a2f4
      commit b9bf2ef2e50f9d8312ec6ebe01cea239c0ebaa4a
      commit a9c50678cbdf707e75cde81620917c645cb0bcde
      commit 76bb2bfa792ff85b19a84c0e0f360f3bf6e45bd8
      commit a6ce2cd185efebd28aed2226ef0b54451f61f08f
      commit 4043770c14ee12319c5fa56e74ebd5188c1a8da1
      commit d11bc02e2e05a51aa03bdc6394083c4030406852
      commit e090dcb16e3645f2edec74fc0bf3ec169fb66578
      commit d21e7105f3fe6100da9af68d4d026b28e80f9b31
      commit ce82190915b629bd7701fa5c3b3fda510afd079b
      commit 23357b31e55a47ef3ea29277b132c635ff0b5736
      commit 9027bb6a67a1f19984e195f464f2eb78cdcfd19f
      commit 8df8534603981bd173b0d22f6e50ff84eaa69a5e
      commit da5913657f44a40bec1b021699841a1f72883b1f
      commit 482d02d98e00208d117501f4ac4915f8e2db42e4
      commit 5b7c89662802317697f0b62ca3970039d0102233
      commit b258e5469f1fa55667ab22867604b5e52f3198c9
      commit 758bc8b0de32211f0802e72b7fbb825071bc6dbe
      commit 7666c2e5ecc7ba12c7dad5b53cda874c7fc22d70
      commit af88f34e889af967c042824fe8a49cb7916be2c8
      commit 65514f9eaae27936a6c467232ab07532022d193c
      commit dae378e9f5e14dca69319c8b78da41b8fc1a4af0
      commit b14e64a08225076fc26f968f7924962ae9016f54
      commit c45595c340eb7bf6e01fee518d4b55eb34a67f3e
      commit b0868cf871a7a7e68a38abf1b7b5bf4960e69ec7
      commit efd8cbed4af77ddcd3db48f653cb56dda9a61bee
      commit 191d35d7c01c46457d2e46a103ab8323c0848993
      commit e2ae44bdec3d8388e107b464c8831d658344917b
      commit db62b5cc80cd8ef3c055f9a3f6c3b472eb8f4f7d
      commit c0d6b1be20209bece151179974fded20b7e7fa15
      commit c0ef673663747c8eb390350952f9cfa0540a9423
      commit c4b34408b39c21b39f802c4348b3c0a936be7505
      commit e4a65c2bed1eaf46884a1f6faf5b7f7cdfd10781
      commit 76ee44e50a1efe0ee94201a58cfbad2368f3a1c8
      commit e784b06e6d6696db04c72dd43f4803c7f65b4941
      commit f33cb45899df38827bb4a744b9074147df7010fe
      commit d29115fdf5c26d48908b712286bd49fc59ab4ad1
      commit 79f6b1b0885d52fb7b6f6af23981cd564340ffb7
      commit 4bff7c7adcd8d159c3b6505459eb0c5f5bf38792
      commit fabdaaf6778e3f1322a905aa0e75a2d3810fcf90
      commit bab36324d25e41092b48c7c1fd289f958409548d
      commit 7bd116941be06f5102637bd6e9fe9cbd96a589e2
      commit bd087b9f7fe2db610cbca7cde7c4ef2e92ce04d2
      commit 895643092c1e9b40562c62b8593318bb177e3b88
      commit 67a82c248c83ba9c9c2ba4ff25ccbbe358949433
      commit a8a5ee285d34e8a49a6de94adf9070e697ffed42
      commit c7e645ef2136f0d9afd9e5d96e41b77c8a7c8372
      commit 3dc1a6cbe5c04bc6eb6b8b39f859e8e5ce56ccab
      commit 63c7c4747355bc1eff6aef14b5588d6190500e7b
      commit a7cc65951f337d45f7be1bc018b8925249b1bfff
      commit 13acbdba18e12bddca87171ebb9d2b65058e552d
      commit a1e76747ae2a062138d97ff243ef726477a2cb43
      commit e4117383b5ed34b81e1dfb2e1cb50682e0eaa318
      commit 2229385a925114587827a19937920eed470f710b
      commit f75271118d0811444e12b423e65137c4fb6e7d9b
      commit 0f22ff8e7c9d8c24b1d8577b00a460965f8ed517
      commit 5476712ce02acfd944c905b517d666047a9b5983
      commit 105619663933a15b73518fd4d011d22f1ad1d168
      commit 199292b638a1ff6a83e2560d9c82fcaabb5f0394
      commit d14b4a1910ef24f59ccd12c0492a8d3850f52cf2
      commit ad0a36645df810427c711c5e72c0609fe6d6cd70
      commit 3a81b5b3915a8c48de17136a550e81994e7f870f
      commit 6ff1a8e3f2112086706c9d77c07f1b96a69e5d9b
      commit 01f93b20481f55de776ab17594cdde8dab8f7042
      commit bf854ec5c6dacaf0b12f80a2571d4cc26c67221b
      commit b76c8ee7ed4ad5418bfdd974c632bd0cffb115bd
      commit 693272a3bcf39fc5460c508520a77a688653a7d3
      commit b0b54d6f018197cc7d90662296383b879ee79c25
      commit 1b0526618171e0db79aac7bd12985bac2694c78b
      commit c7a38c968aab5b31a0b632c9fbbc42e4cf024c4d
      commit 5c0a388148735a9a1f49c5d6dc9eb3c0c04368ac
      commit a1d8b2a00037808dd785174aca88140a89e3cd63
      commit 940f81a22e04ffa12cafa2acf31be49620e1a130
      commit 4e670f8458c2f668ad6662580c9c73ff34ea8128
      commit d93641d441cdd5403a69f551b4d0f331eb7c6dd1
      commit 6edd4ee840739aa2171d1818be394d3b3c533e40
      commit 5647dc3142a4fff2b6d25f19c120a045ef51860a
      commit 689f8731f0be3daaf57a97c3f2aaa3d4343df1d1
      commit 179d480772b34c2555389bee47274a06f5b60d6a
      commit 5d652a5baa9b269118004a8469070f1694c9416c
      commit 145854cb4849bf318ced09f18cb8b785e40e0262
      commit 0ba0a21a645de3e46225e87153ff974cd6abb92c
      commit 85294a17d0b85324872dfb1a443c2d810ee5e1dc
      commit b3962285027fcb9c948d64351ccc915b42c285e8
      commit ee98c6de16381649019f2edb048318f1b425e3d4
      commit 26de9888b1eb31e6359757aba6ad3101f7e1e15d
      commit 09912ad00926490e7638ed9fc7bcf06ffd404cce
      commit 3546b5f74b37e688d2e0bdb023454f81544e7565
      commit 205b9788be1774045fc583273c1dcf3e4812bdca
      commit 8bb75c643fc8904256abe6703c1d23fca82296ad
      commit 93eccb5d0b4b9a988604736cd187d2fb757db3e7
      commit 3853d6c04fb73c7d694d57b693edf70b4fa8f06e
      commit f92a87b6392324567da22c90c89c95f1acdf3ff9
      commit b2b37fb1e68f0b154a33d3ff9acdef843c58a250
      commit 60083d2a9f509d61639e216ec4648faa36a6dd42
      commit e27fa090111f90d83563fc5cc49e5bc251524819
      commit 2c4b9f80bd0845ef5d732ad5c03ad1bb797d8529
      commit 6ed512ffe9d16bd33aea6470e08b3de3eb615614
      commit 324aa63801b8fac41f07d0fa1a1de5946be2edc2
      commit adb571a72d7fe538f4aae96a6a4c4956eb768848
      commit ed9297f1d9701a40455f8c84a6b4ea73e3c7ecff
      commit 7e488c3ae3d1225f086e7166ffbb5e8739955aea
      commit d516461e64df1f598259447ed07e551dab5554f3
      commit 3cc3b5f11cc17cfc6af223cc07994db669867288
      commit abb2f53cb6c8fbd32a4ac991db6767d71359458a
      commit 46024a87f598b30b05153461a657a225c9229b8a
      commit 21affb02a260d2368b3429d76139d16246dcb8ff
      commit 9303b6cc5616059e81cc601480d660eef66b29da
      commit ebff6589b12db1b679a93da9ac4b7a8d150e4bd9
      commit 439f678d8836ac397b7a49b09ed0400ca6198257
      commit bf36642b9fca6ed63a3f8003b23a4bc87ec5988b
      commit 9cc3a0511d2266a2257383e35f27eff914d65aed
      commit b3d72814e5bf9aa89e2cb53ede3a383f540f09f2
      commit 5ec6ce29acdb07544dc2e616e7bb98fc9c8f4c54
      commit ed820d77b96aa6655a989a418ad1a307b0fccb43
      commit 8afc9c2b4598ca168f44184c4cb82453fc604002
      commit 06a96bde8c7330aae95c25acae84a9d4edb3e097
      commit 2bd68567bc3ce3aab55edfd6dd46fdc6ce3f124a
      commit e7180c29b5b6a3dc0f192c856247c7ea14425d3d
      commit ab824e4b79a9ea0c4fb99f1da2462d32f312a475
      commit 57b78969ec85b771b0aa7fa6a1552a9c5891b699
      commit 9d3bbc05d3bd6db3a66ae017d5bb97d44f19852a
      commit 4af1ef463e5f6373c0392a8e73d18fd6d36d48e8
      commit 2f47bc7a6b55eb555218f6dd0bc1cbe8d332166e
      commit 2b671c88487c453b9c32a71c4b24d525c5bca4fd
      commit 87d5ddcede905cb71a692a65a2ca8d258d6c58af
      commit 170cb0c68598b2b6aadd11ccd267ea324135a0b0
      commit d26d4c1f4b06e260bab6aea68fc826ece92c8a93
      commit a43c60119d66e04042ec8bbf65fffd093511408f
      commit 3bf44c5fa9b0a0a802f35b9e1cd5096cf36423fa
      commit f43c238377fdf2c792e32a3d1952055f75ec6e51
      commit 8dfec9dffe0185eb45da7d6fc6e813897a3c1da0
      commit 630d88a0d5adba6a07426154ab29932247a429d8
      commit f21093b968fb76bb03633f21a2b91b0111cc6980
      commit 93a2e1d6ade8a5c87300b45fb7ec9d02f942f9bd
      commit 0a87fd57f11497e97d6a8446fd93ef33c068c39f
      commit 454c7570d207ea758797ffa6e0be65712fd407e3
      commit 33eb54b4b7bb87fc564e2d08a557abc05fc1d0a1
      commit aec91e360d207e49a1896bbfc55701579942e54a
      commit fa17828fde695e178aa15fefa238050ab6fa6292
      commit 2d6c2a8438b93f6d52a8e69aaa81b69fdaf27cd4
      commit b7d7b0361636ddf6b8f867380803d449b21373dc
      commit f3b24dde68f5dc13744db0782dd807712dbad369
      commit 0dea3c1d20295728045be4cbc60aa8bdf3e77339
      commit 7ae10b6859a9eddec4ee44468e8904f61073c7dc
      commit 870fee0b00eb7df2c5fa45d2bdb6a278c3ec2d29
      commit 7afd03a0dc2392097645f91ecb8e0b8bee7b6654
      commit e7f06052cf1512d94f7e55ed5d9df92f4985bd0d
      commit 4ee753194297f92e9c03b33fa4f10b3c47456b9e
      commit 3abe95ffe2d7fe19207dfd507578a2b457c32449
      commit 3147f74ba61b21b50faaac73370f9f1085e9575e
      commit d213608e5e8d0d02ed477b001193255e55b9a869
      commit 0b30babbc2fdf098ea963993717e4f064c25e7ca
      commit 8e055a50f19747256bf8bc709e85ffc96aaf8d99
      commit aa89283b518d421969e46b4ae9e5ae58cc12ad26
      commit ae70f66d1ee6f5745e24a59d14797af34397b0b5
      commit b51f48ee53c4c40b4e14249a9209e6b53d5498d2
      commit 989968aae270844f392157f50e7a12fb71a93212
      commit 0580fb53ccdea2c032dfb489a5994b70c4237f72
      commit bd3aa159d82a673379afc7a2ffe6727a21dd0d66
      commit f640752d286acb747f3135fa5027770c93e7fd21
      commit 561ae3904b7ee9c9cd7e49842738b2c4abeb7603
      commit b0e2d1c4774b02dd4a2efc7c39f78fbe535e95ca
      commit 8debca9199c7f99bb771f226a591c54436717336
      commit 97e5eecdff82514759092d29f6ed487c3cd243f0
      commit c17a1ce33207218eefcfc4618e35ad9baf9df264
      commit ccd36d7c6d1a17dd6a1c5d018b71df507af337fb
      commit 55237a2f79e099f5850bc96f070cef63ff6778ad
      commit 0be9463c9bc5182d2109b6d047235bf23574ac48
      commit 1cdf3afc4dc9d8aaab6346afffa74043e09d4fe6
      commit 29f385a0b306f6d6157abaf6fc5dc985177d2b51
      commit 3145a0a747451ae567d4f89c91f08890c2362f5d
      commit d715ce54cd14eeaf62411f1f4bbe6479b951385f
      commit 17bbb7bc6c1512c2a682d3c9a2de7016b2bf3737
      commit 0013410f9372ae17a91287a418d5f28ddeedb25a
      commit aabf873550bc96b34691ee63245b58e9350da88f
      commit a1e7a166127d020d5dcc77338cf2d3f5c625efb4
      commit 63b9519b8677eae1c48d7cc72a63337d61ff0e68
      commit 01a36b1752506fe16462f9fe3c8401d6711a0dba
      commit 826236eac8bdd7655bb2efe52302abf2badd2852
      commit 38bb8dc90fd5243c3a4ec1700da999f7a4627bfe
      commit 367d8b97f935c6fabecc8fcb6d194c5236c00512
      commit a2231b6d3369192043d48d22eab6d3997331df33
      commit a7fea275a60d3d9d7cf5e8cc0247804b29f829f6
      commit c4e3a197c9e875d473612bbbef7e880ef13c595c
      commit 2a87a0fe484446ffd7b7db8eb9efba78758a7f56
      commit 1afacc41cf589ae4a723c4aec4e7b043a219f0bb
      commit e242f93aba91cbda5cd24bf48c0fbf0705721aa7
      commit 36d37a7b4702a8c4000d450a8a64933bcb391883
      commit 16fae3f325d42ce04020d132682e05588924f226
      commit 4f095fddfdacab7a126fe651d429fc5a06236129
      commit 09192a046a852a5c026a85803071a3511c59fc48
      commit 8810e2fff9abebc8a9873c1cd5aa8801adce8665
      commit 12d0a5ff652c01366cf86d3fae39bd8532e61bf3
      commit 5b5af134de9cbd0992c6f94464119aceee1dd203
      commit 1ca456b60b05ff03f74bf356554447e0faee55b2
      commit 2f21199c3da29b103ac9885c3639532c3561768a
      commit 12523d02ba0234b06ac935e4d45ef375d43b983b
      commit 0fc77af02257c558eee376b4878831de1762f925
      commit 9100cbd7b855a26bafd382b1c052ace61419317c
      commit 9d632acf686771646b8ad9ecbdff2c58d9d1a169
      commit 5120512ad56d90d8addfb2f4f281dfc1bb7bcee6
      commit ea564d33e85be2f53de5ccbe6609818d881a38aa
      commit 9c7407bf34e3d85e764c70744ef9c0f8ba78e37f
      commit 94ab9e9ab66ef7bf92708bc599acbdca3c492407
      commit 7fc7719076d67c50c8cb6076a5785e00cf1d2a45
      commit d6a422a3bba98c1afb579f43aabe6f1e737ddde6
      commit ee8d453babd472334287e4d8cbeb832e32cecd77
      commit 9d10dad1e7571e3228df649fdcbfb8910773cf1d
      commit 9e55a7746a873b5736dc6f096ed31f6f4df07211
      commit d82d2fe4d5bc7bf7bd0caa88f2ebfbd985c319a1
      commit 5e45c01756bac12d256706af9212a9bafdebb982
      commit dc9ad359a183067ce640b697e69692573d38faa1
      commit 40229814a3e7e91658863accd60957cbf69bc8ed
      commit 766d854026abdaab70d042e8f98ab843d1c55b6a
      commit a0a801ac3e39c72a2c351eea134e619d5ef78e4e
      commit 4a9a55ccf9b8995a8f4bad6029e2ac6e1a673986
      commit 1726a905b1941dc4f754a1e55a2b47fbcffd9d5f
      commit 63a22f2d6e6ba487113d7c7366c9d7301e99c21a
      commit 0fb5a038efb507eb28966827584ec2834a9a5516
      commit c1b32aa3136791bf577e5ffc1f54351008cd6493
      commit 249f54051acc4d6da2f0b05632a9b220e5685083
      commit 8a5204a70dd5b51e7ef034db87cefa47b843fe73
      commit 32c416697acc565fd2130bf3619da6489755e940
      commit 777b8b0b3f264fe2cf4a7a1c3c63ae6f33b36a31
      commit 9af9eece1670e54d069d7bf290e3a7a091014517
      commit 13b94ebbbc9b7076cc3e533916cb1272492aaf0d
      commit 152b2b0c55f0bf6ebae2ad17919dd3dd864c6fbc
      commit 2fd42c66f229a1f36ec5b3429b0ae6ec5b7fb1c8
      commit faf1c22f9ae905eaedca5cc0c2f516b326846af9
      commit 068f74cc617edaa3c102401389a770e310ff4ede
      commit e65e14b82110b5cbdc3e1cb7440afcd34056f5d2
      commit 0af56bee66f8192a259ef31c0fc39223e5a568cc
      commit 1a00c8ef16feda1d0cf6a2b6444fdf3125e334fc
      commit a87005e9c5c4a5b93058a9cd06bdd04babfb63b5
      commit 4aa738de494dff7ec7a4b7746eb666034730c0e2
      commit 7c642fcd46bf3592326ca50c06f20f4506f3d261
      commit 416a39324e35b65cfcc91cfa851ee2a4f5b04e9b
      commit 6573e0f136c2e1ed07abb11ea90b5c44b3e8565b
      commit eda24841682558ab1584bae592effc142eee050d
      commit c6f4424b69862544f11b5af38c1cd664cc147007
      commit 15fb168b31528fcc6a753cb855db71faa7902d1c
      commit bede1f60460f413abb060bbe02cf4007f4a040c3
      commit 3eba517949dbdfb14139cea4dbd20f0a81dfb38c
      commit b8b20adfc7ecf0a99b72bd66afaa22dd2841ffcb
      commit cacdf7cc011fd4b79550b4e3d1c34dd22d141911
      commit d927c5ebb26db77ab27789efad028e235e935559
      commit 9516ccb0a13b19989810f2f30c9d18857762fedd
      commit bc737c4de24e9b9729c16d24c650082477dc6502
      commit 9ef0e6c2d53ab1a5af64faa04c18fe13daa8661f
      commit 6557418182b1f68fa48f3addd598a23f8bd69378
      commit a23e1a29c5dc5d4012a958bdfdf745c70c0641ab
      commit adf0838d51663c5b2e0252b32fe95fc1d7f1fe69
      commit 856edbf6896a03c35e0a79b906430bc98833f490
      commit b88420a36e16663992ad841e11bfc1a38abf4608
      commit 336474878c7d4dc82eae8bacdbd9f1e1696deff9
      commit 42b5b17562986894bb0edb5d8f2c00662e6553b7
      commit fe45c52452ca0fcf706a06d106f4c2967dc8daf0
      commit 8358aeecc7e920638b063222ba4c614c47d1d0cf
      commit 5d30b5afb1a0389da19b05920a5711fa175cab27
      commit 1ce1487156bda3e3f37728544f135a7c3ebd0d83
      commit 6121a39df161a6e48c3248372fff9dad1bd343a3
      commit d6b130a844e27c290779ac99494f54e54b86fd46
      commit c7dabde9a9d1b904aa23ef047f9bf7a109c99d80
      commit 875b53c02aae9a46df72dd17b32d184c7578a6f4
      commit 3fbaaa44ab7854f82013bbe0afa7c94d12958bac
      commit 9cff100e2b17b64441fb65066f4b56b0349ba3a0
      commit 9ed53b63e1db83a04c3afa8ec02f6ede75cc9ea0
      commit f080754c2586b1dd39443b94d980e1f5f175246f
      commit 4b6c2c39d9e17a641ab2a1f5d02271304971f3c8
      commit aaafb86f4470c6acdfe4dd2b528d75f572bd944f
      commit ef0b8738ed31df04ba373e47c169853f71fda5dd
      commit 79d77fcba92301e9b10e6bcafec0e2488bb80436
      commit 02486944b46afeeb4abf810d5de285a6fd237bbf
      commit a82bac5a5217a42f3eb2ef59d346321f4f78592c
      commit b299218066a35f3631b1bf25db88e0ddf0a1e4ea
      commit 208f199113fbc22cb84fd879e86e0f914ba68a83
      commit a7039a093007a686b2a030ab1afcd3eb13f8bf33
      commit 99be022c9a9ca70abf004975e9616eb22bc75c84
      commit 78ea59fe6620830393ef7deac5794276d020c189
      commit 32b761fff7ecf0893e3fcf8682e53da8d49df826
      commit 2d0ab8c266c5e932ace079f0692cad8b7bdf614a
      commit 63f147f42efa956de3a176c2ae4e4b77754db296
      commit c77417526164b5410781b96ff5f9687b27371733
      commit 34de381cfc299022d150bfd725728a775999fda9
      commit 2e2b5d601d30b782c4094a996716940eb9fe5176
      commit ada622838898db08e371e23056c6884479efcb95
      commit 07c79d9b37b3957766321e256bc407b35a75cdc1
      commit 9342b95518d6a61bd859d51501cb1698d7c27e92
      commit 53cae8db56c9637ffaec514e19a1c7dfcbfca824
      commit 811eac38865e852dd906d1311421ef32e0f08ef5
      commit cf3bfdaf5e5423d22e4bb150fc8d25d8c672d9b5
      commit c6b583e30104edd68b875c097b994853ed7e193a
      commit 08f4697781904f24625d49681ed77d4ec15bad3c
      commit 5aa4818e38069a30f5fdeeff0aecdb5e34432070
      commit 6eaf1bb213451def74b67a696c88a9ccf331a77f
      commit 84e45bdd3e22f675c44a13127762fdb5624b2161
      commit ad43291137f68b2a704fa403a62f319c4e95aa27
      commit 0338a1df2069dbe0ee11f5669fbc15a81075f8b5
      commit 1ee4d48d569bd51a61052e0fa6fc9c4187cf33ef
      commit 3ec56e4f48293cb0d86a7c29d53f74891ccb7ebb
      commit 170a1b068e11d421d11f795e36b62b16e6a66f56
      commit ac69f520e8c88951f34f48f6a319114fdbf41cd9
      commit 3ae08c385dc316d9dfaa38021cccc8c47c385313
      commit 8ff9e5575890f99c9ea22630a3c2125bf326c091
      commit 21c4de5473ffff5075dd793221a32739b23fe22d
      commit a767434d668fe74225f0b2b4d53196ff61e53f23
      commit bd1333a988dd90e6beedbbf88b8a1ffac9e5f341
      commit c7f543751e146159404997fdb5e9d21a19147723
      commit 7935acce6d3d72ae3041ceb17dd7adaf55b97f84
      commit 588449fca3d5ffd55eb2d1866c58f7a679e17171
      commit a2723ffdb059d60e1cc5f002516603ac8e8d518f
      commit b4882a4d7b95775ad29a453d8a6a9f5f258317c2
      commit 65bda763061852931ab378060d1ba02a3206c700
      commit 77487a81d124a3cfcece3b6be11c2bd70e7798e2
      commit 600ac54182874e792ba9b6d5663b54fc47687f6b
      commit 7d4521cc0a7a9bd7844665466e41d8e47510e63a
      commit fee9bc0d4c527ed74c7a99802e6bfe0945d00abd
      commit 40056dbea0a2dc25f649cc5ec7b2d55bc04f4614
      commit e868c255403559338153c368055a167f3a40e364
      commit ce9260f0738dfeb6579b1f06ed0371d5de5fd6ba
      commit e6156dc2b222c682c1794304c82c2218914488f1
      commit 757cd35f4b50ecf3e648861a11d6eb20382a039e
      commit f20bc44438e182b3d66a44dc2668a2de58e0f2a7
      commit 5bbf597b1505652f30b397c938610210471b28bd
      commit a2cbc575c201f44e2ecc631f53d56dc26595322b
      commit 3171d690923d750038a4c0bf1dfdd28629e029ee
      commit 7ceed993412a6d0a0c0ce4377eb8c4d05147b9a5
      commit 38176998dcafe1b9590386e699e3ee6b1af4bd59
      commit 815f0d49b6a6c962319fd1c8eb83e0103c044c5f
      commit 074c8e64953d0f62f6fbe9a42d1a29f46e1036f9
      commit a27a65188d26c8ea009b1ac466d8273d3e266e76
      commit e7200c6b7abad79041a050c9e4aa508d2e25912d
      commit 75399a02a5a03f0ffad92a0473e0f98aa10ec113
      commit 992ec1de3162538a183ce3d588b0bade7b98ac84
      commit 5f63116057c39e82e81cb0c8914390bc94f2e4d3
      commit 4b8acd1c53c5148bd275c5677293c56d54c02c9a
      commit 26bbc2f49fbe01436be00fc74b03ccb3ee4be737
      commit 661c76a077c359aaddcac06444ca827cba940280
      commit 3b3502bc063a54d6bc01c981bd50beb46ef09647
      commit 3e857b89921e963dc95168a1389f91e981aa59a0
      commit 75645ef735fce3a86e2b376077846857d3131aa9
      commit bf3e36d0a41f569d9f4b88f68393ce5148e78636
      commit b7bf4518c789d71b76f9f78fc8fee6c8a5a52ac5
      commit 6e2c6be33f29c21bd6f47486d1c28c630856843a
      commit a7078cc1c60032ff297cc44a11b3ff7a61739bb7
      commit 555ec3b9efe0cf018a8a0b41c5b55ce2b634d0b8
      commit d05a488282212de95b21937cd72bb7ba06bc5305
      commit f515b272d2c6470d22f1bbc5a4d3f30f4f1e7d1f
      commit 866b57c8127d9c9536cbe370b8684c873cfe95b5
      commit 0a375c1dbcadf5e8857fed91b64934421c3064ba
      commit a72d6318a5f778c67c6ef9491f1d6315fd070aad
      commit 5f5378f8eafdaa7b025c74c266de79dd7b7e1379
      commit 57b114b5e24dd3aa790e071f857c1a545ce06936
      commit f887b8238832d0ad2222f5686fd70ecd17337467
      commit fea0d2e1ceff98250f329315a59521b981d4a292
      commit ed2c5a43d3ab279dd97f399d9ded4b299146b227
      commit e919b99bd753e752981d93c90b1427b1e08663c3
      commit 6948564c1f0d91e14741e04f17bb782b94a9cbbd
      commit d24421cc5d0b429f0fef385fddd7c6f34e9c1e33
      commit 84057f3d60d475f2c9e00c6dc3cc7ec8888a18da
      commit f5ada1faedd68f13a940b50d17e0b23bbf0ce623
      commit 4b3a24add97ed10c153226c38af6d7b2aff54cfc
      commit 445eb0b10458c07c82f51c1269ffff576bbc637c
      commit 97008c8eabcc5e65d9bb650386c920937b051c13
      commit 566e09d885e79654d83141a0a13593069302512b
      commit f5903892bde102d3d7d021541824f4f1ebf89848
      commit 3a263d6137d44d6baa5b9b1771a7ced1faa32c6d
      commit 9be39b48ad2d070095d02b0806f4a112f606826e
      commit a098d15af05d6a7997b3eed4b112a3c22bb4f7bc
      commit 6bcb4558b9b9b42026e664d199a8c8a12be3b048
      commit f9fdea8d0df1f5a34e9fbab43c2d6f9e47d115fe
      commit 60c09c766a441a00cd3c97a72f3122ccd6a380fb
      commit 938c4b3e0571f7979299e1b1adcb6ab90a39374d
      commit 166899027cffe6a5ed09cfab5fad2d5c9d2678c5
      commit cc4f227fbc4c7bf679d02d99ca53439271ee2d3f
      commit 753670a7da2025e910993eba22a363311926bfc6
      commit 3f16d48d16d5da95614cadfe93f692a52723f608
      commit ab4a4fb6770b86a1afff45de3c1831e9de762c95
      commit 4768d2e5fd971ccfd853501ceb94b091aa8261e9
      commit 4aa623d29abb1b2bddd17c551b10ec83010e6ea9
      commit e280f9b8fe687cad7194c84f7587971d009c1f10
      commit 65bb8b4ed5153d987f0457ecb2b1fa8d96a3f72a
      commit 817a6217ea92b5a115a737e881beb75649b5a271
      commit 6b87fd2b052862a95fcc03e6f32e1be891a20973
      commit 378cb6dded6b8b09b6a24dee5a3c99d0ff0a1f11
      commit d146aed51aba96232965c887bcdb62dd935e80b7
      commit 4943af09e4b7985a08dd62852df3956692a0fb35
      commit 2526bb6bbb886200b76486a6457f14dfce0d6923
      commit 555dcd3b37a6a52f6627ec17e263870ed52b6213
      commit 4d8e301561598675ec780581fa9a9eade4a7486e
      commit b7dbb4f412c0cfa3ed02d98db17d1f01ef7cce3b
      commit 125d4d3544d4832167ee1daaf36d3fb5329d04dc
      commit cd06ccf3f56baf90e3a57d7b859d44c6cd6fedb7
      commit 437ba3892b402c141fa93f31f95792a69e30506b
      commit b6599393133126373d6f0185233dd9d64d96f7b4
      commit af94a9fab4636150c71a588285a96934a207bc27
      commit aade2094b63cd97d58d5f688328385b5ee50ae8f
      commit 9c1adc42ae5d987e1625b90d4efca537ccc8adaf
      commit 85e972c460f111674e82c808c13c016cb717b343
      commit fdba3f4c6402607016457d1c63fd08ea5c7862f0
      commit d1fbc8cba6276432e0362bb0fe0f61ff4156ac27
      commit 30d57b5f23456c634e819fa00683e397c5ad648f
      commit e7b57258e6bfade14ff4b729edd689d97d465f47
      commit 21655057dbd2fb59f735cf9c4d7e4cc62aaa2125
      commit 47ea93e894bed0fad57fb1e55b6f44935d4114b1
      commit 424f749c1aa667d183efee825d4b306fea8762cb
      commit 28cf664c182b57db6ec6c3e71665b1f0fce51bdc
      commit 237fdd16fd8c7d933b798258519a627c34929456
      commit 373463fe5e21a00d240c735d28004ebe4aa23218
      commit 52327d3fc51444629e1f8547a5b5e53e93a08f9d
      commit 4dfd34d6633d8939f9ba3abfd88ffda98d5fd088
      commit 6330b8d21a26511aae10473ffe8ea4f641700117
      commit 79c7b949248a9c2ebd84809ab60ff4b4d40e9caa
      commit 38f0d999eca7a2c303e841819646568e64e4d21d
      commit 7719a3f55a801661ad097d913b347d0aa4d424f3
      commit 5f58ceab7e7bfd96a0ad97f96c1ce0149abbedef
      commit 304545c2df1c176ae23eec233c63703e6334f8d4
      commit 6d1f5c140e4277135db2a1a2d5259fe15f2235aa
      commit 6d4aaebc9f60eab71ba34921631bd320c7220e8b
      commit 467b0ea92c4cae92f398872edb5387d3439065c9
      commit 70c18354dc55ac8545b54ce2ad6a2f4bd30e7318
      commit 11cc87ee93807990a901401dd841723c05e09626
      commit 11b691e5ba08ce1c430bd3f322b80cebb0a652db
      commit 06700889c0d58eda3e3248e8b238db718d84468e
      commit 6042931fe291eace84ff5a94b8d1223e6f106b62
      commit f53a4989a02af7c0045081d16c482c57fc5c2aa2
      commit 0697c7ce1b41a510b096f5b3db51398523f4284d
      commit 9174edf0717671339a499ec8ca5ba0112be5f3d4
      commit 9b8d27eb67fa836ab6a374cb26e866aa7c0f44d3
      commit 141c8f65a83259a2f3c668e68190d09b8bfebf1d
      commit 84868d6b7de1a88ad7bb7aa1d2782e62204fef84
      commit e6a83e355d6a00f2c84e65a07ccb3a0f883e9873
      commit 197472dff697151653da4fda1e4126e2a401009b
      commit cf9fa704bcdca31e45caf9f5db7a948b93b939d1
      commit 6a999c270c4417f1e1fc12ea2136a755207962b8
      commit 4d951246ce10585dc3dc73df7da911cb35f94ccd
      commit 0b0d5a8807780a9a94283a061a224fdacce53d9e
      commit 8a5ec1534aaae4508f9d2e3ac4d41658962cdce0
      commit 5fdae997a946cfadb993c50ea5be5764a99fe8a2
      commit bff201b59b560268190c08ce7a34180a82f765a8
      commit 8640178b06da5e7398b181aa6987d1fe63a937ad
      commit 17c7c93a9254914482b0203707a406178e5384c4
      commit d52a005451460bc5364c48027cc60f86b3003e0a
      commit 5e93ffe950b88b64ba861fa6bfbdc92931903840
      commit 8ee757d8df2576a2c8bcd45c77b72ea587a179ff
      commit ceb0abff934bb8f1435044b92e007a78129aa064
      commit 29be8b4c6cad2237dd4b103ddb55bb88f4a84ea0
      commit c47bca527addc7e69a69a3b6692a6cbd34d1c325
      commit 291a38b2b6244d01cdc215e35ce5b9d5e2f8ddad
      commit 97202f48a117c4a313669dac1bb6a4f6d7f0ffdb
      commit d73dc7bcc49a68c8921a29f98f17769e7a222ddb
      commit 0b46bac6ccdf17fa8fbfb1ddc2141f102d6a0158
      commit 1e84240da0c72354f030829df121153241c85a87
      commit 84534baaef1e76232493a95a898373c348ad56eb
      commit 57edf184d626dab5c729bc0f9d2075967afef0c6
      commit 1cb05a8e36ea3b97217b16c755d1b5149f687f99
      commit 89db6333560fddd283e6a604e3c9c96b88a2ade6
      commit 9a2a2ec6b170c37578c22fb9bdc74c5d5a9074a9
      commit 49b136930a5befbdb002908a720d1595305c7bb7
      commit add22c4c4b972876c7bc1e09beab06eccf7f9445
      commit 6de4f47cf4c84f2c2f1f2c53fcb46a868ff56302
      commit fc5d18ac466a3b5628e2470935137c433304cbf0
      commit 6b52876a3712cd13985be86cc65fb66d14ababb9
      commit 32b770a4a24cdc01c01fbefbbab77882407daf4f
      commit 0d100826eb02778141dc83a8ad36c0ed1e4c6a4c
      commit 054005227da52ffa1301b517106f589d3fc3457a
      commit ab58fa60991f6e4c27c3c075b11452696a1bc733
      commit 99da466e4dcb6af3553955687528223f6bf0a743
      commit 3bec9fc786704f51308420e5692f7c6c12fc1c53
      commit e318c28dafef841743f97079b3df201d923a90e5
      commit d01944aa4058b5c92476cc73b904bd19ee71e1d4
      commit 85f05791ebe81aea5e6f910fa80a3e45c3b09cb4
      commit 1cfefbf147b03853ddbf2ad0dad08f5dff146888
      commit 2156a18e67c017f4986ba50f7cb5c9d9476c3d1b
      commit bf892cc24443f2fb7c59283cdf75f819c90f77e5
      commit 1dd865fafa88b0263cf003550d22dc67e141cb3f
      commit 90cb9b92dce721f77545dedbae08e26bba096cdb
      commit 656070ac072360c6f9d02ceac328a5573bddfcba
      commit 94c18ca5acd2ce6d250042b38064d6b70b2647d2
      commit 3cf7f09c8a8fb75e38e9c58cfaf4b2ef12f77af4
      commit 9df6dc5a15d03fc4b9bb7fb998129624ff67f7da
      commit c11eaabcc3797224ba100b7f9b71be4dfe7f4312
      commit 5dac959e70fb80643d3fa6ca10f8a16bcf1e36d1
      commit cd1f7265412540dfc66197f8ad0cf0901b92aadf
      commit 2640317ac71c12f62507e7efc85fa7b4cf72f56b
      commit e4f883c3fbc1e735ece408abbb237e3e60c98af1
      commit 2320b1816248461d6c5b8051feea7f2cf4bd14a0
      commit 1a1286ad5d078100a9f68fb865a501c25a5130cf
      commit 27fcfdeb3d313b70a35419a629a56d2a2812db83
      commit 7a925c9e8831796de0e2f62f0f7e8ef5097dcb7a
      commit 6de0052ab498890b0b1dc5749663c84d73f7b247
      commit aaf45a7d795f9a81c7a314edfe2907f315b7e247
      commit cc0cbbe646f4125d4daf21d7ff8fe58ce3bd35bf
      commit cd1ef63476bba0d9269a98eb2eb4a72ce5effb55
      commit 9dbbf921fbeb2132cfa37ba3683db51cbc454c4f
      commit 9103703e210840313b6fe3166083c8f31e60185d
      commit f50aba26b2c9a2cbcf0debbc2434cc0c64017261
      commit 44b8e62b01efed29efe391652e402aa4ecb83c9b
      commit 060c924da0065fd0b7aa5d88fc976d1179db20ad
      commit 9b40d92d758544f931e1689df170084320889e57
      commit 0130f2cfff53e3bee5563d8952d6c045063fc103
      commit 782a2de39c1f6e027ac05150e051729883082ca5
      commit 747ca078c559ec1c82e9fba9329bb956eec54258
      commit d9c2dd657f03e7dc93b2192fcbfe68fc4be2af6a
      commit aa26bf5ed5071476d760a222e5e73db8844fdd65
      commit ac72fa266bc67d37d6845aad6c7360880c37c39b
      commit 1471f30af409480e67355e323c4121db779ea983
      commit 65a440e0e228f52a6740d42a44ea66114aa7d8ef
      commit 25b7cfc7360c5267174adf6b4df2b756d6710a8d
      commit 5a49d81ceb6dd8afa384744b62d5daea4cd18f9a
      commit cfedcf3b3e894bcddbd49a7a35d6a953780fd292
      commit 3076ad45a6ace26a8f0b9925926a36e9236492c6
      commit 48b8a7b198584824d37cb72c8fc66c4ee12aac84
      commit 9be08592f3dbaaa20d7888d557ae68bfe1a9bb19
      commit 2bcf4e46989055b7f418d04644f5b0f8854370e4
      commit 5c2e3a5ee32bb7f00acaf6e4ad5254afbd1bea47
      commit 9ae18a7d2c2ccb181aa6838a46ac3c363a4190de
      commit 433d950b70035ac0daf167e156bbd0e10acad72f
      commit 12ee96ee507ffe67bfabccb6472b524a53e95543
      commit 698afa8b5deb8c01a2ac9c0baa9181a613c1723d
      commit e88476d92ed8e727e7b07f799889d41c23ef586d
      commit 855db41f59a273b98c9df7943fab1a07b26e7b58
      commit 162a40eda9808671be9b8a4643e2911cfb1c54a3
      commit 66f14497ee45a07e8a79c8d20c49b2c2be1829db
      commit 9509df1a53a7411914601958d14b3370408c7c44
      commit ea7fc1fd62fd65f5a94d77740aebc3ab8e3ab855
      commit 8c761f6c3633445797ce806067c1ae836956341d
      commit c95a1c8d0fa2981773c9491f5b22020f3cc2cef1
      commit 964bdbffdcfbf4cfba645780a2f5540ec16dd20f
      commit a164288b443792a75288047546f31a44b30b6f62
      commit fc265161fae58f98610d06a8bcce63656b335088
      commit 1228a256a51cf742556f6a63fa800e7af0f58f2c
      commit 2bc776417e27018d43358f1da3401047043c275f
      commit d8b1e2f33d92ef3e8f9c39bfa3d5eb73d6f48a7a
      commit 282ae1abe097a474dcd73498a3e85fd465da6af6
      commit dd0c347f329d1df6dd9e6ae6cf18318904aafa8c
      commit 5dc7d831e62f2c9ae28aa839264dee4684614ff9
      commit c720a80eb39aadf52570c504bcb77d39e710e701
      commit c536d012966946277f8fb4376f198d4ee33dae42
      commit f7103828d081321257de4ada70a889b6018152ea
      commit e2574e5a9bf50bb8e83896039f953f80762c262a
      commit e726150e71465cbb9b92a7d4b5b1f287453c9a52
      commit e5df1d6cabc5155848df2d3bdd64b393fcb73959
      commit 51dc3d626b61c834791e36137d6a10fc2431837f
      commit fd8f0380d9e58e43806ba36fb3819942f8c35a5c
      commit 37118441d515e999ee35aa6483e72f1e0d7dea5a
      commit ab45c1880bef90e535d4e418d55dad215962baf2
      commit 5e05d2f60e56fb8fa9429f99b37490f4c3b76b4f
      commit d924021d80048dd2dad80816fe1a8a1a02461676
      commit f19fb3d4fd9a5289874db6bd857ca77c7e9380d6
      commit 5efdd7bfa0220179d1debbe76fc39b7a62f2ac31
      commit 80ec8f907eb039977a31afd81ca2e0b39bb244ad
      commit d72d05778f275bf2c9a6069278fa8264da09f2ff
      commit 940c6b8dc10005947682c50ddc22472819632028
      commit c00b937f92adbfc71162dee0a922e7c58dd88ddd
      commit 9c8589193821d180351ee5011168e3f9b63f808b
      commit 484a23a04cd78863d7418bf814ddec8a375ddaa4
      commit 523a1ed2e32069b675ffa63583915ca76f57e289
      commit 399fbc1faa2281a00e9610712e9fff07f6dd312f
      commit 74a28775a48acf7e96895f154911fbe2ee1ef5ae
      commit dfe5e474e0f4d51d50854418ff0d77e1e99b6034
      commit 3cf704b7c90c347603bb48bf3cf560ce4701e0b4
      commit 0bb02f3300e76540dd5e3cd47f71114bb5afafc6
      commit b0e8aeeab8e6477ee392540bd433cabc017301a8
      commit 4d8d0220506a1a1cd9c092061d037ca9f067e9b3
      commit 51a5170288dc3c3f432799b8ee5d36a266469b9a
      commit ec315d680df4947130eb9109bf6aee0ebf3e69e2
      commit ed379c74b4bd77d6db135ce2aada3960b9890102
      commit 313abb1ba536b2d1e83c8a25ba766357c3ed3899
      commit 2623fb0f67eca2a3fb4d29cde2c7bba748ce62cd
      commit 5881ea5122907130e93da17a5204c1541f963e6c
      commit 87b92660faf1aaf9f8d9c33c7223e4d78ad21bf2
      commit 2faa9389614fbe65b6349c6039d062765d484734
      commit ba141952daca30abe3bfc93ce9274692a389431f
      commit 15ffd4cbc58f35c482a3fd787b3d3a64274d93b6
      commit 70ca82043e08bdee35e3673f5a041e5c68d41555
      commit 7827f0f29a1195d103b69c44040a29c9014ff38b
      commit 9b8ac66068e2a7662b610a0d24266498ae5ad182
      commit 86a5f61a5dca4694682772203bf68611f973333e
      commit dee23adc802da1d07f2f5240d46dd498a11e54d6
      commit ec71739edb1a6de16239e1cc3755706b159f02dc
      commit 7e1cf8f05ac351d0b305149cd7c89cb56932d977
      commit da4ea37f3ea5bdd840b88928673ed96f94756321
      commit 161c9ed19363f4cbb1d28b6fdf5f2e4f0be6afba
      commit 03b4a86026d18f3c44604980fd086b60e2197341
      commit 107bfa30ec67a2a671c9c7dc32028adc541afc16
      commit eeca2ebccbb1e3863d3c65a6153d27d08fbd7242
      commit 4fbb06e8b06c50a53e7bdbaebfe57a8ecba2be04
      commit d03839c39ca19053009afcdfe9236e94f620477e
      commit b861f5b96428fa7948788f04b088c22e0ac75b7b
      commit 8f35a04926fe6151d2687158acffcff1197bfeee
      commit bbba93c982de52cc50185677e32a1af01db65b3b
      commit 6c706d89f526ba64b70975ec7395e0b2ffec262b
      commit a87a2b74d54efe72e9c261f9f0bcacb22f42ed4a
      commit 3931f1c47243a833f3df50d319363697c078e1fe
      commit 0774135d541dd1402fbbafdf1fc644bbf7df8e1d
      commit 2b8d7416cbe7d621b5c6866de983bb3501b36c51
      commit 9f51c8fd107dec19869636bc9e7f60102de8829b
      commit 737e01eee188eaec0fd9f79ae671aed90a632390
      commit 4c1a5056841862aef8923961d72f9a994c87be39
      commit b64731148f0d563f8f49b1fd878da7a57de19b27
      commit 37f6546b50490488c5a520ba999be3676376c32b
      commit a0856989ecd1c59f3a9d02d67320b52efd626548
      commit cea1364f4bb2ad184821668649e14a554f19706f
      commit 0e9e93e1bf1ce7ee100fe6165faf4fe45045fc61
      commit d2c018f69acdd01ed8640b83f78d89daedf4a68b
      commit b290805ef35f920b917c3bdca0f20012b1eb848c
      commit 68d8b03ccb35787a3891f0fa8e3bf17e7bf817b5
      commit a476de2621803dd27d62685ad71480444449ceb7
      commit d885d10f5dac34a4bb0e552215f0f433586e09ac
      commit f67487383135b1348ff45179ac8cde142652ff6d
      commit a6218769ebe68162e4325565f5797ddef46278ca
      commit 66d82e3592a5fa11b764775dba4f911a634e9790
      commit f5156a563293508eefe46e3c02fcde9c970ab5aa
      commit 7398518b3e6728c84190e2dcac8bd18caf08031e
      commit f11690d27a1abaa321319ff195a8449352be610c
      commit a1b7e244aa4e674a3c64385250ae2e7d2045a078
      commit 1a65af11dbfde967b11afa2e1920a7f7e402d9df
      commit 6f881001997ce7d035750e620824a9c21092c1c3
      commit df92898e792cba6c337ba3361f7c0ffba2aa7f1a
      commit c947e2f3551fbdabed5a3ae9bfd46f57631340f4
      commit 1630da14e9905e3f9284f12360f4e02046b580f1
      commit 652cf80d8804f7e9802873e6bf4de3b200dce992
      commit 0b48c2e08e43dbd80881306553977db118d20ebc
      commit 5937855dc1cc56ec495f4e59263f46f42f3e4adf
      commit 7c2e9b49dda259af339cc16ea03939dacac87d3a
      commit 607cbcd9108d2db4c254b6bfc269b9dc0f4b21e1
      commit 643804f46f3eb3bb79d69bc4c4a7d8e994b59389
      commit ab600d3523f03573880f3b1144671b08c17e07b4
      commit b1f1a54ba64fef70b6e96dab354bfba6d6c288d5
      commit 507ba4dac341c8fc136f216e631aead4ebff5e6c
      commit e9f9cdebf8e11120fddde9278ab146aa16b542d3
      Redundant copy optimization in MPI_Alltoallv.
      Fix to the FindSubTable function. Iterator is not erased, but now the front object is put to the position that is replaced.
      commit 4d5e10e4729feb3ee2a70df9ed6b442a2fb53e5b
      Minor fix.
      more work.
      More progress.
      Some changes.
      More cleanups.
      Fixing compile error.
      Bug fixed.
      More documentations added.
      Done for tonight.
      Really done.
      Minor changes.
      Removed math::Pow from bounds_aux.h
      Added support for cmath in fastlib.h
      converted general_type_bounds.h to using std::pow
      More documentation added.
      Changed contrib files using Math::Pow to std::pow and std::sqrt
      changed fastlib files using Math::Pow to std::pow and std::sqrt
      commit 05448678b87a45b7412321dab02b2f22c64e6d41
      commit 4e82dfd1d5994c611f5a72bd6f65391e4d4cdc64
      commit c7421833bb77412ccc17595b40d3cb3b5783d115
      commit 3c207c0fef0d07ccc6cb00e8186daeb0f9355d11
      commit 0561a6b2dc2e896264985ba38be1a6ceb2553c3d
      commit 083b8745fd91b9b22ecc9ab043bec7e984b0cf78
      commit 8b217a917eb8ddb5e7d8fdc76d8279017b8f1dfe
      commit 49f6a92f097404db25342adc60e53b78bbf0243b
      commit 7c9fc7fb03a5d0c876ec8ee0f82a646cc8538dce
      commit dbff51bcecb513f178ee54eb9b751350c348f602
      commit 3bf40fcad75281bfaeac3a5b40e1d24c2fce2523
      commit d76e0a3a352b758f1022c02adddcc477f82b196a
      commit 3c5c2629688bd28a33ceece13d9791dbab3153c5
      commit 4b2425be3df4c6a07ef60b8ea7a30c27ea4fb452
      commit 94de8cd4d7b3102b80dd89650a724f040188cb2d
      commit 90cc94a4d1a1afdcb748c7d7353d93af926e19b7
      commit 7e620da9e59dba32ae7540c3f3b5117d3d59a632
      commit ddc7df4bb4304c8b4cae72c12ae714f41617599d
      commit 747828dff302f18e472b126e10b5d2cd846e416b
      commit 2e081df3f762957a9df1e8362344253861a2594d
      commit d14ad711287923793eed7420bf79872ec9687a2a
      commit 54b604af2d2ba5b5729d04d5b1ff23b8bab4a3a8
      commit 7bded6f511473ca1aff425cb1f822f10dca9495a
      commit 09d33906349c689094b478e024987cdcb14f9009
      commit 2587358a689f1dfbab52b549bc4c7bc717b2e54c
      commit a6ef2bcc1edf5226f04ed29414a0a5c618cfccc5
      commit 6cceb3dd84e41128cf2ff7aa8048ee530a92b716
      commit 71488bc4b37af7c91c5a6a6750fec10b3d3d4b18
      commit 667b1e0551579250116f7c701ed797952d466d03
      commit ddec03a44dbdf869caa9c7350f3446fbbca7f5d1
      commit 20f6fb08dd107e2072e0206a954ea5aee52f4965
      commit 6fac389dff3da5f36edfb191b0a1ac7ec8bc6e44
      commit 5982a039f45eb969b94bf81fc3007dbb5b754cf8
      commit 1876f2c6d407029a03546076ca7adc899482a548
      commit 8f4d52acfe722aedaeae0001c52feffcec1fd023
      commit ac39f31b143ef73961ce37e5630244355ec462be
      commit 483c41d12e9e43baf8d0402119a183845db86259
      commit 98ef7db3bae821202d5e4d95a94105865093109f
      commit 5f127f1c9f9c11ddbf42e629be703ea7d88eb26e
      commit 60f0a7087ecdd4b8057e1fbc42d819869892a7ae
      commit a6f24fe129579db0ed9f215b1e93859e181059fa
      commit 8834649957994e6c8857b4f1613d1ba06091e26b
      commit b0354f8e053aed57c35158de6e186479d87e9781
      commit 66b23cca74e7249e770557e9af3be447fbc68d07
      commit e8cb46023bc8286b03fb2434b3c94121a8ca82ab
      commit 2da31e667b19b8cd59b4fb5620a999d398be2b1f
      commit b0242a464bef5dff58e9ced06e6f619adc1ea7a0
      commit 1deea24eb81f605a8b14af1729106cfea0a32b40
      commit 8f59b9aaca963cae509c336ce687779a076c8f24
      commit e48bcb8c0eeb85aee0d6727be237a6007201fae1
      commit bb70fc8a235393fa8d31c132241b492188566ee5
      commit e23520b20b414f1cab3820bbaa3efeb0ca2a49d5
      commit ea8395ed5dec5b42c7aade4393b5dc1436837a2f
      commit eb302736cee7088599cd0b2fc9b932a88c9a9987
      commit a072bcbd0fea68ef8660e4975ae7488a8976c897
      commit 0738409b8a405a461eb07c42b311b521b15277b8
      commit 54745610f9388c97467dc9c81ab923e53e07324b
      commit b5132198690e3fdb50896dc360130f16bc2d6274
      commit 96f68843ac3fbab9f0015e53c5440f19907e7a1e
      commit e875e7ef3b326763549596fc08795c5509614578
      commit 2f655518af7fb440a446e6c9d99b60519865ed05
      commit 6d13629bab1131bdc40f9527b02f3f003ef8668e
      commit 8ac454686bf692af148248a87d8e2f45a781f2e4
      commit 98919b766ac73e3396b8faf13fe83996bffb73e0
      commit 40ccf8e6ac0f19ab8f4cf16e3bdb15bc03387559
      commit dc6ffeb8dbfcce18f71ee5c0d0361cd3d0eec8fb
      commit 63f4182985d2cc9650b0ebe5c423c26d045acc83
      commit a550e7632cb89054dc990d0f4d2477cbe5bd1179
      commit c5a518831f50a18b0dcbd7e1259d4a4f8ef14d5e
      commit 7a468946ee2306c1828478cc5d0c4b929945ce3f
      commit 1275e70b4988dec9798977292ac6725939ac0541
      commit 4ab8b9be93a79324a1cc56a757e0ab5578bc70b2
      commit 75fed04c7f51c507674f57f6d4527d436845a25d
      commit 553a6652cfe68802b6e1aab5dfa7f45ed2e278bc
      commit 6bce0c507040e5e7d8ee540cb9430c90c25de8ce
      commit 51c0f84ae3b66a627ce4f13c50632a92c05ddfa9
      commit 0b66d603505a5e275a329f0ee5c4e797a9088021
      commit 24209408580eb7607ebdca0e618d69b51237489a
      commit c9856e5cfd7b7e934b92262e1c935b1a368b732e
      commit d6a554fd90ff585b3bbdcd4ac5ee0b2edfd23c72
      commit b4084fb2af5dde911d022c92ca395ea2370707fa
      commit cba7205657f980c6075ca2df0e9ccfd2ca355492
      commit fa44e110874be59dbb819d7f3f2df4072f03545d
      commit 7cc2a9c571c85fc3fd938387c919953d0f6738d8
      commit 7383a0807eb0fe199d210aa487f3f4b647a56012
      commit 4f76ca5baa0e519219cfd3548e46754280585970
      commit a1baf94dd4ec0e71891741b2a17a41390caac3b3
      commit c9fa8681a449508a8c34bcb98ac9f3c6af8c80e3
      commit e666e1abb34829c0c5242664678a4722ff4d0f22
      commit 0802c8d140c746179a4c9d46f7e282f329712048
      commit 565d6b07edf7c39850e7f5e745dbfd18a1115d90
      commit 7721d8e322dcb5088f554323d21084ae38b02413
      commit b5353a872f552f9280d5df9a8915213853033eca
      commit 0a6e20091ffc384af6fdc99fa9a2caa40cc724cc
      commit fd0c4052c9ff234676bab6e5f7e72cae76385dc6
      commit 38855c9980afc8e484a83e320bd4260818bebdac
      commit b5a1dafb6c30ab6330e93265f9cdba0608c5ac91
      commit 0fa8423a3add5c94eed4c5a6b6ff2ec940e124a0
      commit 8d94d6fd8420d286882625685c6a41cbbdd38292
      commit b5fa12eda9d88df146f11761c40bf45a98b106da
      commit a12ab01eca2083cf535721a2530480da0db9e470
      commit f4161b9df31698cc37053eff2e4af1e8cb84543b
      commit 632e360f692c6b50602491c32d893c94bf74e3e9
      commit 0bcfd70eaab846298d5ffcc37857c40884690817
      commit a0115919e2cc45d30b7947c9ce98b9bd96a85288
      commit c750ff20807079b586cf9e742ebf0536f655c62f
      commit 5003f1136b90a3a2363b4b8cb03006c79a584dcf
      commit e15c96cd9366be1a6beeac951ce28c8088a720bc
      commit 7cded394922a8117c0b0f4bb1e69d34aa4d4752e
      commit 597b0dc0bf22a053761d37525379ecdbee2cd7ef
      commit 13789213d84e4a72abc3a847f9cf8c6881375d61
      commit a970868831fd7c6a1329964fa545be8a7d81787a
      commit 0b60583a1bb89d26b71cdc822472bf91777b9b48
      commit 46f2f97a49b83d188b6d473b3b6b320ae0e6dec0
      commit 2222da149deec3fcf8464914433d440a87770075
      commit ebba0ce78e6cd90fd649f19725da11a4460312eb
      commit 0bbcea0c0db4b1502f52a12751526e4b2bac6fc0
      commit 83d84e57125ad5e1d74f2281c084a85e3a874a56
      commit 4c4d6c0741633ca3b68e6fa1639eab779d6f3134
      commit aad2e73b0cb70eafd54639268f68cb5960529a06
      commit a98ddbd89233199adaf777bccc1759d18e7f8136
      commit 51e43be5590d3b9f8b4d42aaf75978b275509ac5
      commit bc4c79fc07b25d994d0f6c5783eb6820d8ff626b
      commit 9feb6815c5e8a34e7035a3e78204d05a23d0d6f3
      commit 09c5d5cfd0f65ebabdcc908c66983dcd29f8f99d
      commit 7ed6eeb0ba40cad3cc18ad9261d7c792a2e9284c
      commit e217a4b6667d7cc86e9ab8769851a9de97dc1516
      commit 5ab3731e8bdae7d2c0ec887d872c237fff8061b7
      commit 38c40776f9a57cd3dc7085e5c00382152927fba8
      commit 45380e0ac062d93cfd3d17e0ef06a3cef26da6bd
      commit 318419c0b763bdce9db7502bc728dbabb73ab5ee
      commit 3624dd596c77b4fd89a20aaa2f879bdab3359fd6
      commit 21a3d3595596cd5b8941f2c36750fdb1cccd0268
      commit 86a92b911baf79322a5a92718aa993e968cc2a61
      commit 265d2162136831d2cbb02618fd7e38da123e9909
      commit c6385e4c97a47f409fbeb4dcfda0861fb568b3bd
      commit 313296ab56307c83c389f985df29beac0da3426d
      commit 6829fe67140a635ff1c60cb07f2537e12e3436d0
      commit 1317d3502cbc17133ef2276b00db966f5ecda4e2
      commit 43216db3e41fa7b962c1daf2f64da5bca723e93b
      commit 289ec4aec03b3a0ed4b27803b59f210139d4858e
      commit c22a4a7f2791b9f43b281384f3703e8b080d8578
      commit c03f90210ff062aae0924aea3132ae0c4e4c7e67
      commit f711b2532b8f747e6767995b6ecd8ea9ea4775cb
      commit 11e1ab6a4a3b1acb83a1404b878981612794b7a8
      commit c9c795247acd210934cea251bc1114383ee67415
      commit c1099a87f21f828588feeca06be5bf226db5656c
      commit 893295cc49ade2a8cb257be29f3a7cb371dd4e6f
      commit 01c02c78b0045afc57a46b4ebfc7a9b254d79975
      commit c912df2fc086dd0001eb4f03d525753e5a99ee81
      commit 342a9bbd499aca487fe5baba2524ce0b953a35e1
      commit c537dbde5ab62f47b0ee8fce7574d67bb30070c0
      commit 32359f3414d164f7390db57e68328e4fbae317cc
      commit 9d1befec281cb7d2a0c7a88c64c415da5b04431b
      commit 15f601567c21eb107f491c2bc7c172651a509028
      commit b6b3a1337b384e6470ea838d55c739ccfbc38502
      commit 2caaeaceda14f94b14452619d15a090eca9d352a
      commit 533c4bb4ffceb46f93a5faaabe713a2581d70a4f
      commit 6df28a42e04843811db6c1f6b1cf3b645e8a62ef
      commit 0cc94019698a00ae7813d5432aab44e8b7ec1769
      commit c0108aa63c694d32cd43451e4d35ea183569f303
      commit 9ba025fba5cd79c8137a58121352f0a9b3ed1de8
      commit 59caf3530c5e46740278ccfb4e44e7044369233f
      commit 496449265aefdda5e89367d65eb0fb365dabed12
      commit c4c461c5a57d2767fbccff9866029af2cbf6abf7
      commit 60a8fb46037110bde4236e4058406b08e42070cc
      commit 7390224e7a2ef964b7cb68d3958a8133b7c44981
      commit 8c60cdeaa9d1fcdb2d5544522dec375864447b4e
      commit 11fbbb44713ddad97b939cfdb97ec37bb465747a
      commit 141e25a54e2a6fac1ee1594a3194059f17040f77
      commit 4c1a5a4802e37c9c7cd7837a1b479b59552bf4a0
      commit bafab386e94b3bb6a6c468d408017dd1b7612955
      commit 1597f04579733c59ea9436296449d1fc24bdf9b9
      commit 9c14a6fd76bd3634b58d3d4f430f53655dcb7d65
      commit f030d57020504e27cb6f3252be477258e8ceaea5
      commit f3d26ea1b15979902e14fe6748ebec3154069b0a
      commit 8e0ddf61340e47090910e6aa5864d2ebce439c73
      commit d34b5361b7ffbc28e3228844bc2f16c77cde11da
      commit a95a78aeff7975be9c2ddc54c45741be3cede907
      commit 98462c2e09db6bf8701eadf1695d44408375e0b5
      commit 5d652c41147f324ae70cf968c368118cbc98d304
      commit 6f5a8a6b54e7d7ff50e0eca978262b9a96e2abb9
      commit d49a23efcdc6d6f64e75e343266d08ca99d87668
      commit 5c1e5ae5fa283bfa73d19a1cc7f631e62385bc6b
      commit a6abad762376e43ea2ab86c0d057ee22fc034d6d
      commit 00ed81903aa48f8c7368c9dffd305d371769f133
      commit 614dfcbf22703c70b07e2ac5dbf5999e777e65ed
      commit 3e895dc6f0b15021e321cd07474a0593ccec031e
      commit 1cf0392483d93b44144621cbe9f5fd763af55017
      commit 525dbd60175f515e0b4afc46103a3a1c6c2c2174
      commit 9c7338f5ecc733028b305ac4025892aa55b4a03d
      commit 4aa970d9bbdbc816006aea47f4c956517eb1f718
      commit 0c358a1ff8df1d8ae44beadfb574882299532261
      commit b60ff9a432f0bf7b203aff1c84dedd8d38debe46
      commit dd1b0c32a14dc508cc1df2765a10583657ea1114
      commit 5fac10a3697281c749bd6f7cdf86310fbc4e99aa
      commit 9d701290612bfd0b063af93ce8a85a72cddb3b7f
      commit 20e8e0a90ac15f79fae4ed7f177d1d13cb4a42ad
      commit 030673d4b105476061fdf068a3b7b0cb393cb9df
      commit 32f1f8979808100e3b04961c0c8430a3780406de
      commit 8f6d5a1cacf1d7f048b4a0f0e38d29fc44b4f69e
      commit a7a478ec5ab03af29301d2d285db13eb61647c5d
      commit 88663056f98befcabf79238f51caaffd5bfa9d55
      commit 919934fa18540b0c5698ed806eead57461e781ae
      commit cec87e44f62807d801879d09d07f1838cd52f724
      commit c88e61a612397068d42c29200d0698544c137eec
      commit 08bb18bcac759fda3d2d2ad3645962185769e9ca
      commit b7e1527b358d7b89ea14fd16539039fed9920653
      commit 296f172d716aefa52823eaf4c9fe948c050bded3
      commit 27b6b0c045a45444c07766a34a9855706f04c66c
      commit 008b69f3ace2866a75dbfa357dd1c73670b2f2b6
      commit ab62cc88a5adf5998816dd644b4ceca9b09741eb
      commit a2c50921f8b4db4ba4831d77a3b349266313d9d6
      commit e031947f0a2e311eb58b0b44c47cc76c271ea87e
      commit 9fa610075b3bf9f9bbcdb5eacdf3bf903a7921aa
      commit b7b038e8725b1de2ac22913561ce36c08d4f0a32
      commit ef73f1c265af899cce1875b569766a20d03b864e
      commit 0f8b4c3af97101b34f7411dd76a2cce9b765d731
      commit 2ffaaf3046e71574106d412b5d26bfa160599658
      commit d14a548940e74f7243816c4d381ebb11cc15166f
      commit 2af47bc4c6a9449df0ed8f5fb039dfa9fb86cfd1
      commit 95b54ad44019b8a27f87124bce35dc45be32d5a4
      commit 31883e50e9ae430513981e09a0a8c4b53e501913
      commit ed160acc942edadac70031552f8eadd3c681b52e
      commit fd31afe3d4520c52104bf1785209e6c5ba54162f
      commit 92ce9ff27ed914ef1f1a0422444288b99fff84a3
      commit 3cc3419d84fac285bf4158fc8024009aef2de490
      commit 5a2ed5f51fe92b471d3de17cc8e0cb616a07ee28
      commit 344f3fd07ade3d16c509a137fd8004fd501fe364
      commit d367dfcfb5a699b90fa72a5afa0ae9fe21e1e92f
      commit e1392927cadf525fcea4dc4b318262d84650ab1e
      commit e154fe85dbba5685dd3c2e8aa02593b880848a45
      commit d69fb973fc3f7fb188927905df58195f71738f88
      commit dbb36b6e5b9c991b2b6bc15e81b99558c601e492
      commit 222e269c80e6ccd3faeea256f8e4bbd0ac7a6d0c
      commit f1bd140d84565c52c798dcca3ee5fd31514b50dc
      commit 4e948830d0f43cf1304680cc199c3fd7856915a3
      commit 2cd35f32055380b6a6d18b0a55e867fffdf2798c
      commit b1e6edb592fca2dfee69b98ab91e44c7ee748561
      commit 9b45922c50ea97e3381b887a1a0a73fd343bd1f8
      commit ac60a121028409a3c9059c147f963570f21fded0
      commit 67d880992076138ebbdf0b17f23e3e26849c0236
      commit 812ec5bdc22d7233c8003d6acf55ca1f5a078229
      commit e67276f74bb0bfbd82a004673483d297f21c860b
      commit 87afba68cfea6dba85e5c7f304bc5b5dee757511
      commit d4d600419290c1bf4500b6acd39b05704b52f1a6
      commit 6a624f18655b04bc4034eedfed8177e5bd9f40a9
      commit 788b046e9bf13f1999c7eb3720fbbc05b596e1a7
      commit d738dfb8b79aa5310dbf8547045db8b37f337046
      commit b05fb14b931bb484b4d5cfc0e024733d2755688e
      commit cdea05bc3c468ee284c866225c0163f2470e79b3
      commit c838af9b88cda0c628b52fa031d53f9eceba01f7
      commit 76e4dc8686d1e55352d4e263633e7bad378e41aa
      commit b2c2c96890ef655b7e3278e4b46ae0eaaa96855d
      commit 0b0c76a35c69bd530b39cb2f5204a9e628cb205a
      commit 7b54c52795b00459fa815f025e9cdcf332a27138
      commit 2791839e9d4394afeba5ee33e447a8e16efdf5f3
      commit 2cb36eb53a36ac63467321e78d6b8a97bc68b28a
      commit b6e040c00865279c9f918c2b2804b7ac5ac83e83
      commit 28bfdb2970948be832abc4204b5d7133741e5767
      commit 52b4cf3f678841cf609ae25241ac2867040e9a3e
      commit 0e26db4a0464d22d61953a788dbce42aa77452a5
      commit b0bcd12c5d997c1799d97c0a5560ce02690ddaf7
      commit 1d7d340b64ca73ad0bdaa0ec16c80b514e76171f
      commit eff28a57eb4efc560b0f313b2e78f74405455692
      commit 1a45a9d58cc2824f48e46fcfefbc6128b9f09071
      commit 1199a9013c9d550bba7bbc3316b16454231e1a28
      commit 11275c2824877f494e6bb9e70bd44ff7f09a731a
      commit fa75ed2056201e9097b0ab646c4b26ec11c77039
      commit 78185936ca5051d15b949270aefab35ad0879d1e
      commit 6a1ab6ff10561db099ddcabbe32e03e8a1fa80da
      commit 39bda4ae47965a6ee50f6e3c5cbbd5973255ca0f
      commit 2b8bc9964869e46356ccc364f9fdd8d6d944d4da
      commit f4b84d9896a99c064c8c361908efd1e24e05f6fe
      commit 6f865fbcd6355acacd274102d08c11b880776c42
      commit 428659fcb919df0afb02366bae940e30aaede275
      commit 6f78a23b779c88e06551c90e1a65ddfe4c8b0a13
      commit 3b167a291837b4aa2ed51dff52aa1da0c4c260a3
      commit 9f687848f7f6abc0a53e4fbb459c3fbb3277acd7
      commit f452e9aca8ab7666dc2d36394bccc7a265d93e16
      commit 30235db6f0bc8c21f0e99c2730cb7f1f2d9acf4f
      commit 2e9cb2552a7b1dccc09facea75ecb9b4e9135fd6
      commit 609bd39d4ef2eb4de34c4f3adf6159f3b59dacf4
      commit f05657db27f8f444afd2692f2fb1924cf2dfc994
      commit 55f90e53eca91f9199c62d87c75a4e406a69609a
      commit 2b829319bf7fb726334e502a30fd4547dc79a39d
      commit 06a00dae2809426e71925c730ba03df296014170
      commit 2952b2ce7a3d693d9f96f74927f21d9000176d2e
      commit 3dd1f8fd94bde1f18535aaf2709c5a8130fccccd
      commit eb0db8d0a642217695f5852172ee54015f22831e
      commit be849d35c38fe00d9ac63702bcafdf7d9adb0f2c
      commit abf4a51a3ef99ce0a7817478b17228220a53b0ce
      commit ee541d9507180d08c1357059403f978290ca3742
      commit 28f646a24ee38265bc85689f927c14ab02536787
      commit 4377c6579ac0e2fb45f4de832c63c5be06d5903b
      commit 14002082c8dd9c27071a9ff9f711ded8f3aab2ec
      commit 1d7ed228acfd5f358b7a6bf8e86e5ae02692932c
      commit ff2d1d57848bc1e1dbf45eae022631eb0da64332
      commit 3e740ed5db314a972688825f46492be87eadd840
      commit 623ab0f5cdc899d0c65295f29a7b0a2e76b164f5
      commit 1363f809cc9b92bda4e0b3156d911dabf97ea5a3
      commit 524e0e532396030b8be111d5f11d516e5e616d37
      commit 7fb5948d9c991588f5354ab90f5f6b04e5d77e30
      commit 20ca37578f5cd49a1bfa40d3df5408878c321b8c
      commit 57132cee78225d111149aa25b269dd6e451256d8
      commit 421845c32a4077636d9d738aac575f17a8f77762
      commit 6d6524e0c0716c48b394ab089e971bf495edd525
      commit a6915178d0cce7a3c0526df50c0000d876214854
      commit a3694ab2f4b87508a0a90c85239505c61e72e278
      commit 675c2490278400206cbf68b5371ab9db15b0339c
      commit c290e566ac5328a94868e5391f932d8196b3a3fc
      commit 40938526671ba99a0ae35ac095c9d4bd4bef6200
      commit 4a009b82bf2f34251079d5a42ebc76acb6b1bca5
      commit def18f86fd4515eabdedd926a672e0b3555f1040
      commit f48b1057fcc49b0079c2280ab7701e2ab330e7db
      commit 7bb7f34b7319805d3801c140afb09cd0e71f6e7b
      commit b161afa4bc37bbf6956453d36bccd4c2d48a88fd
      commit 92d598a709ef20a7e554882d803e6aa33f73dbfb
      commit c2f9433ffca5d51b26aafa110258c940fc563b56
      commit 0e8d4d5da03e0f94d1be0e0745963c467be2fefb
      commit 0d6096266695eb4ff2cf2766181ba2095ddf93a9
      commit 4beb57251ea816a0499c2a5ddb9b15d6caeb633b
      commit 1fde15283c173b61637a66b24c681e0fc2d5ad3a
      commit 9fd5332245105e6a51114d908bc0fc8a71ec80aa
      commit 4cfa425c0d3d3717af3cc4199d908492417542d7
      commit b9ec1097978f9fd7836f473058bf1017ecb686df
      commit 5bb41bbea2f3a47287769f0cafa3374ff9e199f9
      commit 105466392ebb80972e9e3a697fc76f8af3cf4433
      commit a8571fd6fe6488e6dae19b4ecddb368eb7e21c97
      commit 6c81d5432c1bc1a45ea51c5bcb8eb82d6716aa03
      commit c1f1d92394d9373f37baebe01b954119ac86acd5
      commit b3dcf8e08aae9627d4a2555213c272bad7e64be2
      commit c5699992d4197f216976df0dbe0ec7ea6a4578da
      commit d4c864dbf7b14f31219307c2220f28a48d2979c1
      commit f476493ea4820c1304db31bf87a14dfcb1cf954b
      commit 1200089409debd026edb8d55d8b5864f6f779068
      commit 1307af9e1f6cdb722066e401f39652fb8ac7ff58
      commit 3db9b5f808b364e4a9d0f4c72bfc254d9efd1e8a
      commit aa94ab0a882443fec39d06102fc1b2ae1cee0061
      commit 941b66817ebccbec85fff5679e7996c42adab9d1
      commit 2d5a2df37733e2d8b773db2de7665830ab26f0a2
      commit e34fd37916bffac64c736f6c6dc740ec15fe7719
      commit 49b89e9dd0875eb4b57b594ed8f4cc3a41d0ec7c
      commit e4cdbabbe6b7f3d2499c572c4820d819b60bd380
      commit 7b351fb1ff6d88cb6090f16ddfd2d7d908da8502
      commit 68e9c433c1d20c5eabaab098de929e6372f44d2e
      commit 22165dd8b7b165c5e9b13ba82a44a2124e9c2992
      commit dbbfe0622c2ffca06d3e193614db2273583b41db
      commit 4b0e5cae699ba7399d1f622a3b985eed976479f7
      commit 7004f927057029962fef07d257bc3a176c147930
      commit ef19fabcecd51c8a20a9725ece22cec980559295
      commit 5a15071bac297f142973084816edb77777c755c9
      commit a8edb7c590dd61e70bdc645b3721509c7484ca54
      commit f315bd2ef28ea18faa99fc5ba00a7eab3679d997
      commit 76c0aa4bdbe04061f3f457430d39e38e26ed5d49
      commit 765d5aabe2f3bf9779465f9830b0df88bb6888d4
      commit eaf2a59e40985414331c4a6fe1f842f789cfb193
      commit 882bcf4412f7b4d7962cff41544b7f7689d9ee1f
      commit b11d344cd78225211565481552ae2022cd9a9ec3
      commit ea354abfc9a8ccfede0f1492cc2237877fa9b1df
      commit 27b9913b22a0a9d2cac3e642e200fe8f3ede389d
      commit ff4bbf5e59e5e00e940d3d1830113acdbd1be9ce
      commit 334ce37d6a8e7d80f254f03e6a0d91616e9f6cca
      commit a10a7a3841601b3ba569843cfe61febec4aed8b3
      commit 729b6352ba1f7841ce91aabb6b23a5a84a4f9a2f
      commit 1c18a60ea56cae0d9216e033f00302156404f57b
      commit 57e21d2e552aa2545c4831f8980554efa5e30bb0
      commit 6807d03dcf8d994c4705adf48c54a773fe1cd55d
      commit 606767afd9bceae46b4b06361500d04b9c6a8898
      commit 0f8d1a234bc12f263880646e31b1dba184b0e6c0
      commit b004e0669c9394a70d673db58ac406cbd1037119
      commit f82034baba5a18a313ee1a19831e5de2e103536c
      commit 6e8c916a7780de8c4e2a88a9ac51aa42420ef50f
      commit 1a40bf3496edf86346d5876b59959df9d308ef14
      commit 1b4c1f99704242d51002a81e670857418bab4b12
      commit 63db5db1fb1890971b9c462833c3a7e4b2689b96
      commit ac601bbf3fd957112edbc0e73071f95a611494c3
      commit 3ae31baa7c94ba7125c8b449cabc5ac14435ad66
      commit 3b89920c53762db73f7617b8f846ff0236d3488b
      commit a281b30d4c58ddbacebbc1d909122a5da43507c0
      commit c913d1a32490721db3e939d178ffaf3068b60983
      commit 5b2fc68f5db7d16772265cba750a79308ed52cd4
      commit 32f76c8e01fa8903af3aa771e5e1c96d537f58a7
      commit e578195d25b584e032d06b6821ab17bbe5c94574
      commit 4728c508400423eca88f897da26ae09b9eb30b1f
      commit d9e254e815ea319da1dcb4864b58e6e61823aa9e
      commit c1b3626ff58c96b1a880b12a296d358ecb0f6f17
      commit 1b427718631c0533dbb3986fc880627742a24186
      commit 70961d5a1933a1dc646d6d2266e590e21c07475e
      commit 4e2ec6683f279b4e08bf648ed2649cbe2810b320
      commit 9913415c8f4674b3bcf7cba897c0e0853fe5d604
      commit 837bdeef4a6c9ca0bfd46470aa620048d20b5ba5
      commit ec8322883b06eb08baea30338c22959f76d999f4
      commit 5f86cec2db5dc85dbc4351af17989cb3e749189b
      commit 9978b701a32fef2943f5070e72f1e3e205b11889
      commit 0b87dfe3587c0b6cbe5a4a491ea1f8b7596d2d1d
      commit 2db2b1b34876f48bcdb05a376f7eccccae1adc99
      commit 5777bdf4639337e3ac9c0b4a21199f2a11fc9d46
      commit bc271f13aec7b1df69b60d4bbe54541ca8b71afd
      commit 53d622eb322d66aa033be67c849cbb1ae584d664
      commit aea099d2bba6c4614dd9858f5a450cfaea1ea369
      commit aebdc8afe512506029f22171a8431e4fa17ccca2
      commit d1c91fca85a5cfd73802c6c35fb02a1ee659679b
      commit 37bee93daec4e102e7184ffbd14f30f4ca70a9ea
      commit 6d1d5ce718940a051cca64cc684efa0bf5537fe6
      commit 7a91e8baf45f44c4713e789735c2cc8cc5fda068
      commit e17bd53813c37d8fda5c7756afb852ff0ab3a5cb
      commit 6564995ce02e1fb68ef3e25329859d5e2d9422f9
      commit 8c5928035e855e5dcfff54f9d0a3e4663494157b
      commit bba9eab39aac048e88c474d99997e580b71fb6d3
      commit 3b42d674ece9bfaff5855901d4584c688ac689e6
      commit 568f777462ac17aeb864614081509e44ed9201e1
      commit 67fd5c34973bcb35915995e90f8a9d0b0ec2240e
      commit d30a047382490d8a5d2ad08338cb92660394dd7a
      commit 129a081056abcf8ee47c5109acbe75ddb96ea536
      commit 174f3044da9274256acfb136657cf13594d38323
      commit 1018104ca15418ae0b547f2680a6dd7e21a2b6fe
      commit 0f2ac2de6a42d4ef5d582d4ebdc08111d6a3fe66
      commit 40c5b72cc55a3ea2b019743428cba983650a42af
      commit 23c3ca807db59f1d48d9c334afce9d2e31dcd832
      commit 3575be533f5423388b324b53a18a277dad64cc06
      commit 1ee427c0e451f1608eda36d6d026fe7426362d9f
      commit 8183b4d6ed595cd7882f0669367b6fa7f7577738
      commit c9bb3f3f32c3df7e2003f240f8f575055f1239bb
      commit 14106203e301e25e3c76a52336f71726cf339dfd
      commit 48010a1cd2d522ad0fed51ecc49c018da2e60db3
      commit 52a5b6af56d1c5c0f4d1ee6e5337e5077378be4b
      commit 77bbefa3528d2852b13eaddf9cee424144140e1a
      commit 71457395574d034baafac255ef74f879dd305c3b
      commit e3d25070e3dccea761b0c65d630bc07012ae71b8
      commit c813095506eef82c7d618f7e2a4c7fe46ea450d8
      commit 3e5b217acb741065be2d73c686ee15c57ee70c89
      commit fac3342f0102c96435c4ed9277446b724645d947
      commit 51d1f62243ad5de60d1ef496b035eba235d43aef
      commit 922c46502b4d487dd6ed44f998751dd1d8c3395c
      commit 9176d0e3280ecae2b1212513c2521344abb283a1
      commit df0917ecc279522185b258989b69cd2dbce9bb4a
      commit aadc9292d0f85ee5ab2174a8549fac2288e8f895
      commit 786550219aeb395c2a02aa65e18d67a454612bc7
      commit af480f12088eecd5c17c172bf9eec38d2d8e959f
      commit f4fc093db4102ac61fa2a1aa8cf8acfef202f4dc
      commit 32c1954e4f1814e6f0a89662d657f1eabd80da84
      commit bb1531149d75279c8466c66091e190f1084849ea
      commit 35d85f1de13c3027c500fea058543ba891f4ebfc
      commit 79ba3c4e12e766bbea4ce87a84d2d2c6e23b1d17
      commit 134875c8a60330af24b56335917e1af6fa18d68e
      commit 367804130d68fe4052db60aaccca4105f653a12c
      commit b27d9ef9463929b3c2eff89e49649b1ad2623edc
      commit 7e044c5f2ae9dfd084e6b9ac9d716ea617e99ca0
      commit c98546bc215f769c6bdbb440379016ae301a904d
      commit 5809f253f5b90b8ede133ed02bf9990f4d3b92c1
      commit 939a2c46fca8fc7d731077a6a05b1f57f682e4d8
      commit 446e3ad9ba0de1b3b98084ebc89f719d6d38dbb1
      commit 80b8c84e5c31405951285571efa57472c6d1106b
      commit ef85fdda546e016ca7595a86fe1f0c58237ea93e
      commit 09217b07ef83b10a133870963c0f42914d4cfbf5
      commit 9b24f060fe37e7b608af4e64e2afe7b5db7b815e
      commit cf2465b6afbe7ed2d3ddebd88c2fc0c77054134f
      commit 8a4bc5a588a06273c69be23a1f096ed87bce3002
      commit 3ea433cf1ca4d45889e34fe0fc4579a25e660045
      commit 73af39b53312de717d3c2661f01705ee74005fa4
      commit a809ce78db5e7b2c45d7b81f9a9cff45d5c3a818
      commit 706d8ad58340d6629b53c5ecc202683ef0f24442
      commit 6376d65c8c9fa4f82ff430e7170a4bb3f54488b6
      commit 372fa15c4ad6377ae4a9fdede1be94ea6ab46b73
      commit 18554402aace9bc1f2741fff5a417ad2a9749404
      commit ad7c0ac4bb43aa5ae48b7e107f85830de27eea34
      commit 7a5fdbede3ba477ba5f8d0d6360f940a8bed01c0
      commit d91e93db376f2a070a37bb0da52188aa324de44c
      commit d8978e033e7eb9d9c5e0ca00eb1b4ba2a35b630f
      commit ed30b442cbd9ed3f9e952bb830fcb259f2ce97d9
      commit 7ff2916bc309351c3d6240ae044187a173f2fbd9
      commit 3c0d2ecc2d4203f244bc067b0608e0a2e48623ae
      commit 7b977b80e5a3452acc2ec1771008c220f57a3ad9
      commit 37367b0aa89c65f171d0c8d90db71fcdbda9fba9
      commit feded43dbf2104b070842995013a7a19e0530180
      commit d6974253a84b7778f8406cd32054609d6c5fc5ed
      commit 30196f889d9e1b8aaf3ce5107a45fa4dc1e0345c
      commit 56a4763742e1599ea6209c18a83804f6018178b6
      commit 6fc05cf9c49ac7ee29a09da21fec83cb87258c86
      commit b9bb0976a84f48f70eb06415636db48468ee6013
      commit 0d7d49757ee557683a72a350718444c8fb53c31a
      commit f86fe0455af58a4b0292118a1832d79400d1d0a0
      commit 055e543150c81ebbcffe614b033fa3ffa515021c
      commit f3545128d0e9228513906839884a374b97bb153b
      commit c0a5f8eeda79b19e32afbb90ad8af18044cc4fe9
      commit d7988f7dfea0dfb4cf2a103f173898186bf04fcb
      commit 5ee5f146fc31c5e4645c67896924a6f849e38ad5
      commit fc20ce0b71b65e552efab772b0d744d85b7a5b50
      commit be5c79633f2b3d14f4f57744e8316a7e6bb66e01
      commit 03320c262a5ec7ab8ca416d61f78a4c8cbc96b70
      commit cfd849d2f51e1a7a7cc6f22c1fcd3f4fa0177537
      commit e2c66bfbba94e1e697d09ef0fd932c64dc738574
      commit 7663a5f30a792dbac71dd7aac049c6f1b95b9fae
      commit 4bf4828c59d3d76ba3b7c19d20dfd202b83921e1
      commit 776eb2eeacec6118c193697dadb6e96e5ebc8b58
      commit c3057f44a2bb09fb9af75264dd515a3d2404d3ee
      commit 23a0e0cdff22dd223494b37350081dfd780d0684
      commit 2247a6c898cfab346238ad16a3ae6bde90271960
      commit a5304f9de65f72fae85a70d83b9f67fd64d478cf
      commit 9f1f03ca21262f385ff3a1e133645f0262370a19
      commit 2b7c032e82d6300e41f525c079716af8e9ba3141
      commit 1f4cb3cd6acb1d4c4ef4e26173751d371b38536c
      commit e3471ec586918b1365d66275b0e9e19665851549
      commit 8a087d833305aaa9d36de19a767015446d4ede56
      commit 2c601d594d73efb0769bc0d9678a99db51e20bcd
      commit 04dffb2480fa7cc8297da53d599c3a95f00330e4
      commit f716f3f05df87cae8573f6240c50ff085a896b72
      commit caa17f50274fee582f0ae518e61c5562fedc5caf
      commit 9b5860e3b72ff2fbcbba1671be451f8173e8a94b
      commit dc6ae16bdb9b9476581703aa54b0527596729710
      commit 5d587606e1e256cf12f8b66282dc8e4d3b1d0939
      commit f136ff058fd2664591644464efc118deee4315a1
      commit dfd093e884513e94d9a0d720b6b49d56ab7202fd
      commit 237922cde7e826ff9bdd07b287ff497f3405734b
      commit 70ec3c74eabbd3511e47bb9b1427ccaf52c5f7f4
      commit 72547b4b85bd222c0faf876f278496e994a467e6
      commit e840b5f9fbd6589351095f21b62f52aec0ca9b41
      commit e06c268a81af30d8af02f54dbd2a44f425550afe
      commit 759d12dadc9b1980e0da5694a4154e08c5c81301
      commit 9437f3fbb0dacafcdb8faf43b05cf645628a6ff6
      commit 64aeb2977f553bde28964ccf04f17642b71f1d37
      commit aedc15f49beca1c8420a898c351263d72bafa099
      commit 0c73173048a5d27cae958ff2458f298852c7c1d7
      commit b3d7b0c84139312ef01e74e57e47444f7936403e
      commit 0509a0c0f6a1c065772e01876f222a63d569efcd
      commit 5fc8ea33e71f9247d446606e02990f379ec904d3
      commit f5f3a81cbc282d23db6e8558bbf6fff5493a3e4c
      commit cbfa800eb562cb05d73fc2bce84fbadc4cc6c8f6
      commit f92f98b093a1588395c495464558908c720255f4
      commit d6f58485c2a9adc352951ae2f93455c775969148
      commit a3f347a5f70824f9ba7ac7cf0260b28ff17548df
      commit c8fd0a33feb06b10fac5e9384758b8e495fa1656
      commit 936028c7ebd6304bdcb91f3cb364535e3a366848
      commit d1858781aa92246d3858571530b80c6fb4ae3e09
      commit 6864fdfeb5c6dd902e3cfee145955272a53b08ea
      commit 1208fe1d3a95c4990d123ec769e08f231beecf4a
      commit f3ea9819d2ccde6aade3695d9735a1e9fce42650
      commit 0b39b3d60fac8668d69b4f48aff27991a1a4fc4e
      commit 3a1dfa781ded9acbc429dca3b58a84cb13631a52
      commit 1bc98bb1198ce1a3e676e7d56aa4087c6c59204d
      commit 30d51d5b5e8af8311b646aa2d1a8c2aacc670af6
      commit 3e500fa388fdb34af5f791223362bca782b9b1d3
      commit b597300d9c8f97869a13506f66745e2df4b7ba38
      commit c570a51f000265d4ff87de9658477d473755f543
      commit 439f8f51be53d256250b13f2f3c89b0f78beab3c
      commit 6f02f8ed71db0c853aeabe16da2f1e7a5ff9d828
      commit 8f28e38ea3867c934edd9d387b3bb176e3f881d8
      commit a5245630f94b1c494d5381b14f6c116fdfbb85d9
      commit 48f00171b602c140a3635c5fca9be724b8c9b108
      commit b2c21c1f2a18a0cafe743f828b3772d17e3b2916
      commit 14bb4b3b4597e0385e474435b0975f2a7aa32b57
      commit 6c52b969096604156e9aa6358426c5c0168f84f4
      commit ab1718a87477dc16e235b5c11640912fbc170976
      commit 9b73ab4e1334230900453841ae2813123f6c9589
      commit 754cc1b33bd11662ae193f4dc966c6f9c667c50d
      commit 83c72c3549d837329aee953b9d33b30ddf75b5ad
      commit 1a1002e63fe9739657683c79eb227d7a74343374
      commit c9e93f3e5f4390661db8d28a74bc67210b921576
      commit c13f5bff513ffe4e0cc72435ddd327b1a5cbb74a
      commit 9773ae029733314dd8281840bc3db88748a2f9f7
      commit 5bd6c41941d9311357340968703e7c327594c892
      commit 73b7f4a13318ba6e27d01872e37ad3bcefaa34ae
      commit 397eb6d16a2d1b680c5f58ec07e9f39bc7807ccc
      commit ade5fb653955da8f1fbd73e9f98b2e7ab22ae292
      commit 6d146ae878f5b9735631d5412a384a524b15d406
      commit 44ed713fab22ab4419527eaa9524eda1de9f0a86
      commit 6f4e32da6fae33e731767ee0813ddee0d57108ee
      commit 46eb6b008a33253b255652d27fc7bf40cf6cdf90
      commit a06086142595cd0cef7480eac958a41a8100e096
      commit 8227747de83d483e08917fa658e8f0d793a562f0
      commit cd54dd37d418c538c912c2b3efdf250f11fff882
      commit 85f5e8e4be18d201533032dca28f8a304ed2a008
      commit d47e8397afbe2b42537d5c09f6d47d874d57a912
      commit 4abb8ca64ae7c35bf8f5575ed6d26e252dcf7927
      commit 633b6dd1dede031253b432ddefe5a8206c1b945f
      commit 8f1660c61b3a9dc114c383675a3cf92a760522ae
      commit ed5ee9ef7ed2b24a0a623e8298dd0da8376a6b19
      commit 163bb0f8e6239d0c26cbcf538f71a88d4630b978
      commit ced73ec332356712f8eff05eef8c22888b43ef24
      commit dc8b5871a166d209df9ed855a85b8ce6da8bb70c
      commit 0bcddb84254400cc5f72de2eb5b368133fd49d67
      commit 27f200ff1826510235bef1c1d293281a6ff32169
      commit 78438dcbf04c431894b1b010811f3110c740dd4a
      commit aaca71d4c70272cfe658be58e2a45c9fd8a263d7
      commit 0b7a594c125e1a1f8070a12d222e735212c75478
      commit 7577538d2e363c33f8866a71b2de56287c33784d
      commit 196d924133907c3de0729e287aa42fc54472ab1c
      commit 0c41976980e1bbd8d0fa13c5561651dac11d5044
      commit 83249d04d4eefb7bc445f64ed553be17e218538b
      commit 5a49d86341308b78de6a411189e9dca610f5487b
      commit b84cab784827433885afc7fe26fa34e2e11c4241
      commit 799d9632011ca00a3455270f0816a09d956abb62
      commit 22b512727cf52dd50c4ee10987b69677760bb2f6
      commit fb04684d745375c9f4654227bef731d20aa9d83e
      commit fe5579b1c5d5e131ce51b63a3a3d48689f586dca
      commit 5cb416dc135e42dd0a27b67c32ddfd7a5b3bbe6e
      commit a56bb3f95d36b00a90e444e0aca585d27fa6df49
      commit d362c69719c581592a53f5db4f43506250870231
      commit d38e930f4d863f8f2a1ebf53e4f921d6a9ef9130
      commit 81e94681fc543fc81f8853b410a15e851f8a275a
      commit f0b3df11f3bbc7dfc875bc88b23d26b38b23bc27
      commit ec9fc8f68374f1e9b044ab2278991e9e60613b62
      commit 431650fa8a13ed46444aca306fced72abc568e01
      commit 12590d0279f3128ed0279ab89485d2213d98cc94
      commit b7dcd32fbb4b394c3683539bf2ccc7c691bca6cf
      commit 34102c039de4b7b3732461dcb2a19439694493c7
      commit 1b8c6835584ff5fef47f691e298be3f6f151d005
      commit 837af381bb683eada3fad9842ce3eb48bd842c21
      commit 0ec54b0de42c81b4e2b84eb8b0f87133721d90cd
      commit 11c664365ec07333129b541de740fc2e63e82a23
      commit b13a94180981412acb0b2a0eb5c200709ee4e2d9
      commit 2d0c0699b3c6079a13b6d0262cba88c85ae3626c
      commit 8e983ee155a7e901f30227cbfeafb80f8bc6f494
      commit 0e9ad2b1cbebebdca374ce0cd3a384cb8cea0417
      commit e398bfe941a54a088520cb45534471cda794e7ca
      commit dc0abcf44f7eb03eb6f141162c4623732455f694
      commit 2f3890720fd759cc4adff083fec61613208ca8c9
      commit c782471d01c4f6bd5cfd613c52a9465659436cfd
      commit 1dc684de5575b936b4fd776d342cb7dd7a55e448
      commit 61b952562cfa1369c4d5ff9d8ae7370ef33e8e41
      commit 2f4ff5f1cc50b27835d2d43d04e4844cfcdcac5a
      commit f5506037c5e3c8070382f087ff9e94ddb58f513a
      commit 72326868c1a0f36ea412dd4c8e44c9d3989ceb24
      commit 9628918c62d716662b5110a040ce21a00031a94b
      commit 09f6a5d018a49f069183ce0403eeed35f627ce9d
      commit 027e82a4a3f88bff2f4bd67862233053b37abfa6
      commit 6afb57551eb3481a8be07acc793602d0705f6e19
      commit cccb489c52cba06e2113b4fea1a1d46e4c4de5b5
      commit 1111e0c080778b462b9ab91139609aed45aca42a
      commit a60a6b4ea374ecbe254025e28525faf3fe2a3e5c
      commit 34853a63f1bcaaf98511a1f93d84d9681a154d0b
      commit cb5b5836687eb406bbc82c2bfdae547387b1118c
      commit 8214586be57e18163e61b173b64dd9a64f9fb1d2
      commit 8dc661b081def34e68f61ccca657275dc99389db
      commit 8b23ca439316a2558ae7c351eb5c6a3b1165dc1d
      commit 55453af5cda55b1a3632e58b0b79c87d167c1c6f
      commit 46efd65f8c6a4e751928d768b60b3981f660cd34
      commit 009216c41999bf19a167fdbed1df33489f8e6ad1
      commit 32f257db9e8e766a360333e437c33fd50b5b36d2
      commit 68a6653edb665351e11343a7b1daf9a0b1087426
      commit e9c4e87c27bb4c50959d5e4e9120abe34c7e1def
      commit 0899e95198e27a5e8c4843b621251aa034826136
      commit f8e5670f523c94eb35c96fa3993c3324987a3e45
      commit 97100972e0b88249c381d8f4ec1dfb47652dead1
      commit 8d280bcf61f63b6b3464b3d34bc13de4a4aca408
      commit 96c463c07a4edaf975ead6a79435f5bfc2a19ccb
      commit b7f7200d58d7efe856e21f153c55e3bec4ad22ba
      commit 0027bce677e4d23d8e497f6683e9cac50037c5d7
      commit ed56795a59a28640273f03ea287c0bb1a6500a2d
      commit d112303ad933a423ddd843215ca898b22f9f40fd
      commit 85b8264cbcd7603ac34db7a25c5344bd56870e2e
      commit 540a257a390d14afeab36996e6201bc3d39ab063
      commit dd2211b892a7feafc82a8efd34bb61c5d68baf90
      commit ecb6db48dcdd483d074ecc3bc6ecf627d14252dd
      commit 493ab3a48572768e7facd35fc9c155028dbe3251
      commit d065b7b42d43253148096ddcc91d6650a98946b0
      commit 7198a142a6c94f010f189ad23111d154c29d8f97
      commit 407e300528d0350a7fbbaf841b816c5a12d9824a
      commit 5caca5bde9fcf6fea2d9d8e2b3be52540e9b15e7
      commit 8bfda467b28665b2aaf793b667d39a81a7684390
      commit ffd907afecee879e1009ce5bdb728ac927f0c6d2
      commit 80d4b21be3952c5372394ed61025d46d33dca04f
      commit c18bc0f01ff87d9875edb662478e08bdfd304dd2
      commit 6f18320c8a75f72ac1a2f6b491475acbd50f1ef1
      commit 60372a4ff68e366c02dfded391ae32a1bc38613f
      commit 69bc5b1df2393a658423872790033e7e5d64f3cc
      commit 4913ba7c94191285bbeafe08fda47f4ed633e036
      commit 22174ddb842d34f19600c9f30aa6a38bd8433425
      commit 3e3e3b100d5ca80e1833c88306c39b7959ab4b14
      commit e778ee4a5a917fe29f03ecccb5713c74d1c580ef
      commit 7b7b4719bc83b9e96e151fb61be7ce9433e5fd5f
      commit 2a9be9ab1b5c4076e97c6a3f07604dea53f03ded
      commit 4515f68ed9b5b4ddbdf4f98a8ff5dba38073a3a2
      commit e8fa7dbb6d343f927d1fc0b30a6ef6a433cf9a26
      commit 531595f785700ea88f3b32bea33d28d7c9a89a37
      commit e86816e1dce718890ca4a628af4b15507b16f611
      commit 7725419785921725fb94285e39e851f03d505000
      commit 41cabc9a28968aba4d7f3de27d58b9dbc2e92558
      commit 3b132649f603f1e66d5828883456934b664b1a89
      commit bde4a15fefe82ef8c21b341fa222ab619c6a64d6
      commit ec62a70e72870d7d873d17a33aec52675d2fdabe
      commit 37cad1c5a07da3f6163689ed99532561ed93d074
      commit a991ef287496c00fb9cabd19e205a312e41290b4
      commit 495eab3a402212c4e99cfc0c7e985b21e9c3921a
      commit 699dd4ff1487e0f5f8d702388da25e843e4c8d79
      commit 48e3846ca5b51036bdca9552b7abde2c81ec9632
      commit f6771a4a62d514aa10b515af92a2d1fcba5e5253
      commit f041a4df4e6b61c3d44dbc59225e5fb235b2a938
      commit aec53b79f8ad6b149c3cdb06b88e2290d328a2db
      commit aca1ec2f8f5c6f0492fc6fd4e65cd072e75b94b3
      commit 283974bcb976452c858ac2711dbfbe4903858164
      commit 0adbcc271d8031f05aa162d44d4e9b8b3b158241
      commit 17901113bc585e080fb39c57a8ab987f5e6850a7
      commit 8d409ce00e5e298ab5fd9d2682c8b5cc054a3633
      commit 8e5ac0f2bd28fbe8d906237527a3503bd128090f
      commit 4a3225c482929a27fdeb86b4a529837b769056bb
      commit b1ce1c894515ac34dcda1cd8fd2d0f89440a0076
      commit fb8f523c38edd104fb6381e9b734f8badd6359c4
      commit ee9f8abacdf0c2d615aeda9f5be5a36c0ca5b0c2
      commit cde36746d5c5ea0d5822255378715daa96a2a4ee
      commit f5f09d03923a756c52bde0dffe841b033cd7948f
      commit 87a01d0da155453c3c2d5f830147c8792c9747dc
      commit 8d1d746930a5499fe7b590dc795b42ded5d2fbbf
      commit 118a8c18ed440f8f088da7425b0144658f698a5d
      commit 8e57478aae7ff7b85b4fd33108f691774ce109ad
      commit 6eb44b425b5e5fd27d695a7a8ef259882f5cc047
      commit ccb4101889321b76e0499da5fa266e6319047899
      commit 7e662d7543b8b65930d38e55e7b37c2e3f5af098
      commit c4c10041eade7e206cc2e0157ea80d40cb7d8283
      commit 19656aca6c66183f63feb10b073ac4c70b64ee43
      commit fb69b8a14aec02af7eeea82643a8766f9bb7c748
      commit 1515f39f737ec0ce306ad9f9970d8f8d02846ce4
      commit 6e3a2de944f18801235278dcff9e49aa2a6dfaf5
      commit cc8876778746e91dacd2487a52cfaebdd7874407
      commit 018752f7ab652e2d7a767ee36fa40e645a247935
      commit d2325c9fcfbdc45b12df46b549f09eeb31fca05f
      commit e8a63e50c46f69cf3480077fa7cd140937c3824a
      commit 16fdf76e7232c1ebe298ef876547e0ab4809db5d
      commit f4d4791b82fdfa966d6245a0c048336004b36f57
      commit f47e13c16d4c551366f71287ef96aa794f42467a
      commit d226eab316e409d96df4f9e247f7fb3bad06ecf7
      commit 57d87a8517ad15c314bf78b75ed131867f9f1af9
      commit dba60306f74d663ce50164ae9efbe825f44670e4
      commit 5d872025b3e18a12d8ae5cbb4c4393862763bffb
      commit 731a41ff96a4fccd382f722fca1fcc7145e08f2f
      commit a0b66a11180241c9939078f8a26c8b619fab0755
      commit 4ef871fc83d392f0ad7c277a30136f5701f3bd77
      commit 71bfe5383470539a1dd53ea6d25cb9b93ddaaadb
      commit d4de092b83f82940dabfcaaf5e257353ad843599
      commit 98a2103570c95bbf740f3ff62a8cce782a5a0b60
      commit 6b3978be33202f6f45f72c00ced00c102f5d5e73
      commit 5669a58f94c0682e5466ea1755aec4114c529952
      commit ec0de76998a917a9881b781aa80a27055b365935
      commit 6c42a13658d371b272453a28680bee2d87ff81e5
      commit 932b39a6e53e107706ba62b830499eb1a00d0cde
      commit 491565761251c8944c001025c07d74a35f81d3f1
      commit 6e27723a3ee92863414ebe5eea5058aae152d371
      commit cb72f0c8bc86500b96187bdd317c87a3e84db936
      commit 946cd65c0908387015b6652e80218969a0e6c314
      commit 3f51bf1d03e83e9abe86fcbf6790a62cca9e1e98
      commit 388354be82117b32e03c0ba8686d1d4da76888f9
      commit bc089560d1cc1cac2f289b54c5c2ff2353e58e68
      commit 23d169c333e90542e4700a36a7bd9478d04582c8
      commit 7d8f9cbd5f95f4261f8f7134c9ca945a02b16ef2
      commit b4f5899ffecbcf941e33ac0b6bf3588517c8427a
      commit 8fdb40a9beb2d5bebd9826eacd11ccfe7a562f10
      commit 3c6332702e715b4e56b1d3932d44834e4fe5491b
      commit f62f68fe099db0e5494502939520a20e8110eab7
      commit f89afb3bea9a1d1b94f014ac29f77ae4b5f314b9
      commit 3219480cdd048f23418093c2b57754e08f225713
      commit 100572c7e002297bd30e9fc8347753c2b8819804
      commit 117ce438ee80b7640d12ad6d5cfd8bcea1ab7318
      commit b48daefa1d7841b933ad8371e7f627f0451b63cb
      commit ed8d8ec837a82c61e9bdba15c43d9d25c8fd2b9b
      commit bb0113ef3afb92f7565c818010498c56efcd9583
      commit 8f16382fd6f5718102c79fdd5b1712544523af6b
      commit 78341fc7fa7a9242d1df899507ee6eebaf6060c0
      commit 26c3bf91a683b40627c938216bc6755e746c4e08
      commit 7ee0ea4d69db4106e717a8be316b16b0e4568546
      commit 7f18a2996789780e9e33a8b87379eabad164daad
      commit 80788ec92b2e6c19d2ea11b89d7e07aaa4802531
      commit 6bfdb5b4d92cc65c07a515facd8feba0591311b6
      commit ed28acd1605ca3849703fbd1520d414f01b56eaf
      commit 6d0aa4880f3d0e8b8f107980cfdf473f670975b5
      commit 6e9988a4ebe97cb4fb7eb149b3f5bdac2a4f72ee
      commit e0252985cc58520801bf3bdc100b1c0a291777d1
      commit c8f76ecefe9827b28eb39296791c9b67401ab02e
      commit 3ef7d783e0244e883c2d47d0eb0cfe118b8889b0
      commit da1db3516691ceaf1bb22775f0b06e5185984a2a
      commit 69fbc247e11d660979727f0f47f28c25174527bc
      commit 83d3e93d6073b4091f79d60a48d03c480412c266
      commit 0cf29fa169981083ad41a1fc7fd703c38b72a986
      commit 5f9010dafcbe77b7ac520f1325c60d85c57f851d
      commit f403ec48149be229f5385d0f2ce8f8a189b3c8df
      commit ff79cff67854291bcf0667eeb5179aca9d0e2edb
      commit 7a8ba94cab0a855d5e3996028bf79fabd06f5eec
      commit fb2af1443a0b23519d1fbb4f22df461ef6943bf3
      commit 33a1ac8385c9282b71f535ec1e1b7ccbca969a53
      commit 7ec0b66c94fef7702f15baf879583e4205969e2c
      commit 77d4ab8c4f2ef11a1ee467ff2f4626d4378d6de8
      commit 3bf853c4bb52cd1fa5af78d58e9329daafca0ec1
      commit 7d12af40b102d96daab375b5679982376f6f4dd6
      commit 770a787d418a68f306e0adcd2fd37bc6021b5263
      commit 2b6d8b6f839572e3bf48bd3b6fa10ae4a7d4a964
      commit 486087dc344839e5ebdffa0ce222834b6bdbdada
      commit 912a4858ed69726c71a59b65ccbc9faf04882a39
      commit ddd99be3dd16e9719bb1bebd5746552338cf33d1
      commit d92c85fb90d30f236d14c874ec93aa36e3632ffc
      commit 60e817df50c4b21c7041af776bce406683883b87
      commit 682f892bd3feea3992a18be93844f3ca0c656a2d
      commit 03f8fc41f1a387e941970bcf1de5cf3109341c37
      commit 4b3598bce53d3cef048c9a510c7fb133cf1fe0fb
      commit 93596821d5e39321b6f8af70f5916ae5597e7ca6
      commit eb4d3e11f287b186294dc17fce389b01121094e9
      commit db6d38d28b13ee796464619d6712389350c774e2
      commit 553e2afa3bb16aa115bd892bc27f115c11ef8ec1
      commit 796701619ed144686d8e497d890d7c62ec982a81
      commit b5f6f7afb70964d5517b13c6c6a7a35302081de5
      commit 069907f4cddc0aa492296420c7e239f84cf73e16
      commit 01bdaf1621628091a15b33c7103f0b3b2ef31ca4
      commit a6d7f81e843bccb62b15ac1c676a6877d9b33467
      commit 8c13a6df1f1536413ddb9ad1c7e86d558e3819f1
      commit e7068d590871692eac440b877c800e9ffe2e96ab
      commit ca156c1bd762f81ab86013e496e2ac109646dd7c
      commit 6c4ee206ce4cbd70be8269dd38f353107788f415
      commit 6ba119e5c800614a442eb7aab46759be2f42c389
      commit 8bd02fc02427abb9d0fa8690b8986c520351bf02
      commit 14f8b362dedaaf231650449f50cf19def27e9b2b
      commit 5cf5473169a198daf9abcd823d5c7e0c44aa2429
      commit 5e0e4b34f90267b99d9cce38e4e831a701ebfaaa
      commit f37437dbe33962933f300cae19a80f4924c0fdb5
      commit fab36fa7634de4178060af64e8a2bb7569905aa7
      commit e58c9d5aa77bc3b5deee337ade47624a016e0da6
      commit adc29fb42c0b1d9fbebdc20ee1c43e6eb62930a3
      commit 46db3694f163bc0950575af75f4e4fc39938fde9
      commit f86c599ecc902bfe6c87f4b3c69c8365abb308ae
      commit 22772bb1aa1f3b2c12e0e6355cfb7961b18dae7d
      commit c9c4d85682a225a77747369f5926a0d60380b151
      commit b8061a14c97d686421c932c404dcd2810bdc79c0
      commit ad73a14587cc714806637e01056aef88d5db6ef5
      commit 8f0fb36540ff5e56f94c03bc88636769d1c42c0c
      commit 617da659daba72c63adb65e1c409f0e50faeaffc
      commit a1741323a0302dd7d9c82d3b23fc66693477d200
      commit d6469d1464f071d6c9c417c0adea76356a502489
      commit 078c5d64047c23fad8f0426171fdb58a1968b929
      commit 00b78519522619e67506b7110278e9b3efa615e0
      commit a390e4a5a651eeef77c3817cec9bd9b45de94f4e
      commit 4b8a2c5bea04475c910a34595e3a83fbc871f8f8
      commit 20e57775e4dd7875d4ddbf3b310036a049d727cd
      commit b1504d60ba800ad0ad365175ceeaece1d5bf99d7
      commit 0d58266469a2f7702e3b0700f36c2df69d9845b1
      commit e1683d45b2441057b99e9f639efb5654f85a10fd
      commit e6d4243e94367a607ba2308541bce3687bcd79a5
      commit 49d9c7fcc2bf62f1a30d8bca3c455764d0eeeaa6
      commit d440e595e5cf411dd09112ec3e83852f6a5f136d
      commit 5b78a93db5332605dc3c9ac8bc2c5e690a546b67
      commit 469be6fab7893dfe3305dd8f7d14b22cb2760ea5
      commit 233448f66b35cb0419af6f6c293c092f7a0665a2
      commit 8e4334af31bf7c2dd29aba6b610237c9f0bd20cb
      commit ee26bd66befb687579b69cae465480beb0ec33f6
      commit d2106ea4c57ae0f6e11c8529368879cb2210dd55
      commit 0ad0fb1af88af4ec35fb7f25fc94864143675496
      commit 73de8f165bc1428c76f3b2597b208d1cd356a252
      commit 39b6e5a15de2170cde1ba775d9e6e4c26eec7ebe
      commit df442f6d1611989c0b8d1790d5c09d29086f5414
      commit fdcd65fe0a4bbc4858cf23313b767cd7f98d1fdb
      commit 3d63835eafa91670421f41c815e1a7d8f44f8ffd

Ajinkya (2):
      converting README to markdown format
      moving HISTORY.txt to markdown format

Ajinkya Kale (49):
      Refactoring math dir : deleting unused functions from discrete.cc
      Refactoring math dir : deleting unused functions from discrete.h
      Refactoring math dir : getting rid of unused kernels
      Had removed factorial func by mistake which broke the build. Adding it back.
      Had removed factorial func by mistake which broke the build. Adding it back.
      Refactoring math dir : getting rid of unused functions
      Refactoring math dir : getting rid of spherevolume function
      Refactoring math dir : getting rid of spherevolume function
      commit fcb59905c029ccf27d6ce1521259a712890f6a62
      Refactoring math dir : getting rid of unused stuff
      Refactoring math dir : removing discrete.cc, discrete.h, geometry.cc, geometry.h
      Refactoring math dir : getting rid of unused functions and constants (#116: Investigate what is present and used in fastlib/math/)
      Ticket #126 : PCA code
      Ticket #126 : added entry for pca
      added comments and made some formatting changes
      changed the pca api. not using Armadillo's pca anymore. Still making a few changes ..need to check-in the comments to the api.
      Code refactoring. Added comments to the methods.
      <#126: Implement simple PCA> adding pca_test
      <#126: Implement simple PCA> adding pca_test
      <#126: Implement simple PCA> removing pca_test from pca dir (Added it in tests dir)
      commit fcae3eb8368b36b295daa65824241dc42450401e
      <#126: Implement simple PCA> changed assert to BOOST_REQUIRE_SMALL
      <#165: PCA::Apply() fails with Armadillo error> was a minor bug in the indices passed to shed_cols
      < #166: PCA fails comparison with MATLAB> centering and scaling was causing the difference. By default other packages do not do zero-centering and scaling with std deviation.
      changed the test to accomodate pricipal axes in opp direction ie when eigenvectors returned are flipped in sign compared to the eignvec returned by matlab for the same dataset
      changed the api to accomodate centering and scaling of initial dataset. There was a bug as the end result of the transformed data was not centered, the results were not matching those from matlab.
      changed the api to accomodate centering and scaling of initial dataset.
      and i present you <Kernel PCA>
      got the implementation into hpp file to include it in the class def. This is need to make the templates work. Good article here which talk about why we need this http://www.comeaucomputing.com/techtalk/templates/#whylinkerror
      commit b557d834d4dba5684c175b9d088895ddd981b917
      kernel pca works with linear Kernel now.
      commit 5f453206758a5f8682e152da58f748f3d9bb2898
      kernel pca test file
      exponential kernel
      laplacian kernel
      polynomial kernel
      formatting changes
      hyperbolic tangent kernel
      fixed a few bugs
      tests for the new kernels
      commit 3dec62c0898d72027ba0316df76f2a6b20768ce5
      added download link to build page on mlpack.org
      adding index links
      fixing mlpack homepage link
      fixing headings
      adding readme
      fixing formatting
      Update README.md
      Update README.md

Barak A. Pearlmutter (16):
      correct diferent spelling
      upstream development repo moved from svn to git on github
      merge upstream/2.0.0 carrying along only debian/*
      forward port quilt patches, augment spelling patch
      bump to libmlpack.so.2
      build dependency on libboost-serialization-dev
      upstream README.txt now README.md
      remove obsolete field DM-Upload-Allowed
      dh_install --list-missing
      upstream now prefixes binaries with mlpack_
      hdf5 include directory debian/rules tweak seems unnecessary
      document html documentation
      update debian/copyright per upstream COPYRIGHT.txt
      canonicalize to lower case mlpack per upstream request
      generated files to clean
      log changes

Bill March (335):
      Bill's code
      Adding NSF proposal
      Updated drafts
      stuff
      stuff
      updated proposal
      more draft
      more NSF
      nsf drafts
      draft revisions
      drafts again
      drafts drafts drafts
      I am sick of drafts
      blah
      added Union-Find data structure
      updated emst
      adding platonic allnn
      cleaning up
      updated comments
      small updates
      a few more changes
      added some tests
      last minute changes
      cleaned it up
      adding test data
      deleted old file
      minor changes
      fixed UnionFind unit tests
      hartree-fock code
      unit tests for Ryan
      changed stuff
      code hooray
      stuff
      hf stuff
      commit 36a1d0c2c0a1e66eb7a34e282c3504de88c91669
      error testing stuff
      changed stuff
      fixed things
      fixed lower bound problem
      added readme
      the build file helps
      changing recursion to include square trees
      fixed symmetry and hybrid error
      scf working
      fixed bug in DEBUG_APPROX_DOUBLE
      working, but slow
      more updates and fixes
      I hate electrons.
      before DIIS
      hacky damping, woo
      the hack works better
      little cleanup
      last minute
      missing file
      fixed Doxygen error in fx_submodule
      fixed timers
      fixed fx problems
      Ryan can't spell, and cylces don't exist
      made sure absolute prunes are impossible when lower bound is zero
      quick fixes
      added better multi-tree timing infrastructure
      added another timer
      some debug checks
      added naive timing stuff
      fixed mac error
      quick typo fix
      testing basis energies
      commit 039896b87731c25f75e76c97b7c3a9f15f5de299
      commit baab66f91f1149e4cdc544c838f2293c79dcb390
      hf bound function
      fixed optimization lib name
      finding clusters with emst
      commit ef0d9e5813207f4f8dbf303583c3a6dbb03eb963
      commit a0bd03465970753e94f988c31a9039efa8c2b17e
      Timing added.
      MLPACK final demo version.
      commit b75a9e2751ee505981dda72e0ec28726f2ae0f92
      commit eaed08a6b8c1f52c1e9dcf7510643f898cf16bdd
      commit 1b9f8882b874c10cd4adc93a3ae372153918dcd5
      commit 228a9265774e22e5e308e0032806d41c0d13a4b4
      commit ba86658b88f9bdb9d0220eca8662f2933e0fddd4
      fixed build script for macs
      commit 163e801eec2ed8a1df1ac0d48b1f104365ec1944
      commit 2982edf6381d1419ff5b28f7e2d6372353f232cd
      commit 4f0f22ee6bea1ccf682d85fd7dd2f8003c1040e6
      commit 38f43cfaca9860200e37fe8ea3180620003fee6d
      commit 81b66a87792356eeaac41e1d087ca94463c3498b
      commit e5972ee6120f4200c3c231c4fe64ac2adb2347d1
      commit fa9a48a995d9b278fd83e7a2553cc1beb1767cd9
      commit a20ba322acf8fbe9a5d8563d461c242570b21216
      commit b78f055d6cd14f94455181aeb5e5467461d14c72
      commit fd8e34b6f79576614aba04da92128dbfbb298696
      commit 79bd95b6ac34e1331315a45d8899256a4808088c
      commit d1a321dcfc51571bf4676a1cd1e77808314d8ca4
      commit 96b37c4b73497597a5b504dd712b077b387d525c
      commit 8c301af76e94cedccb139f4d9dc70b6d537af99e
      commit 31e6b0f057fee16fa1965347151f510d755f5a1d
      commit 6c65bc6e3eeb6167aa658cc2f6ba6b86807fe4fb
      commit 187031e79b6d131e8916bdbea4c7d12498b84f30
      commit e1f9a779b659cef1e55a70fe5474518bd324e3b3
      commit f818423d094eee7111380c5de25492bd51a52358
      commit bad24bead6e01c215f1306bd924d60cb3649711e
      commit 552145ee3e111b6b9ff1e232a35a437ce5b9c69f
      commit 4f171d1225e4e2445293af407a9625beb950926b
      rearranged directories
      commit 2b268dec244f73fbacf7e2aba1611ba5b98e8742
      changed output and added charges to base case
      fixed symmetry in base case
      commit 9f3fb2ad1a56a9759c46fcd8a0dd9c2b5ffcabf5
      commit 635d5dac9eec89c285c8ecf9c8c362ce30fafad5
      commit 548c1c43c4f93dde040b7cb81285979a454a711c
      fixed uninitialized vector, worked on link and multi-tree
      worked onlink sorting
      copied approximation functions and updated bounds in multi tree code
      finished copying functions over and added integral routines for distances
      added some fx documentation
      fixed exchange computation in naive and prescreening
      fixed some overcouting in link, added sorting and merging of integral lists
      fixed link integrals
      put normalization inside integral code, added permutations
      added docs
      added weighted bounding box averaging
      commit 032b154507ed5807a9cf1edcb8dc9d9c3632e700
      added F_m
      fixed cfmm base case
      adding one electron integrals
      added some one electron integrals and comparison code
      fixed and standardized comparison against naive
      fixed storage path for fxrun
      commit 9284516181984415d32f52a6fe8a1f2a657159db
      commit 68b4bf4f0e5315b17c5cd9c4ff2c8f1ab73b5afe
      messed with schwartz factor
      fixed num pruned shell pairs
      fixed pointer bug
      commit be9ca9cb28a6447fd8ce03883f9f672133b63849
      fixed timing and docs in cfmm
      commit 55a2df6968bf698c5ee2134c9f6a19e59b51ae3f
      commit c10965433130de3fac0ef803d9ba32a78bc07877
      fixed weighted average of bounding boxes
      fixed bounds and error control in multi tree
      fixed link sorting
      fixed naive storage to work with fx-run
      fixed naive storage to work with fx-run
      storing integral components
      commit 4ec026a18649abe30d8e45a0e70ef5a8ca011f42
      commit 7a27f518b01a4bb24d51f6f929b59a1737cb4901
      fixed oeints, started new verison of scf solver to replace old hf
      adding schwartz bounds to multi-tree code
      standardized fock algorithms for scf code.  also added schwartz prescreening to multi tree
      fixed scf integrals and compilation issues
      changed mu_ind to lambda_ind
      fixed link density check
      everything but CFMM works with SCF code
      updated scf output
      cleaned up printing for scf code
      fixed bug in core matrix computation
      added core hamiltonian to comparison code
      fixed nuclear charges reading
      added ability to read density matrices from QChem
      allowed cflags to be called by linker as well (added under Ryan's supervision)
      added qchem density reading
      fixed strcmp for qchem input
      basic libint interface works
      more improvements to integral code, fixed major problem with CanPrune_()
      fixed remaining_epsilon in PropagateBoundsUp_()
      commit 43bbf318fcb26bbab5cce683768510f8e14e9a2f
      commit de675f043e63a22715264ce8f4b72d1fc76659ad
      commit 0a519ebcdec4af3e1674344bdfaf0c7371fc9a39
      tried fixing remaining references in FillApproximationCoulomb_
      tried more error fixes, worked on normalizing integrals, fixed reinitialization of matrices in comparison code
      fixed permutation error for density matrices, added normalization to integral wrappers
      updated exchange error
      few book-keeping fixes
      changed to prescreening comparison for error
      tried to reduce memory usage of multi tree
      added ability to compute combined CFMM/LinK energies
      fixed memory usage in CFMM/LinK comparison
      removed matrix saving
      fixed multi output
      added storage of overlap and core matrices in comparison code
      added storage of overlap and core matrices in comparison code
      added documentation for nuclear centers
      added documentation for nuclear centers
      fixed exit failure for multi tree runs
      changed eri code over to higher momenta
      Created IntegralTensor class to handle unpermuting integrals
      fixed auxiliary integral calculation and added ssss integral support
      added higher momentum overlap integral and some test code
      added kinetic and nuclear integrals
      working on higher momentum SCF code
      fixed kinetic integrals
      energies correct for single atoms
      working on F_m
      added other F_m computations
      finished prescreening, started on link
      link working
      updated CFMM
      updated CFMM to handle higher momenta
      wrote BasisShell tree, working on testing it
      shell tree tests working
      added matrix tree
      wrote matrix tree tests
      base case and tree construction working
      implemented absolute error pruning and bounds infrastructure
      added and tested bounds, fixed node counts
      more updates to work with higher momentum code
      changed build file to work on either machine
      trying to fix memory errors
      trying to fix memory errors
      fixed memory leak error
      fixed splitting of off-diagonal matrix tree nodes
      cleaned up for testing
      fixed memory leaks
      split coulomb and exchange recursion, added prescreening prune
      fixed memory leak
      fixed memory leak #2
      EMST on cover tree
      implemented cover tree emst
      hybrid expansion pattern
      bug fixing
      adding comparison code
      added sorting of edges
      debugging
      debugged
      cleanup, added documentation
      added sorting and documentation
      wrote GeoMST
      cleaned up output for experiments
      added the single fragment algorithm from Friedman & Bentley's 1977 paper
      wrote NEKMA multi-fragment algorithm
      fixed bug in nearest neighbor finder, corrected multi-fragment algorithm
      fixed multi fragment bug
      fixed bug in cover tree version, needed to ensure valid bound in CopyCoverSets_
      added new prunes to cover tree: setting upper bound for ref in base case and implied bound in ref descend
      fixed error in implied prune, must have d(q, r) large
      n-point correlations, wrote basic kernel function
      wrote base case and naive code to use it, few more problems with passing partial tuples around, tests to come
      and now, to actually add the files
      fixed a few small errors, made test cases, naive works for 2 and 3 point tests
      wrote depth first recursive code, fixed bug in base case
      wrote and tested counting function
      wrote basic hybrid expansion pattern, wrote function to test node lists
      finished hybrid expansion, added bad symmetry output to node checks
      fixed bug in hybrid expansion - can't exit checking a node tuple when a pair excludes because the tuple may still have bad symmetry
      actually fixed it now, replaced decrementing a global lower bound with just summing up the bounds as I traverse the new list.
      working on multi-bandwidth version
      wrote permutation free version
      updated cmake list
      Permutation free version works for just upper bounds as long as I recompute all the distances after each split.  Need to work on UpdateIndices_() to figure out why keeping them doesn't work.  Add lower bounds after that.
      fixed bug in UpdateIndices_, was using wrong index
      added lower bounds to perm-free, stopped recomputing invalid indices
      wrote multi-matcher with inefficient base case
      base case & output debugged, on to pruning
      successfully debugged for small 2 and 3 point tests
      improved pruning slightly
      fixed a memory leak when copying arrays of GenMatrices
      fixed memory leak, should be fine now
      wrote code to time single matcher code over multiple matchers
      fixed small error in naive multi main
      reorganizing HF code
      added boost 1.45.0 to Boost_ADDITIONAL_VERSIONS
      fixed casting error in fastica, changed isnan and isinf to std:isnan, std::isinf in kde
      started new implementaion of n-point, wrote Permutations and tested it
      wrote and tested single matcher
      wrote old auton-style multi-tree n-point, did very basic tests, needs more testing.
      wrote naive npt
      fixed bug in naive code, wrote I/O for main, started on permutation-free algorithm.
      writing body of matcher and node_tuple
      finished writing permutation free version
      finished perm free alg, fixing bugs
      fixed bugs in perm free implementation, now naive, single, and perm free are correct on 2 and 3pt tests
      I lied before, but now perm free is actually fixed and passes 3pt tests
      added timing stuff to n_point_main
      fixed a pruning error, wasn't catching bad symmetry cases
      added multi bandwidth to main
      rewrote perm_free node list updates, starting on multi bandwidth reimplementation
      wrote generic multi bandwidth code, still a few bugs, though
      added better output, fixed bug in indexing
      fixed bugs in the multi bandwidth version, writing new I/O
      making the constructors uniform
      Added matcher generator, passes basic tests
      made sure that multi bandwidth computed results for the upper limit of the input as well
      updated single bandwidth main
      removed deprecated fx stuff
      fixed PARAM info
      added PARAM_FLAG() etc. to multi bandwidth main
      fixed PARAM stuff
      added support for DDR-type counts
      started implementation of specialized case, wrote most of algorithm class, wrote point tuple comparison for matcher
      finished up angle implementation
      added support to for single matcher alg to angle matcher main, fixing bugs
      crusing bugs (and it helps to call Compute())
      trying new angle-based pruning rule
      fixed bug in angle pruning
      fixed tree stuff and corrected angle based pruning
      cleaned up angle code
      reorganized code to take generic algorithm class, results are now stored in the matchers, which probably need to be renamed
      working on weird tree bug
      right CMakeList
      right CMakeList
      finished up generic angle version, still not sure what was wrong with the nodes for a while
      added resampling code
      wrapping up resampling code
      cleared out npt, moving current stuff over for major refactoring
      added CMakeLists.txt, apparently not having one breaks the build?
      the refactoring continues
      more refactoring
      refactoring continues
      wrapping up refactoring
      adding single computation main for verification
      added single matcher test infrastructure
      wrote simple, serial two_point_correlation code; currently only does DD and DR counts (and not at the same time)
      distributed two point implementation
      added two point tests
      single_main change
      fixed two_point test, reading a float from file isn't the same as the original float
      fixing tests, writing distributed test
      working on distributed two point
      added full sized tests and different num_threads, everything still passes
      committing small changes in advance of destruction
      fixed a comment, added paper citation
      wrote very basic two point kernel and tests
      updated n_point for reorganized mlpack, also removed link against fastlib in contrib/CMakeLists.txt
      adding (nonworking) single bandwidth test, removed fastlib from contrib's CMakeLists.txt
      added angle resampling tests, squished some bugs, still a few to go.
      sorry, broke the build; I'm now completely in favor of Ryan's idea to move contrib out of the mlpack directory.
      refactored random generation stuff, wrote a simple timing case
      fixed small bug in angle results, made random generation stuff backwards compatible with boost (hopefully)
      wrote emst_tests, fixed a few problems created by blindly replacing index_t with size_t
      cleaned up a bit
      split dtb into _impl.hpp, should finish off ticket 117
      fixed compilation error for boost 1.47 by adding <> to uniform_01
      fixed line that referred to nearest neighbor search
      wrote EMST tutorial
      Updated EMST code to use tree traverser abstractions.

Dongryeol Lee (2664):
      hi
      moved over Auton KDE distribution here, but it has to be ported. I'll do this later
      Initial checkin of the series expansion stuff in a library form
      Update to the series expansion library
      More unit test for series expansion
      Partially templatized series expansion class, still need to implement for Epanechnikov Kernel
      Cleanup in progress for expansion stuff
      Made SeriesExpansionAux object with SeriesExpansion class as a pointer
      Added BinomialCoefficient method under discrete.cc/discrete.h
      Small bug fix in TransFarToFar: the order of the approximation was set to 0, but it really should have been set to the order of the translated expansion
      Added a new member variable under SeriesExpansionAux for speeding up convolution sum
      Added acceleration for TransFarToFar operator
      Added acceleration for TransLocalToLocal
      Added the method for computing the required order of approximation for H2L operator
      Initial checkin of derivative computer
      Templatized kernel derivative computer
      Added in derivative computation for Epanechnikov kernel, but needs to be tested
      Now supports Epanechinkov transform using the generalized FMM framework. Need to workout some cancellation error issue
      Some fixes for cancellation error that might pop up for complex cases
      Going to break up SeriesExpansion class into FarFieldExpansion and LocalExpansion classes (objectifying)
      Added LocalExpansion class (to be ported over from SeriesExpansion class)
      Objectification complete, need to fill out error bound functions
      Epanechinkov expansion bug finally caught
      Removed series_expansion.h since it was split into FarFieldExpansion and LocalExpansion
      Ported over error bound computation for Gaussian expansions
      commit 99259a902cf145682a3a0f59550906deac748cfa
      Initial checkin of multibody code
      Porting in progress, added in basic skeleton of the code
      Added the basic finite difference scheme, now debugging and unit testing remains
      Exhaustive multibody coded in for three-body Gaussian
      multibody porting completed, now have to add in expansion stuff
      Pruning rule with error reclamation
      more code restructuring, with MultibodyKernel defined
      more code restructuring, with MultibodyKernel defined
      more code cleanup
      Basic form of 3-way convolution added for series expansion
      Convolution form of three-body summation added, but needs debugging
      All bugs fixed for three-way convolution
      Test case added for Three way convolution of Gaussian sums
      Added in three-way convolution for Gaussian in multibody code
      More compilation fixes, still need to add in error bound computation for convolution and more fancier approximation methods
      some minor changes, regarding generalization beyond 3-body
      More memory bug fix for seriesexpansion class
      final bug fix on three-way convolution - fixed the bug that made the centroid of each node as zero vector
      Added in combination enumerator, now ready to transition to hybrid algorithm
      Initial check in of LHC stuff
      restructuring
      main driver added
      Now compilable, still need to port the rest
      Fully ported tree-based orthogonal range search
      All bugs fixed for single-tree orthogonal range queries
      Starting implementation of dual-tree based orthogonal range queries
      Now the timing comparison between the two is fair
      restructuring for batch experiment
      Added combination to rank function
      Version before adding in bidirectional optimization
      Now records speedup factor over naive
      Initial version of bidirectional, needs improvement
      still needs improvement
      Implemented a second cheaper convolution of two multipole moments mixed in with exhaustive computation
      Tried out both types of series expansion, but does not work, will be focusing on bidirectional version
      Another version
      Bug fix
      Checkin before the porting
      started kde header file
      Axilrod-Teller ported
      Started series expansion based KDE class
      Added naive KDE
      Basic skeleton of KDE ported
      Added proximity project directory, now starting on FFT version of KDE
      Spill kd-tree implemented
      Added main.cc
      basic finite difference KDE ported, now need to plug in series expansion
      Finite difference debugged
      mean shift directory added, enhanced pruning rule for kde in effect
      Basic skeleton of series expansion stuff added, but needs to add in the core part
      Took debugging part
      Single bandwidth KDE with series-based acceleration has been ported
      PCA tree in progress
      started fft version of KDE
      Ported more of fft KDE
      Miscellaenous cleanup
      FFT KDE compiles now, now need to debug
      Combined error bound computation and derivative computations into a single class
      now supports KDE with Epanechnikov kernel series-expansion
      Initial directory checkin of local polynomial regression
      a small bug fix for far field evaluation - the function really needed to take the approximation order but it evaluated up to the full order
      p^D expansion stuff
      updated the build file for the series expansion library
      small bug fix on multiplicative kernel expansion
      another bug fix
      more bug fix on translation operators for multiplicative kernel
      generalized plug-in series-expansion framework completed
      needs fixing for fft KDE
      FFT KDE fully debugged.
      Started LPR
      Naive local polynomial regression completed
      Small fix for checking against exhaustive result
      Fixed so that scaling is done before the tree construction
      some adjustment in p^D expansion
      FGT KDE being ported
      Change to multibody code due to SeriesExpansion library change
      Simplified error bound for D^p expansion
      FGT KDE debugged
      some minor changes in timing for FGT KDE
      Initial commit for experimental setup of IFGT
      DataAdaptive IFGT bug fix
      Experimental setup fix for IFGT
      Some bug fixes for KDE
      memory bug has been fixed
      currently tweaked KDE for p^D expansion for experiments
      compilation fix for multibody
      small fix in the upper bound change computation in Prunable
      another fix for UpdateBounds
      restructuring of the build file
      modified post processing function to fully update lower and upper bounds for each query point
      Redefined function sets for SeriesExpansion classes, and fixed compilation errors due to this change
      hierarhicical pca almost completed
      hierarchical pca debugging
      hierarchical pca fixed!
      pca tree final commit
      generalized kd-tree with plug-in split rules
      checkin of thor kde (initial)
      skeleton thor KDE compiles, but needs to fill in function
      adding skeleton thor KDE
      marched through the initialization and tree construction phase of thor
      minor change to series expansion
      Thor KDE does not crash any more, but stub functions need to be filled in
      Filled out a portion of the skeleton of THOR KDE
      finite difference KDE without optimization written, debugging left
      checkin of what i have now
      THOR KDE with pure finite difference works
      all bugs in thor kde finite difference ironed out, need to add in further optimizations
      Added Garry's optimized pruning rule, just need to integrate series expansion stuffs now
      quick fix on the timer stuff for timing naive
      cleaned up the template mess in series expansion class and fixed compilation errors due to the template cleanup
      new formulation of KDE using THOR semantic
      Converted KDE to use THOR grammar
      Made separate mains for fgt and fft
      THOR-style DFS series-expansion based KDE implemented
      Small compilation change in multiplicative expansion
      critical performance bug fix
      factorial functions in auxilary series expansion object converted to const functions
      Does cutoff of singular value based on its value compared to the maximum
      Fix on generalized kd-tree implementation
      added two options for expansion pattern for THOR-based KDE
      Separated naive kde implementation into separate file
      tree saving/loading supported
      currently saves the permuted matrix dataset, but need to figure out how apply permutation
      range search with serialization finished
      quick fix to account for dataset permutation
      Compilation fixes before the code freeze
      Took out the parts that are currently under development
      Swapped the thor-style KDE with the current stable version
      old version of KDE is bugged, so I'm checking in the thor-style KDE which works
      Took out dataset reading from algorithm core
      Added dataset scaler
      Renamed main.cc to kde_main.cc
      Fast KDE is now using submodule for organizing parameters
      Extensive commenting and instructions on how to run fast kde is completed
      FFT based KDE fully documented
      Basic documentation for running FGT based KDE completed
      Bug fix in FGT based KDE
      General commenting updates
      more doxygen stuff
      removed thor style KDE (backup version)
      Another pass in doxygen-style documentations
      Checking in more documented stuffs
      Added the original IFGT, took out the bugged IFGT
      Minor commenting correction
      Renamed the main driver file
      Fixed up user-level functions for better interfacing
      Another quick fix under debug mode
      More extensive commenting on the FGT code
      Added automatic parameter tuning for the original IFGT
      Minor print statement taken out from IFGT
      Finished doxygen-style commenting
      Minor doxygen comment fix
      Minor doxygen comment correction
      A fix for OrthoRangeSearch objects to support multiple usages for a single object
      Initial checkin of the multibody code
      declared OrthoRangeSearch class to be non-copiable
      Minor documentation changes
      Added the original vanilla dual-tree KDE
      Added error reclamation trick for the dualtree KDE
      memory consumption fix
      Added the vanilla dual-tree KDE
      Initial checkin of the regression package to be released
      Outlined the basic form of the algorithm
      Implementation header initial checkin
      Changed the build file
      Base case of the phase 1 algorithm flashed out
      Skeleton 4-way recursion code added in
      Finished the pruning rule
      Added preprocessing for the reference tree
      Some file renaming, added the header for post processing
      Finished the postprocessing for the first phase of the algorithm
      Restructuring of the files
      Changed the field variable names of Stat class to be more general
      Basically ready to start the Krylov phase of the algorithm
      more structuring
      More initialization routines completed
      Ready to start the skeleton dual-tree code for the 2nd phase
      Base case for the second phase completed...
      Finished the rough structure except for the main Krylov subspace solver
      Fixed the postprocessing function for the 2nd phase
      SYMMLQ function finished. Debuggin in process
      Currently debugging
      Middle of debugging
      Phase 1 debugged
      Added the test file for phase 1
      The first working version of the matrix-free Krylov subspace local linear regression
      Completely debugged locally linear regression
      Changed the scaling
      Added a new scaling function
      Added the naive method
      Fixed the local linear naive code
      Fixed the local linear naive code
      Fixed a crucial bug in naive local linear
      Fixed a small performance bug
      Need to replace SYMMLQ method with Lanczos tridiagonalizer
      Now phase 2 does relative error
      Took out the test routine
      Performance enhancement
      Krylov subspace version of local linear regression completed
      Renamed the naive algorithm to handle locally constant regression
      initial check in of the dense version of local polynomial regression
      Restructuring the utility class
      Added the implementation file for the dense version of LPR
      Added utility class for matrix
      Base case finished
      Finished the query tree initialization phase for dense version of LPR
      Algorithm reformulation
      More fixes
      Finished implementing the dense formulation of LPR
      Fixed the compilation error
      Fixed the compilation error
      Debuggin in process
      More fixes
      Bug fix
      Fixed the compilation error
      More fix
      Fix for NWR
      Bug fix in naive local polynomial
      Minor fix to dense LPR code
      Another fix to the naive lpr code
      Fix in the matrix util
      Minor fixes to output module
      Added Deng and Moore's pruning rule, but needs to be filled in
      More utility functions for testing correctness
      Confirmed the correctness of the pruning
      Fixed parameter module
      Fixing the naive algorithm to compute confidence bands
      Naive algorithm now outputs confidence bands
      Verified the naive algorithm
      Took out the template argument that specified the local polynomial order
      Variable bandwidth for naive algorithm implemented
      Minior fix to the do LOO nn search
      Naive LPR confidence band fix
      Minor addition to the driver file
      Modified the tree-based code to do train/prediction phase separately
      Little fix on the parameter
      Need to fix the correctness of dense LPR
      Some bug fix
      No bug - just a misuse of the kernel function in two algorithms during comparison
      Fast code now computes confidence bands
      Epanechnikov series expansion added for code
      Minor variable name fix
      Some performance tuning
      Added the lower bound optimization for the dense formulation
      Dense LPR cannot run beyond linear order
      Change in bound computing function
      Faster Epanechnikov pruning added
      Now does proper pruning based on the B^T W(q)^2 B component, with Epanechnikov kernel acceleration
      Final performance tuning on the dense version of the algorithm
      Added variable bandwidth support
      Methods added to the main driver
      Single tree mode added
      Naive algorithm now uses much less memory
      Some compiling error fix for the matrix-free driver
      Took out EpanKernel moment out and made it a separate header
      Renamed and restructured the matrix-free version
      Second round of going through and fixing compilation errors
      Almost done reviving the matrix-free version of LPR
      Minor bug fix
      A minor fix
      Fix in the bug in pruning
      Went through up to the phase 1 part of the matrix free algorithm
      Started debugging the krylov solver part
      Added a utility function for LPR
      Separated out heuristic function for node expansion into a separate file
      More fix to come for krylov_lpr_solver_impl.h
      Got it to compile
      Last generation of the bugs have been caught for krylov LPR
      More crashes caught
      Bug in Phase 2 detected. need to fix now
      Phase 1 has Epanechnikov acceleration added
      Last attempt on krylov-based method
      Epanechnikov acceleration added to Krylov method
      Sparse version now stores dense far-field moments
      Finally done with matrix-free version
      Memory consumption cut in half
      Need to fix matrix-free version now
      Fix for variable bandwidth
      Initial check in of dense version
      Added the naive version
      Added the multiindex expansion tool
      Fixed the bug on the knn bandwidth
      Fix to the variable bandwidth case
      Removed the custom-built Krylov solver, now going to replace it with Epetra solver
      Got Epetra stuff to compile
      Compiled the iterative method... Now debugging
      Still does not work - possibly misuse or a bug in AztecOO
      Everything is fixed, and it works now
      A bug in the matrix-vector multiplier. Need to fix now
      There was a problem in reference-side initialization - needed to clear out the Epanechnikov moments, but didn't. Now the reference stats are reset everytime the dual-tree multiplier call is made
      Initial check in of the Multi Conjugate-Gradient algorithm
      Some more tweaks
      A minor bug fix in CG method - needed to subtract off the number of queries at one point
      Added the optimization for letting converged queries exit the Krylov loop.
      Added the Krylov solver file
      Added a solver file to the build file description
      Fix in the parameter retrieval in the matrix-free method
      Edited the status message a bit in the CG loop
      Need to optimize more by sharing stratification results
      Optimized the performance of the CG-based LPR algorithm
      Now saves the first column of the linear operators for the matrix-free version, but this is still linear in the number of unknowns
      Revived the proximity project under new CVS
      Added the ball-tree
      A little optimization in the stratified computation, but did not help much - going to save distance computations as well
      Added Modified Gram Schmidt and batch point mutivariate expansion utilities
      One bug in multi-cg loop caught - needed to maintain separate r dot z (old) values, but the previous one shared a global one
      Added a utility for computing the coordinate of the point that is farthest away from a given point inside a given bounding ball
      Added the leave-one-out regression estimates for the reference set training stage
      Now precomputes query point expansions before finalizing regression estimates, since they are needed in computing the confidence intervals (need to be passed to the Krylov solver). The Krylov solver needs to be modified, plus one final dual-tree pass over the computed solution vectors need to be implemented
      Fixed the compilation error for general kd-tree code
      Now computes the influence values for each reference point, need to add in the final dual-tree pass for computing the magnitude of each weight diagram vector for each reference point to construct the confidence interval
      Fixed a bug in the dense version of the algorithm which did not shuffle the computed magnitude of weight diagrams and influence values accordingly due to the query tree construction; also there was a logic mistake in the design of the code which assumed that under variable-bandwidth case, the epanechnikov moment computed for the denominator matrix could be used for the weight diagram matrix, but this is not true since the effective normalization constant for weight diagram matrix re [...]
      Caught a serious bug in non-shuffling of the weight diagram magnitude and influence values in the dense version of the algorithm
      Now shuffles the values for weight diagram and influence values for Krylov version
      Fix in the compute function for naive code which contained erroneous extra argument
      Fix in the compute function for naive code which contained erroneous extra argument
      Krylov subspace based LPR now computes full information required for crossvalidation: confidence bands, regression estimate, leave-one-out regression estimate, influence value, and magnitude of its weight diagram vector in the hat matrix
      Some work for setting up the experiment for the dense version of the algorithm has been completed. I now need to look at the krylov subspace version for correctness since I do some fancy stuff for the normalization constants
      Minor fixes in the user-level function Compute
      The naive code had a bug in computing the influence value of a point; it should have computed t(q)^T (B^T W(q) B)^{-1} t(q) W(0), instead of t(q)^T (B^T W(q) B)^{-1} t(q)
      Bug fix in the dense version: same problem with the naive version since I forgot to divided by the normalization constant for the influence values
      Last generation of the Krylov subspace based method has been caught - the bug was due to reusing the same dual-tree computation function across three different phases (some phases were required to use squared kernel values, rather than the regular values)
      Another fix to the Compute function
      Tweaked the termination condition in the CG algorithm
      Edited the krylov-based regression code for numerical stability
      I need to fix the Krylov loop to make sure all three system solutions have converged before a query exists the Krylov loop.
      Fixed the normalization constant handling for query influence values
      More parameter tweaking in the CG loop
      indentation fix in multi_conjugate_gradient.h
      Bug fix in the Krylov loop - changed a break statement in the for-loop that iterated over each query to a continue statement
      More fixes in CG loop regarding the updating the solutions
      Numerical stability fix
      Separated out the naive algorithm into a separate file. Now algorithms are templatized for different primitive types
      Fastlib tree now is OT-compliant, meaning it can be serialized/unserialized. However, it still does not admit a bounding box of general primitive type (for example, a short-int based bounding box rather than a double-based bounding box), which would involve making changes to bounds.h, math/math.h:DRange class.
      The driver application now reads in a dataset of short ints for demonstration.
      Fixed the compilation error
      Metric tree had a bug, and now it is fixed...
      Adding general typed ranges.
      Separated the global variable declarations into a separate cc file
      Separated the global variable declarations into a separate cc file
      Now uses static allocation for matrices (Nick's memory manager)
      Added Static versions of the Init/Own/Copy function that allocates using Nick's memory mapped files.
      Minor editing of the build file
      Added Static Init function for the general bound type.
      Added a directory for testing variants of PCA
      Renamed the class name to make it a static class supporting different modes of PCA computation.
      Compilation error fix.
      More compilation fix. Now starting the fix-point algorithm.
      Completed the fixed-point algorithm for PCA
      Fix to the pruning rule in dualtree_kde.h
      Fixed a potential performance bug in the KDE code that resulted in a stricter pruning criterion.
      Now uses median split KD-tree
      Fixed a bug in median split kd-tree that resulted in infinite recursion.
      Still need to fix the stitching problem in pca_tree.h
      Updated a potential bug in the ball tree that could attempt to split even if the radius is very close to zero. Changed DBL_MIN to DBL_EPSILON as a result.
      SVD Tree has numerical stability issue when applied to high-dimensional matrices. Going to fix this using orthogonal iteration.
      Fixed the SeriesExpansion module so that it is up to date with the current library. Changed const ArrayList to const ArrayList references.
      Minor change to the dualtree_kde.h to use InitCopy instead of Copy, a deprecated function.
      Renamed pca_tree.h to subspace_stat.h. This file will be templatized for different ways of stitching up two different subspaces.
      Fixed the compilation errors. Plus added the module to compute principal angles between two subspaces.
      Needs to be debugged.
      Memory leak error for ball-tree has been fixed...
      Added the function for making kdtrees out of hyperrectangles.
      Compilation error fix
      Added splitting functions for making trees out of hyperrectangles.
      Fixed the tree constructor for hyperrectangles.
      Orthogonal range code now supports multiple orthogonal range queries. Need to be debugged.
      Fixed memory leak error
      Fixed a bug in partitioning function for constructing trees out of hyperrectnalges.
      A little change to the main test driver for range search code.
      Debugging is done... Now need to optimize...
      Restarted the hierarchical pca algorithm, now replaced with Vempala's fast SVD algorithm. Need to finish the subspace combining part...
      Replaced EigenvectorsInit call which did not return eigenvalues in sorted order with SVDInit call which does.
      Completed the base fast SVD case for which the number of points is less than the dimension...
      Finished the base case, now have to work on the merging phase...
      Replaced unstable SVD merging step with regular Monte Carlo algorithm. Now going to try out a possibly more stable approach.
      Finished the hierarchical PCA algorithm. Now need to work on high dimensional FMM.
      Eliminated the storage space for the right singular vectors.
      Modified dataset scaler to avoid division by zero.
      Added the function for computing maximum l2 norm reconstructoin error
      Loop fusion on Accumulate function mult_local_expansion.h
      Implemented the core functions estimating the computational cost for evaluating a far field expansion, far-to-local translation operator, and direct local accumulation.
      Now the code uses the implemented cost functions in series expansion library.
      More fixes to const reference problems for ArrayList
      Added some skeletons for Monte Carlo evaluation and prototypes for doing in O(D^p) expansion.
      Fixed the ball-tree to be compatible with the fastlib tree interface, fixed subspace_stat class to have the correct mean vector in the case of the node owning only one point.
      Templatized the series expansion to accept arbitrary bound types.
      Added the cut-off criterion for pre-determining how many order of coefficients to precompute.
      Separated the far-field expansion into an implementation file to shorten the file lengths.
      Separated out the implementations of series expansion into separate impl files
      Fixed the build file so that it compiles.
      Added the linear-time CUR decomposition algorithm.
      Bug fix in CUR decomposition computation.
      Added matrix factorization formulation of far-field and local expansions.
      Took out Monte Carlo evaluation for D^p expansion. Fixed a bug in CUR decomposition that caused NaNs for matrices close to zero matrix.
      Changed the prototype for the training function for the kernel-independent fmm
      Edited the CUR decomposition such that it returns the decomposition with sorted column numbers and row numbers.
      Finished the far-field moment computation for the kernel-independent fmm
      Bug fix in the CUR decomposition that did not initialize the R matrix in the right size. Implemented the far-to-far translation operator for the matrix factorization FMM.
      Added the far-field to local translation operator for the matrix factorization fmm
      Added the local-to-local translation operator.
      Added the basis training for the local expansion of the leaf nodes.
      Initial checkin of the matrix factorized version of FMM.
      Moved matrix-factorization FMM test implementation to contrib directory.
      Initial checkin of the matrix-factorized FMM
      Added the empty driver for the matrix factorized FMM.
      Fixed the compilation error.
      Added the wrapper kernel class for the matrix-factorized FMM.
      More compilation error fix.
      More compilation error fix.
      Forgot to initialize the local moments - now wrote the code for doing so.
      Implemented the evaluation method for matrix-factorized local expansion.
      Need to implement the canonical dual-tree recursion and debug...
      It works sort of - I need to figure out how to do automatic error control at least probabilistically.
      Some minor fixes to the matrix factorized series expansion.
      Updated the matrix-factorized fmm to use exact cur decomposition with pivotting qr.
      A minor fix to the matrix-factorized FMM. Still need to figure out how to do error bounds.
      A segmentation fault fix.
      Reverted back to the old CUR version... Now need to debug...
      Bug fix in forming the outgoing representation - incorrect matrix-vector multiplication has been fixed.
      A little tweak in the number of samples to take in CUR decomposition - this needs to be automated!
      A minor change to the code that involves how to compute the ending index of the points owned by the node.
      Works reasonable well - now need to enforce that the local moments are actually pushed downwards whenever the query tree is recursed so that we get a tighter lower bound.
      Minor bug fix plus now the far-field expansion of the matrix-factorized version stores the maximum incurred error in approximation.
      Fixed the bug that caused FurthestColumnIndex column to return -1 as the index.
      Current stable version.
      Some tweaking in the number of row/column samples taken in CUR decomposition.
      Documentation stuff added for the dual-tree based KDE code.
      Added the code for standardizing the dataset.
      Initial check in of the Monte Carlo version of FMM.
      Finished prototype. Now need to optimize.
      Reasonably behaves well - now need to put in probability recycling mechanism.
      Added probability recycling mechanism.
      Bug fix in probability reclaiming trick.
      Now the code does finite-difference pruning for hard-to-sample cases.
      Parameter tweaking to achieve more speedup.
      Additional parameter tweaking for performance enhancement.
      Additional parameter tweaking for performance enhancement.
      Separated the dualtree implementation of KDE into separate files.
      Removed the THOR-style KDE.
      Added Monte Carlo style pruning.
      Fixed the Monte Carlo sampling to be per-query basis.
      Tweaked the performace by handling the probability redistribution in a smarter way.
      Bug fix.
      Fixed the probability allocation phase not to do so when the exact answers are required (p = 1)
      Incorporated probability recycling mechanism.
      Bug fix for not clearing out postponed extra probability in the base case.
      Another bug fix in BestNodePartners_ which sometimes made nonsensical probability distribution (over 100 %)
      Latest stable version - need to put in PCA tree trick.
      More performance tweak in Monte Carlo sampling.
      The current stable version without PCA tree trick.
      Squared error optimization for Monte Carlo FMM series expansion.
      Bug fix on using series expansion with probabilistic error bound.
      Corrected the code to be const correct.
      Bandwidth cross-validation by least squares criterion added.
      Removed an initial implementation of Monte Carlo FMM since it has been integrated to the main KDE code.
      Added the demonstration of Chebyshev economization in Mathematica code.
      Renamed the main driver file name
      Added the force vector derivation for Axilrod-Teller potential.
      Added and corrected stuff on latex writeup.
      Code upgrade to compute force vectors due to Axilrod-Teller potential in progress.
      Removed a bidirectional version of multibody.
      Debugged up to base case computation.
      The code compiles, but long hours of debugging to come.
      Finished coding simple finite difference version. Monte Carlo version forth-coming and debugging to be initiated.
      Naive Axilrod-Teller force vector computation added.
      Not much pruning happening. Debugging in progress.
      Debuggin in progress. Now prunes a little bit, but slower than naive.
      Added the new directory to start a new version of local polynomial regression using batch SVD
      Added two more files - driver and the user level function implementation.
      Removed local polynomial regression using SVD factorization, since it might not be a good idea to store dense factorizations for all points. Going back to the Krylov subspace method idea.
      Some bug fix.
      More bug fix - Eval function for 3 three nodes should have computed node-bound distances before concluding that the min distance was zero.
      Fully debugged up to force computation, now need to incorporate Monte Carlo pruning.
      A quick bug fix that overestimated the number of (n - 1) tuples.
      In progress to use Monte Carlo pruning.
      Modularized the Axilrod Teller kernel code (multibody_kernel.h). Now need to finish Monte Carlo scheme.
      Finished Monte Carlo version. Now need to carefully go through and verify the code...
      Kind of working. Need to go through and verify the code.
      A little bug fix and changed lower/upper bounds to use Monte Carlo estimate and to influence the contribution estimation.
      A major overhaul on the Monte Carlo sampling for KDE algorithm. Now uses sample variance for the pruning rule and does it in a true dual-tree fashion.
      Fixed a critical bug that did not push down estimated mass in the Monte Carlo case.
      Minor comestic repair in the comments.
      Another minor cosmetic surgery in the comments.
      Another minor cosmetic change.
      revert back to using the central-limit theorem-based Monte Carlo approximation. Putting confidence band on extreme order statistics is not a practical idea.
      Need to think about optimizing the right hand side of the pruning rule, not the left-hand side. Minor fixes checked in.
      Bug fix for math::BinomialCoefficient(n, k); the previous implementation returned 1 for negative k values, which is not correct (should be zero.
      Incorporated the rudimentary probability recycling scheme.
      Incorporated the rudimentary probability recycling scheme.
      Separated the statistics class object from DualtreeKde class for shortening the file length.
      Corrected the writeup derivation.
      Critical bug-fix in Monte Carlo sampling code. Now need to confirm that the rank order statistics is a good idea.
      Error reclaiming implemented.
      Fixed the Monte Carlo approximation.
      A little tweak for probability reclaiming.
      Added in the coverage percentile as a tweak parameter.
      Added nonuniform nonnegative weight support.
      Added the routine for outputting a LSCV score for a particular bandwidth.
      Fixed the probability computation to do one-sided computation.
      Now outputs the query estimate to the file.
      New Monte Carlo scheme implemented.
      Initial checkin of the variable-bandwidth KDE stubs. To be completed very soon.
      Variable bandwidth KDE implemented. Need to look over to see whether it is working correctly or not.
      Bug fix in variable-bandwidth KDE, where the preprocessing function had a overflow problem.
      Added the naive computation of variable bandwidth KDE.
      Fixed the double-initialization in variable KDE (kernels_ object).
      A little tweak in the variable KDE Monte Carlo pruning scheme. Now need to re-factor out the common code between the fixed bandwidth and the variable-bandwidth code.
      Compliation error fix.
      A little tweak in the way Monte Carlo sampling is done - now tries to the maximize the lower kernel value to encourage more pruning.
      Now the bound refinement algorithm takes the (1 - \alpha)-th statistics instead of the absolute minimum.
      Made a permanent private temporary vector for sorting, instead of allocating everytime.
      Added the leave-one-out feature.
      Alphabetized the parameter list.
      Fixed the initialization problem for the case when the reference did not equal the query.
      Some fixes to the pruning rule.
      Before adding in the bound refinement optimization.
      Bug fix: did not reset the bound statistics for used error in the base case.
      Current version with all optimizations added in.
      Bug fix: a real solution is to have different stats for the query/reference tree, but this should fix now.
      More optimization.
      Alternative Monte Carlo scheme added back in.
      Now dumps the relative error of each estimate to the file.
      Added the brand new directory for the final public release of local polynomial regression code.
      Removed some files.
      Taking out core common functions in variable bandwidth/fixed bandwidth code.
      Some more re-factorizing common parts.
      Decrease in 42 lines of code.
      Eliminated over 100 lines of code.
      Reduced 140 lines of code by refactoring.
      Latest change commited.
      Vanilla finite-difference LSCV bandwidth cross-validator added. This one is definitely faster than the old algorithm.
      Bug fix in dualtree_kde_cv.h
      Added the missing file.
      Bug fix in computing the plugin bandwidth.
      Bug fix in LSCV score computation.
      Compilation error fixed.
      Code refactorization.
      Added in Monte Carlo approximation.
      Removed the matrix-factorized FMM modules since they are in beta stages.
      Removed references to Monte Carlo.
      Added the convolution operation for doubly nested kernel sums.
      Series-expansion completed for kernel CV code.
      Bug fixes in prunable function. Need to go through again to make sure variable names are mixed in accidentally.
      General performance tune up.
      Code cleanup.
      Added the modules for doing spherical harmonic expansion for inverse power distance functions, but they need to be completed!
      Some more addition to spherical harmonic expansion.
      Multipole moments are computed correctly as of now.
      Added the local expansion for inverse power distance kernels.
      Evaluating the far-field expansion of inverse distance kernels sort of works.
      Bug totally fixed on far-field evaluation. Now moving onto local field formation.
      I have debugged up to farfield/local expansion formation and evaluation. Now need to implement the translation operators.
      For backup purposes, I have moved the experimental series expansion using matrix factorized formulation here.
      Implemented the far-field to local translation.
      Coded up to F2F, and F2L operators. Now need to finish L2L operator.
      Some bug fixes, but I need to go through these carefully.
      Caught more bugs, I think I need to go through and check whether each constants are precomputed correctly.
      I think the far-to-local translation finally works!
      I think local-to-local translation works now, but I need to double-check.
      Need to reconfirm that it is working correctly.
      With 99.9% confidence, I think the inverse distance kernel expansions are working correctly. Now need to implement oct-tree.
      Added the generalized oct-tree for higher-dimensional case.
      Minor bug fix in octree.
      Fixed the node ordering to resemble something like Z-ordering. Now performs Z-ordering per level, and stores the node list level-wise.
      Bit interleaving/deinterleaving stuffs added for fast neighboring node finding for octree.
      Initial checkin of the FMM implementation.
      Now builds the octree, but need to confirm that it is being built correctly.
      Templatized the octree to use arbitrary stat types.
      Change due to templatization of octree.
      Changed the octree code to take multiple point sets.
      Code change due to octree change.
      Upward pass phase completed.
      Prevents dividing into infinitesimal boxes by putting DBL_EPSILON limit in the code.
      Added the print function for octree
      Octree has been changed: I think there was a bug in adding each newly created node to the node list. It was added to the level above than it should be.
      Fixed another bug that did not index the points owned by each node properly.
      Separated out the utility functions for octree.
      More crucial bug fix in octree.
      Added the function for computing another interaction list for octree.
      Kind of finished, but need to go through the code and debug.
      Checked in the statistics class for FMM module.
      Some more bug fix.
      More memory bug fixing for octree. Be careful not to confuse PushBackCopy and PushBackRaw.
      Memory bug fully debugged.
      Change due to memory bug fix.
      Added the bounding box printing
      Kind of works, but there is numerical stability issue that I have to work out.
      Temporarily turned off all series expansion stuff in DownwardPass_ function to see whether all nodes are being accounted for each query point, and it does account for all. Now need to turn them back on and debug.
      Bug fix for list 4 computation for octree.
      Crucial bug fix in octree. Bounding box was not being computed correctly based on the z-order code, but is now fixed.
      Bug fix in List 1 and List 3 computation. There was a duplicate node issue.
      I think it works, now switching back to series expansion stuff.
      Turned on the series expansion stuffs, now working reasonably well!
      Code restructuring of the inverse distance kernel series expansino stuff.
      Added the series expansion convolution pruning for kde cv stuff.
      Added the test file for hypercube tree.
      Added the parameter to specify the order of expansion.
      Added the inverse distance power kernel.
      Minor cosmetic changes, but need serious modification of how the approximation is done.
      Removed the local polynomial directory, going to start fresh with combined regression/conditional density estimation code.
      Initial checkin of local polynomial regression/conditional density estimator code, but it will not compile. I will have to finish it.
      Moved a inverse power distance kernel to mlpack/series_expansion.
      Relocated the inverse power distance kernel.
      General cleanup before the release.
      Minor parameter tweaking.
      More checkin of the derivative stuff for inverse power distance kernels.
      Major cleanup before adding the inverse distance power expansions in Cartesian.
      More cleanup.
      More draft files added.
      More files added.
      More templates filled out, but they don't compile yet. I'm in the process of finishing it.
      Main driver added.
      Added the new files, and now it compiles, now need to actually finish the implementation.
      Preprocess/postprocess templates added. still need to finish...
      fl-build-all added, modified buildsys.py to generate a custom rule that contains the subrules recursively.
      Now compiles, but need to verify that it is working...
      Naive module added in, but still debugging.
      Namespace for la/blas.h added back in, sparse/trilinos/test.cc compilation error fix.
      Minor update to the relative error parameter adjustment such that it guarantees global error.
      Bug found, I need to debug now.
      Bug found in nwrcde_query_summary
      Bug fix in nwrcde_query_summary.h. When incorporating the delta's, we should not add pruned and used error components.
      Added relative error computation.
      Now supports Epanechnikov kernel, but I need to optimize the pruning rule more.
      Memory bug fix.
      Took out a commented code.
      Upper bound is maintained for denominator sum.
      Removed the upper bound maintainers.
      Code reduction.
      Edited the build file and added monomial kernel expansion.
      compilation error fix.
      Some bug fix in the monomial kernel expansion, but still in the progress.
      Fixed the inverse power distance recurrence such that it correctly computes for r^{\lambda} for \lambda positive as well.
      Epanechnikov transform now uses the inverse power distsance kernel expansion. Now need to plug in the error bound stuff for F2L and L2L stuff.
      Added the direct local accumulation for Epanechnikov kernel.
      Some code reduction, now looking at the correctness of the local expansion evaluation of Epanechnikov.
      Bug fix in Epanechnikov series expansion. ComputeDirectionalDerivative needs to compute (-1)^n D_n. I should note this somewhere.
      F2L prune enabled for Epanechnikov, it only does exact F2L, approximate F2L will be added later.
      Bug finally fixed for Far field to local translation for Epanechnikov. I still need to come up with a good test suite.
      Minor change in how inverse pow dist kernel is evaluated for negative lambda.
      Compilation error fix.
      Now using TKernelAux stuffs to support series expansion!
      Minor template typename changes.
      Long overhaul to support initializing series expansion objects inside stat objects.
      Warning fix.
      Move the farfield moments into the reference stat.
      Header file clobbering fix. Renamed math.h to math_lib.h, math_impl.h to math_lib_impl.h, and string.h to col_string.h
      Some restructuring - moved local expansion from postponed to query stat.
      The code should be doing series expansion, but I need to verify it.
      Series expansion added for regression code.
      Bug fix for Far-to-local translation. I really needed to compute up to 2 * max_order number of stuffs in aux classes.
      Series expansion seems to work.
      Array index off by 1 error fixed.
      Critical bug fix.
      --recursive and --help option added for fl-build-all.
      Header file conflict change.
      Dependency fix.
      Various missing dependency fix in build.py files.
      Distro build option added.
      Fixed it so that it exports built *.a lapack files, but we still need to look at eliminating the need for .lock files.
      fx doc fix.
      Patched the code for reading in multi-target values per each training point, but currently only supports single target value regression.
      Netlib distro of LAPACK/BLAS hardcord g77 as the fortran compiler, overriding the user's preference which might be gfortran. If there is no g77 compiler installed, this would result in failure of compilation. I fixed the build.py so that it replaces the relevant hardcoded compiler choice in BLAS/LAPACK build files using Nishant's suggestion.
      Fix to the gradient kernel in Cartesian coordinate.
      Multitree template added.
      Minor addition to how the gradient kernel can be computed.
      Autodetection of curl/wget
      auto detecting wget/curl
      Various restructuring for performance reason.
      Optimized the base code a bit, now starting finite-differene pruning...
      Some more fixes.
      Naive multibody ported, now have to do finite-difference.
      Lower bound accumulated during base computation.
      Minor change so that MultiTreeProblem::order is referenced whenever possible.
      Some more fix, but I need to make sure that the number of (n - 1) tuples being accounted are coded in!
      Pruning function almost done, but need to check and accumulate the number of (n - 1) tuples.
      Segfaulting problem fixed.
      Now adds up the number of tuples pruned in the base case, but need to put that in the general cases as well.
      Some more optimization to compute (n - 1) tuples when computing n-tuples.
      Build file fix hopefully for Macs.
      Some more changes to do relative error pruning.
      Relative error pruning added, but need to confirm.
      I think relative error is working!
      Naive computation added.
      Now computes relative error l1 norm.
      Code reduction and cleanup.
      Nearest neighbor, futhest neighbor optimization tried, but doesn't make too much difference.
      Pruning error fix.
      Took out all nearest neighbor optimization, because it doesn't help.
      Took out all nn opt.
      Now does not approximate the case when one of the nodes is an ancestor of another node in the tuple list.
      Monte Carlo sampling needs to be optimized so that it iterates over all points.
      Now the canonical case splits and recurses on every node index, instead of splitting one at a time.
      Compilaton error fix.
      Changed math::Pow<1, 2> calls with sqrt calls.
      Now adds up Monte Carlo prune statistics separately.
      Now uses 90 % percentile confidence band.
      Now the basecase is also rolled up in the recursion loop.
      Recmoved the upper triangular square matrix implementation
      Build file fix.
      build file fix.
      now does prioritized dfs.
      Modification for multitree algorithms with training labels.
      Modification according to multitree template modification.
      Change needed to make multibody work.
      Multibody code change due to the template class change.
      Change to support two-body query reference problems.
      Three-body change due to template change.
      Change due to the template change.
      Template change to take datanode pointer.
      Shuffling back the results now according to permutation.
      Change due to template change.
      Multitree multibody code update, now the Nadaraya Watson regression code is generated from the template.
      Code cleanup: took out a dead code.
      Now tallies up probabilistic/hard errors separately.
      Huge performance tweak based on round-off error detection.
      Changed so that the probability is not square rooted.
      Fix to the Monte Carlo sampling routine so that it is less agressive.
      Prints out how many tuples are pruned.
      Now the base of multibody kernel combines positive and negative contributions, but appropriately assigns to the appropriate component.
      Some more optimization.
      More stable answers, but a bit slower.
      Memory leak fix.
      Compilation error fix.
      Added the template generated KDE without Monte Carlo acceleration, removed multibody code since it is now a part of the fast multipole method package.
      Bug fix: The results are correctly shuffled now, using ShuffleAccordingToPermutationColumnwise_
      Some crucial fixes to the base case, now need to look at the finite difference case.
      Some more changes.
      Some more tweaks.
      Switched to more aggressive pruning.
      Added the static version of the kernel evaluation of the inverse distance kernels.
      Big changes with multibody code change, but the multibody code now needs to be an iterative-refinement version.
      Commit before iterative-refinement based optimization.
      Bug fix in the monte carlo sampling that did not check whether the three indices were out of order.
      Scaling option added.
      Last commit before relative error incorporation.
      Fix to LAPACK build - now forces to use GCC4
      LAPACK build fix - forcing the usage of GCC4 and GFortran. Fixes the LAPACK compilation to use -O3 flag instead of -g flag.
      Compilation fix for GCC4.
      Added the documentation for templatizing matrix and vector to be instances of GenMatrix and GenVector.
      Turned off subspace computation.
      demo_export.m renamed.
      Missing files added.
      Current progress - variable values are being passed properly, but need to put default values in CreateFcn functions.
      Library problem solved.
      KDE bandwidth optimizer call added.
      gplot works, but need to have PCA and produce two-dimensional dataset and test on it
      Scatter plot for KDE added.
      Bill's EMST algorithm added to the demo.
      Changec INTMAX to MAX_INT
      Remove values.h inclusion.
      Probabilistic pruning added.
      Removed the makefile since it's auto-generated by fl-build.
      Interfaced in PCA, EMST visualization, etc. Now need to incorporate NBC, decision trees, kernel PCA...
      Kernel PCA started.
      Kernel PCA working, but need to add another button to input the bandwidth value for the kernel matrix.
      More work on kernel PCA completed, now onto range search.
      Approx rank nn interfaced.
      Changed to the general purpose double type, but the driver file should be templatized as well, through fx_param_str fx_root, type, short int
      Orthogonal range search interfaced in, now need to do plotting...
      Ortho range search visualization added.
      Added the plot of rectangle windows.
      Probabilistic error computation refined using square root summation.
      Lots of things fixed, now need to work on NBC, etc.
      Lots of things fixed, but still need to interface NBC and decision tree.
      Various changes, bug fixes.
      Added more things such as the timing bar.
      Added the new file.
      Some more changes, now need to look at KDE...
      multitree template edit.
      Various features added, now verifying KDE.
      KPCA fix.
      Started adding NBC.
      Decision tree aded.
      Decision tree output added.
      Some changes made.
      misplaced parantehesis fixed.
      GUI is now resizable.
      Path fixed.
      library path file added.
      textfield resized.
      Range button widened.
      data file name passed properly from the listbox directly.
      Lots of broken things fixed.
      color changed.
      Commiting what I have so far now, now need to work on NBC... and timings.
      Added running/done labels to the figure.
      Lots of bugs caught, now need to interface NBC.
      Color code added for EMST.
      Now plots 5 clusters only.
      Textbox output added for each paper reference.
      More change to paper ref.
      Michael's paper added to KDE.
      Sample share need to be worked on.
      Compile error fix.
      Bug fix on the Monte Carlo pruning where it could have lowered/decreased the tallyed up lower kernel sum bound. Now uses the finite-difference bounds, but more optimization is needed.
      Changed the leaf size limit to boost KDE, but need to think about how to also provide speedup for the multibody code...
      Template change to compute the exact delta once and share it with the probaiblistic pruning module.
      Code change to incorporate the lower bound change in probabilistic pruning function.
      Compilation error fix due to template change.
      Michael Holmes' nested summative form algorithm initial implementation checkin. Stubs to be filled out.
      Some more fleshing out of the necessary prototype functions.
      Function operator added.
      Index restriction checking need to be verified again probably, but the basic structure seems finished.
      Kernel function templatized, supposedly implemented all necessary stuffs to support a doubly-nested naive sum.
      KDE CV initial stub added in.
      Fixed base/test.h to fastlib/base/test.h in textfile_test.cc
      Init function added.
      Now I can compute double-sums using the framework.
      Monte Carlo compute is now correct, but need a way to dynamically adapt the number of samples.
      KDE CV Monte Carlo testing... Now need to add in a stratified sampling with trees.
      Started stratified recursive sampling. Still more to fill out.
      Added the class representing the strata.
      Stratified sampling implementation in progress.
      Function prototype change, stratified sampling in progress.
      Checking in of the old THOR KDE code.
      Critical bug in the base case has been corrected. summary statistics in the base case should have been accumulated after the pruned information is updated, and this is corrected now.
      now the base case is replaced by a single-tree traversal, then followed by the inner loop (THOR style). This gives much needed speedup in many cases.
      Compilation error fix.
      MaxDistanceSq(const double *point) function added. This file really needs a cleanup.
      Made the tree types public.
      Compilation error fix and basic stratification using priority queue works now.
      Monochromatic trick added.
      Some fix to incorporate the precomputed number of tuples during computation.
      Turned off Monte Carlo probabilistic approximation, now trying to do everything with exact methods.
      Initial checkin of the potential evaluation for multibody case.
      Shortened kde_problem.h by breaking up into multiple files.
      Potential code compiles, but there are stubs to filled out.
      The code is compilable, and stubs are being filled out.
      First prototype for multibody potential evaluator checked in. Now need to apply series expansion.
      Taking out bugs one by one.
      Bugs stamped out I think. Need to implement series expansion.
      Templatized the computation part.
      Chebyshev fit utility added.
      LAPACK is built without optimization for Ubuntuu problems.
      Error upper threshold could be less than zero (right hand side of the pruning rule), so I thresholded it.
      Compilation error fix due to nested sum class change.
      Fixed so that it is not templatized in terms of the tree type.
      Probabilistic case does not prune when the requirement is 100 % guarantee.
      Rough idea implemented.
      CFmm tree template added.
      CFMM tree in progress.
      Some more fixes. Now need to plug in the tree within the tree part for CFMM
      Some more brainstoring on CFMM tree... Recursion part needs to be fleshed out...
      CFmm Tree compiles but I need to go through again and see if it's working correctly. After that then I have to implement the main CFMM algorithm, which is probably an easy modification of the original FMM.
      Segfault fixed, but still need to verify the correctness..
      Now need to correct the WS index merging part.
      WS index computation added.
      Chebyshev fit error computed properly.
      Added the stub for continuous FMM, but needs to filled out (rather replaced with a working version).
      Some more changes. Now need to work on the bottom-up computation.
      Added the link from the WS node to the CFMM tree node.
      Added the init flag that tells whether the expansions have been created or not.
      FormMultpoleExpansions method completed... Still filling out stubs...
      Just have to complete the algorithm...
      Templatizing the hypercube tree utility so that it accepts CFMM tree...
      Lots of bug fixes on CFMM, now need to optimize.
      Base case kernel for the CFMM added.
      Some minor changes in CFMM for computing WS index for each node.
      Max tree depth added for CFMM tree
      Code change due to CFMM tree interface change.
      Max tree depth CFMM fix.
      Hypercube tree depth limit option added.
      FMM edited for adding tree depth limit.
      CFMM finished.
      Changed CFMM order to 2.
      Took out sibling pointer from CFMM tree.:
      Bug fix: CFMM tree now uses nonadaptive octree.
      Major bug fixes.
      Bug fixes.
      Final commit of CFMM.
      Bug fix in the base case: There was a problem when the distance approached zero, and this is fixed now.
      TranslateFromFarField in inverse_farfield fixed. Instead of CopyValues, it should have been AddTo.
      Some lower level optimization.
      Code compiles, SVDRegress fixed, now proofreading Crossvalidate.
      QUIC SVD moved to MLPACK.
      Regress and SVDRegress fixed, now the intercept is added to the linear model that is generated at the end.
      Crossvalidate function debugged.
      Some more bugs shaken out in ComputeSquareError function.
      Minor cosmetic change to the driver.
      QuicSVD code interfaced.
      Monte Carlo pruning plugged in. Now need to debug.
      Potential infinite loop fix in Monte Carlo sampling.
      Another bug fix in index choosing in Monte Carlo.
      Some comments added.
      The basic form of feature pruning based on VIF added.
      Main framework coded up. Now need to put it in the driver file and debug.
      The basic options added to the driver, but need to debug more.
      I think cross-validated regression is working. Now need to verifiy VIF feature selection method.
      Starting of Fourier series expansion.
      Refined Fourier expansion test.
      Documentation added, still need to verify feature selection.
      Verifying feature-selected regression now.
      I have proof-read the variance inflation factor feature selection part.
      The test case for variance inflation factor feature selection added.
      Some helpful outputs added to the test driver.
      Linear algebra directory started.
      Some bug fix.
      CFMM driver file fix.
      Changed int's to short int's for the multiindex mapping to save space. Worked on a bit on Fourier expansion. Now need to work on the error bound.
      Fixing Fast Gauss Transform compilation error due to series expansion library update.
      Added the implementation of complex matrix.
      More progress on the Fourier series expansion (computation of coefficients and evaluation). Now need to plug in the error bound.
      Initial checkin of the compressed vector experiments.
      Compression and decompression works.
      Changed short int to int to prevent overflow.
      Bug fix, but compression/decompression overhead seems to be greater.
      Testing started for Fourier expansion.
      Fourier kernel added.
      Fourier expansion being debugged.
      Some bug fix in the series evaluation method. I shouldn't have ignored the complex part until all the sum components were added up.
      Dependence on dataset_scaler taken out.
      Compilation error fix, namespace issue resolved.:
      Compilatin error fix due to code overhaul.
      Compilation error fix.
      Test file for CFMM tree added.
      Need to implement method for incrementing the vector.
      Disabled multi-threaded builds. Now fl-build and fl-build-all runs with j = 1. This fixes the problems with Opt++
      Added in the A^T A SVD method.
      Now need to take care of the date features.
      PrintDebug for complex matrix edited.
      Bug fix in preprocesser. I'm modifying this to save the indices.
      The preprocesser utility is done. Now testing regression.
      NOTIFY added in some places.
      Added the random combination code from Knuth's book.
      Some bug fixes in RandomCombination function.
      Going to try the point-based Monte Carlo.
      The covariance matrix is now precomputed for VIF selection.
      Compilation error fix.
      Made some fields public
      Now reports how many points violated the relative error, and the associated maximum absolute error.
      Now reports positive/negative relative error violations.
      Moved the covariance computation stuff inside RidgeRegression class. Now need to move the featureselected regression inside as well.
      Move the crossvalidated regression inside the RidgeRegression class.
      Took out a deprecated function from RidgeRegressionUtil class.
      More code restructuring. Crossvalidated regression should be back online.
      More code reorganization.
      This should fix the annoying initialization error. should_free_ field is set to false when the constructor is initially called. This could be potentially done with the OT-framework using OT_DEFAULT_CONSTRUCTOR macro, but this essentially accomplishes the same thing.
      Initial template of CMakeLists.txt added for some of the core directories.
      config CMakeLists added.
      Finally matches the Vijay's results.
      memory leak fix.
      Error behavior for Monte Carlo is more reasonable now.
      Fix in the Monte Carlo sampling to return positive and negative components separately.
      Some parameter tweaking.
      Monte Carlo approximation has been changed to per-query estimate.
      Added the PostAccumulate function.
      Added the option to use different dimension for normalizing.
      Checking in linear regression.
      VIF initial checkin.
      Deleting the makefile.
      Restarting KDE.
      Attempt to compile boost unit test.
      Back to FASTLIB.
      Adding the metric object.
      Adding L-BFGS optimizer with the test.
      Compile error fix.
      Fixed L-BFGS test.
      Starting multigrid.
      More progress.
      Adding the test driver for multigrid.
      More multigrid.
      Sparse greedy GP in progress.
      Sparse GPR has long way to go, but I will get there.
      Removing old implementations.
      Auxiliary files for sparse GPR.
      Probably done for today.
      Starting clusterwise regression.
      More progress on plugging on Smola's sparse GPR.
      More progress on clusterwise regression.
      Some more clusterwise regression.
      More progress.
      More progress on sparse GPR.
      Slowly plugging in Smola's sparse GPR.
      More progress on mixture of experts.
      More progress.
      Astyled.
      Getting there.
      Getting infinitely closer.
      Need to just write the driver for clusterwise regression.
      CMakeLists.txt updated.
      Slowly plugging in the driver for the clusterwise regression.
      Close to finishing the driver.
      Still fixing bug.
      Clusterwise regression should work, but needs testing.
      Getting closer to finishing Smola's
      Getting closer.
      Almost ready to finalize Smola's sparse GPR.
      carefully verifying Smola's method.
      Still debugging.
      Plugging in mean/variance prediction for sparse gpr.
      Minor edits.
      Fixing.
      Getting there.
      Smola's method should be complete.
      Adding the driver for GPR.
      Compile errors are gone.
      Finished the crucial part for multigrid.
      In theory, the coarsening procedure of multigrid should work for dense matrices.
      Compile fix.
      Still debugging multigrid.
      Still debugging.
      Still debugging, need to look at the coarsening procedure.
      Test.
      Pseudo fastlib checkin.
      Fix
      Checking in thesis research code.
      Fix to the CMake.
      Prefix scan code added.
      Starting distributed tables.
      Adding the test for distributed table, will finish today.
      Fixing warnings.
      Removing old directories.
      Fix to CMakeLists.txt which I never use.
      Getting there.
      Getting closer to distributed table server.
      Kind of works, now have to test.
      There is a bug, I am fixing it.
      Fixing.
      Getting closer.
      I think it works.
      Will finish today.
      It works, now ready to build the distributed tree.
      Fix to CMake flags.
      Currently fixing the deadlock.
      Fixed, now really ready to start the tree.
      Will need to fix the test so that it is more informative.
      Changed the prototype for initializing a distributed table.
      Potential race condition fixed.
      Bug fix.
      Took out efence.
      Dividing up files.
      Some obvious variable elimination.
      Fixing the distributed table with more threads.
      Will continue tonight.
      The new distributed table is on the way.
      Almost fixed.
      New implementation to be debugged.
      Still deadlocking, but very close.
      Will continue tomorrow.
      Still fixing bugs.
      Getting closer.
      Fixing again.
      Inbox/outbox merged.
      Minor bug fix, now plugging back the point server.
      All fixed.
      Starting distributed tree building.
      Slowly plugging in distributed tree building.
      Will restart tomorrow.
      Still fixing.
      It turns out my MPI implementation supports only single-thread, so I need a mutex around MPI_IProbe.
      Put locks around each MPI calls.
      Extended the tree building to allow up to only a fixed number of leaf nodes.
      Serializing the tree so that it can be transferred.
      Tree building almost done.
      Getting closer.
      Getting there.
      Will fix at home.
      More bugs fixed.
      Fixed a dumb bug.
      I think the distributed tree building works.
      Restarting three-body so that I can finish submitting the paper.
      Plugging back in the three-body recursion.
      More work on 3-body.
      Back to distributed tree.
      Fixed the serialization for trees.
      Serialization for tree fixed.
      Almost there.
      Fixed the deadlock issue.
      Slight deadlocking problem in investigation.
      Switching to memory mapped file.
      Fixing compile error for kde.
      Fixing interprocess communications.
      Slowly changing the model.
      Will finish later.
      Compile error fixed and fix such that the tree can be put under the memory mapped file.
      Full fix, now ready to plug back in the distributed table.
      Extension to support memory mapped file.
      Slight problem, so need to fix it.
      One mistake found.
      Crucial bug fixed.
      Bug fix.
      Another fix. Now ready to get back to distributed table.
      A little tweak.
      Getting there.
      Now ready to plug back in the mailboxes.
      Three-body compiles, now finishing up so that I can finish writing the journal paper.
      Will continue tomorrow, very close.
      More progress.
      Getting there.
      Plugged in the pruning for three-body, need to debug.
      Will continue tonight.
      Added a timer class.
      Just have to plug in Monte Carlo into three-body, rerun experiments, and publish and graduate.
      Adding the test for three-body.
      Three body test compiles.
      Script for backing up thesis code.
      A little tweak on the script.
      Will continue tonight.
      Adding the random combination generator to math_lib.h
      Fixing compile error.
      Plugging in Monte Carlo into three-body.
      Moving directories.
      Slowly plugging in.
      Will continue soon.
      MC three-body.
      Fix to the three-body, still working on Monte Carlo.
      Compiling.
      Compile error fix.
      Will continue tonight.
      Will continue tomorrow.
      Slowly making some progress.
      Slowly finishing.
      Compiles now.
      Progressing.
      A bit more progress, so close.
      Kind of done with Monte Carlo three-body, will check tomorrow.
      Crucial bug fix.
      There is a bug in Monte Carlo three-body, so need to fix it tonight.
      Will continue tomorrow.
      Fixing bugs.
      More bugs fixed.
      slowly looking at things.
      Probability redistribution should be working.
      Quick bug fix.
      Restructuring Monte Carlo.
      Still tuning Monte Carlo, the most painful part.:
      Monte Carlo part divided into positive/negative parts.
      Tweaked the Monte Carlo a bit.
      Another bug fix.
      Removed a warning.
      Some tweak.
      Adding in the modified LMetric for distance thresholding.
      Will debug tonight.
      Fixing.
      Resolving some problem with numerical stability.
      Trying to fix the inf problem.
      Eliminating dead code.
      Less aggressive pruning rule, will try to do the quantile idea for maintaining lower bounds.
      Will fix soon.
      Crucial bug in CSV parser was fixed - before it did not consider a space as a delimiter. I would consider replacing the CSV parser soon with something more stable.
      Fixed the test for three body.
      Adding in the quantile based pruning.
      Tweaking Monte Carlo.
      Bug fix.
      Some tweaking.
      Seeing the light at the end of the tunnel.
      More tweaks.
      more
      Crucial bug fixed.
      Increased the number of points in nbody_simulator-test.
      Will continue later today.
      Monte Carlo pruning picks up right after the node which fails.
      Minor edit.
      Added the statistics report for prunes.
      Naive point dimension check.
      Minor edit.
      Still tweaking.
      Slowly adding the quantile prune.
      More tweak.
      Have to get finite difference to work.
      Kernel bounding for AT modified.
      One final Monte Carlo tweak remains.
      More tweaks.
      Will continue today.
      Finite difference fix for three-body, almost getting ready to run the experiments.
      Will add kd-tree now.
      Adding in the kd-tree.
      Slowly adding in
      Templatizing the table made this painful.
      KDE compiles again.
      Other tests compile now.
      Major surgery to get kd-tree integrated.
      Three-body code now uses kd-tree.
      Kd-tree bug fixed.
      Added the Monte Carlo trick which would benefit for large number of points case.
      Crucial bug fix for node tuple.
      Monochromatic trick added for three-body.
      Some fix.
      Very obvious optimization.
      Getting to the HPC project.
      Going full speed.
      In progress.
      Debugging.
      Still fixing.
      Doesn't segfault.
      Boost Interprocess sharing works, but needs deep structuring to make sure that there are no virtual classes. The tree needs to have offset pointers.
      Clears out the temporary file before each run.
      Don't ever put raw pointers inside memory mapped files
      Starting HPC homework 6.
      Done with HPC HW, now have to write the report.
      Fixed the homework.
      Back to parallel kde.
      Optimizing serial kde.
      Support code to run the final experiments.
      Support code for three-body in progress.
      In progress.
      Support code complete, now just have to run the experiments.
      Adding GP regression.
      Some edit.
      Back to my ultimate weapon, distributed kde.
      I'll get there.
      Fixing the communications tonight.
      Trying to get communicator (inter) working.
      Getting there.
      I think I can start the HPC project.
      I will fix it today.
      All fixed, now moving onto more interesting things.
      Renamed the directory to distributed_kde.
      Makefile change.
      Namespace fix for serial kde.
      Starting HPC project.
      Restarting distributed tree.
      In progress.
      Unabstractifying so that I can use boost interprocess.
      Fixing tests so that they compile.
      Fixed so that no virtualization is allowed inside the memory mapped file.
      Compile fix, now back to distributed kde.
      Getting rid of warnings.
      Getting there.
      Segfault fix.
      Will continue.
      Fixing Monte Carlo for three-body, have to rerun the experiments.
      Getting there, believe it.
      Serialization for tree in progress.
      Slight problem, will fix soon.
      Fixed the monochromatic case for three-body.
      CMakeLists fix.
      Another crucial bug fix.
      Problem encountered, so reverting back.
      Another bug fix.
      Some bugs fixed, but getting there.
      Clear error in template instantiation, so fixed in distributed_kde.cc
      AbstractStatistic added serialization.
      Fixing the segfault.
      Bug fix.
      Bug fixed, never mix destroy_ptr and allocate.
      Going to implement distributed hungarian algorithm.
      Still in progress.
      Rename.
      Will continue tomorrow.
      Going.
      Fixing, almost there.
      Distributed auction seems to work.
      Minor cleanup before finishing up the distributed tree.
      Slight problem, so have to fix.
      Fixing bugs.
      Continued later.
      Adding distributed local kmeans.
      CMakeLists.txt edit.
      Will continue later, now the multibody multipole.
      Going.
      Will continue later.
      Need to debug.
      Some bug fix, now have to add in the distributed indexing of the points.
      Bug fix.
      Getting there.
      Compiles, but still on progress.
      In progress, but getting there.
      Getting there.
      Moving the points across the processes work, now need to send over the indices too so that they can be reshuffled.
      Templatized the indexing type in tree building.
      Deep changes in how the indices are maintained in the table.
      Some changes.
      Adding L-BFGS.
      Fixes so that optimization test compiles.
      Continue tomorrow morning.
      Top tree should work now.
      Critical bug fix.
      Another critical bug.
      Trying to fix.
      Getting closer to fixing the bug.
      Should be all fixed now, now ready to start the fun part.
      Minor fix.
      Distributed kde to the finish line.
      Intercommunicator example added.
      Starting again.
      Took out armadillo from distributed table.
      Starting on the distributed kde driver.
      Trying to make the distributed_kde driver.
      Serialization for table should work in theory.
      Added the pointer correction.
      Adding the distributed dualtree algorithm template generator.
      Distributed kde driver almost operational.
      All fixed, now ready to work on the distributed dualtree.
      Starting to fill up distributed dualtree template.
      Getting there.
      Some edits.
      Another edit.
      Compile error fix.
      Compile error fix.
      Added the serialization for dense matrix, finishing up the distributed dualtree computations.
      A little dinner break, then continue bashing.
      Almost there.
      Compile error fix.
      It runs.
      Continued later.
      Some bugs in distributed kde, but it runs without crashing.
      It runs. Now have to check correctness, and make the poster.
      KDE test fix.
      Deadlock fixed, now adding in the test driver.
      Fixing the monochromatic case for KDE/distributed KDE.
      Compile error fix on dumbledore.
      Minor format change.
      Minor compile fix.
      Timer calls.
      Timers.
      Default bandwidth value changed for experiments.
      Some tweaks for experiments.
      Another tweak in distributed table before parallel ssample sort implementation.
      Added the prune statistics.
      Hopefully this fixes.
      Closer.
      Last change before tweaking the allreduce part.
      Minor fix.
      Warning fix.
      Cleaning up so that MPI KDE can run without memory mapped files.
      Compile error fix.
      Some fixes to KDE, now adding in the distributed table test.
      Fixing in the distributed kde test.
      Trying to make the test pass, but this will be the checkpoint for the code submission.
      Still trying to match.
      Distributed kde test passes.
      Critical bug in distributed tree building fixed.
      Mixed Logit started.
      Warning fix.
      Getting there.
      Getting there.
      Checking in the DCM table.
      More work.
      Trust region almost done.
      Some code restructuring.
      Compile error fix.
      Warnings fixed.
      Almost there.
      Dinner.
      To be continued.
      Back to N-body
      After dinner to be continued.
      Added matrix generalization of mean variance pair.
      Subtable view seems to work.
      Some output fix for distributed kde test.
      In progress.
      More brainstorming, back to distributed kde.
      More work, back to distributed system.
      WIll come back today.
      Now distributed kde can run on number of processes not equal to a power of two.
      Fixing.
      More progress.
      More parameters added.
      Going.
      Starting matrix triple product.
      Fixing the compilation error, and subtable capability added.
      Minor compile error.
      Random number generation in fix.
      Going.
      Getting there.
      Compiles, will continue tomorrow.
      More progress.
      Plugging back in trust region code.
      More cleanup.
      Will continue tomorrow.
      Taking out deprecated functions, trying to eliminate DensePoint/DenseMatrix classes.
      Armadillo-ifying the L-BFGS.
      Will get rid of densepoint and densematrix and linear_algebra.h
      Going the wrapper approach in dense point to use armadillo operations.
      Bug fix.
      Armadillo-ifying
      Kind of compiles.
      Compile fix.
      More progress.
      Code restructure.
      Sampling class separated.
      KDE compile fix.
      Another.
      Will continue after lunch.
      To be continued.
      After dinner.
      Will continue tomorrow.
      Mysterious crash in distributed kde memory mapped file mode fixed.
      Fixes before trying the new distributed gnp.
      Sub dense matrix added.
      Astyle fix.
      Another check point.
      Another checkpoint.
      Another checkpoint.
      Another checkpoint.
      Another checkpoint.
      Another checkpoint, getting closer.
      Checkpoint.
      Another checkpoint, getting there.
      KDE now supports progressive computation.
      Checkpoint.
      Done for today.
      Getting closer, now have to fix the segfault.
      Almost there.
      Almost there.
      Memory leak fix in distributed kde code.
      Need to ask.
      All bugs fixed, now just have to do performance tuning.
      Crucial bug in the distributed kde test.
      Found the mistake.
      Some problems, will fix today.
      Found the problem, will fix later.
      I think all fixed, now onto performance tuning.
      Adding in the distributed parallel triple tree.
      Some minor correction.
      Need to look at the tree building now.
      Test fix.
      Parallel sample sort in progress.
      Will continue later.
      CMakeFile fix.
      More progress.
      Testing the parallel sample sort.
      To be continued.
      Distributed sample sort works, now have to rewrite distributed tree building.
      Going.
      Another compiler error fix.
      Compile error fix.
      Refactoring the distributed tree builder.
      Will continue tomorrow.
      Distributed tree in progress, added functions to generate points within a bound.
      Adding the distributed tree test.
      Armadillo change for 1.0.0 incorporated.
      minor fix to CMake in the core.
      Getting there.
      Minor fix.
      Will continue soon.
      Some files reshuffled.
      Bug fixed, now finishing up distributed tree and new FMM.
      Complie fix for distributed tree builder, still in progress.
      Added the random point generation test for bounds.
      Final compile fix before dinner.
      Getting there.
      Devirtulaization of metrics.
      Compile error fix.
      Another fix.
      Final fix.
      Another fix.
      Done for tonight.
      Have to fix the segfault in distributed tree.
      Critical bug fixed, still looking at distributed tree.
      Bug fixed, still continuing the parallel tree, but almost done.
      More progress.
      Almost done with parallel tree.
      Will continue after lunch.
      Experimenting with gcc garbage collector.
      Quick patch.
      Added the bound inclusion test, now finishing up the distributed tree.
      Done for tonight.
      Lots of bugs fixed. Almost done replacing the distributed tree.
      Lots of bugs fixed again, but very close to replacing the distributed tree building.
      Cleaned up distributed tree builder.
      Adding more comments. Now ready to improve the distributed engine.
      Further code reductino.
      Compile error fix.
      Need to test the Morton ordering, and refine the tree building and the distributed framework.
      Trust region being debugged.
      Need to plug in Hessians for test functions.
      Fixing the bugs.
      Trust region kind of works, but convergence is slow.
      Added different methods for trust region search.
      Took out prints.
      Some trivial changes, before distributed overhaul.
      One critical bug fixed in distributed GNP, where the reference tree was grabbed multiple times.
      Added the prioritization for distributed computation.
      Bug fixed. Now need to deal with the MPI message sizes.
      Lots of improvement.
      Rewrite of Cartesian series expansion using boost multi-array in progress.
      Series expansion library being integrated into the new library.
      Removing deprecated files.
      Slowly porting farfield expansion.
      Combined series expansion auxiliary classes into one, code compression in progress.
      Some overhaul.
      Another checkpoint.
      More progress on FMM cleanup.
      Now need to work on local expansion.
      Copyright updated.
      Will continue after lunch.
      Added the sanity test for three-body.
      More surgery.
      Almost there.
      Complie error fix.
      More overhaul, getting closer to cleaning up series expansion.
      Almost done cleaning up Cartesian series expansion. Now have to work on the test driver.
      Compile fix.
      More fixes.
      The global mapping test for series expansion passes, now plugging in farfield and local expansions into the test.
      Slowly fixing the compile error.
      Getting the test to work.
      Epanechnikov expansion test added.
      Testing the farfield expansion.
      Done for tonight.
      Slight bug in p to the d, will fix today.
      Series expansion bugs in p^D fixed.
      Minor fix.
      Quick fix.
      Changed distributed dualtree to use priority queue.
      Compile error fix on Hogwarts.
      Another.
      Another.
      Another fix.
      Short comments.
      More commenting.
      Adding in the absolute error approx.
      Going.
      Quick tweak.
      Fixing the pruning rule.
      Starting kernel independent FMM.
      Will finish
      Some bug fixes. Now that we are using a pq, we need to maintain the subtables from previous round, but need to think about throwing out old-unused tables.
      Warning fix.
      Need to write a non-sampling based binary tree builder.
      Prioritization changed.
      Bugs fixed, now have to check that subtables are not grabbed multiple times.
      I will be back.
      I will be really back.
      More patches.
      Warning fix.
      Compile error fix.
      Boosted the number of points in distributed kde test.
      Some more commenting before the naive parallel tree building.
      Some more changes, now onto new parallel tree building.
      Trying to add in the vanilla distributed tree builder.h
      Done for tonight, will continue the distributed tree (vanilla).
      Getting there.
      Compile error fix.
      Gettiing there.
      Another compile error fix.
      Back to parallel tree.
      Going.
      Adding in the vanilla distributed tree builder.
      Going.
      Getting there.
      Going.
      Some minor changes, before optimizing the distributed GNP.
      Some mini patches.
      Some code optimizations/cleanup done on the distributed framework, now need to replace the cache with a circular buffer.
      Re-debugged, now have to change to the circular buffer.
      Back to mixed logit.
      Back to circular buffer for the moment.
      Circular buffer added, subspace tree being revived.
      Adding in the distributed allknn driver.
      I will continue tomorrow.
      Bug fixed. When the all-to-allv was being called, subtrees belonging to another subtree wouldn't serialized, so a post-correction step was necessary.
      Test fix.
      Take two on the circular buffer patch, hopefully this passes the test.
      Test trial updated.
      More documentation.
      I will continue tomorrow.
      Adding distributions.
      Back to distributed tripletree, my secret weapon.
      Minor bug fix.
      More work.
      Back to parallel.
      Adding a new script.
      Further proof-reading.
      Minor edits.
      More comments.
      I will continue after dinner.
      Bug fix in the ball bound random point generation.
      Optimized so that new_from_old mappings are not sent for subtables.
      Kd-tree added in the test mix, plus now attempts to split everytime until the number of points is below the threshold.
      Changed so that the cache size is somewhat constrained per process.
      I think the leaf size now should be uniform across all MPI processes for distributed algorithms, so I fixed it.
      Getting into the subtable test.
      Turned off tracking for GeneralBinarySpaceTree to avoid subtle bugs in boost serialization/mpi.
      Removed the print statements.
      Ready to go to Dumbledore.
      Need to restructure the algorithm.
      Quick change.
      Small tweak.
      More tweakk.
      Minor changes.
      Numerical issue solved.
      More errors fixed.
      Another.
      Parallel tree building.
      Distributed tree building in progress.
      Serialization for LMetric.
      More patches.
      Fixing the distributed engine now.
      More bugs fixed in parallel tree.
      More bug fixes.
      Compile error fix.
      Some changes in the distributed tree build.
      Some performance problem. I am looking into it.
      Compile error fix.
      Going back to the former, now have to choose one reference tree to compute at a time rather than expanding the entire priority queue.
      More tweaks.
      Now, the priority queue is only expanded only one at a time.
      Bug fix.
      No more caching.
      Need to investigate the slowdown.
      Memory leaks fixed.
      Minor fix.
      Minor patch.
      fixing.
      Bug fixed in uninitialized stack allocation. The problem was that I forgot to pass in the absolute error value criterion.
      Minor change in kde test.
      Back to vanilla.
      Tree serialization is more efficient now.
      Took out a print statement.
      Fix in the pruning condition which was introduced when the hybrid error condition was plugged in.
      Minor compile fix.
      Some bug fixes. The query stats were getting resetted during the distributed computation.
      Subtable test fix.
      Crucial bug fix - table lookup was too slow in the previous version.
      Minor edit.
      Changing the tree.
      Changed the leaf size.
      Templatized the kernel type, and now plugging in the series expansion.
      Removing abstract kernels, now everything is template.
      Fixed a bug in kde-test.
      Pushes in the right expansion type.
      Templatized the series expansion object for kde.
      Slowly plugging in series expansion.
      More restructuring.
      Quick fix to a test.
      Memory requirement for series expansion fix.
      Slowly adding in series expansion, almost there.
      A little break.
      Almost there.
      Series expansion is now plugged in, now have to debug.
      Series expansion should be functional, but really need to go through and verify and debug.
      Bug fix.
      Counting the number of prunes.
      Problem with multivariate gaussian expansion, will fix soon.
      Disabled the Epanechnikov expansion until further notice.
      Fix due to the templatization of SphereVolume function.
      Took out geometry.c and geometry.h
      Bringing back the distributed kde with series expansion.
      Adding in the scale option.
      Distributed kde/test compiles again.
      Parsing error fix.
      Timer added to the KDE.
      Argument parser separated for mixed logit.
      Porting Bengio's method for the finish.
      Added the approximate Hessian update routines.
      Added the method for determining whether there are points underneath an arbitrary node in the tree.
      Segfault fix for distributed kde.
      More debugging.
      Temporarily turned off non-uniform weight series expansion.
      Mistake in the series expansion fix, now have to make sure that the rpoints are properly accumulated in the case when the table stores non-contiguous points.
      Minor corrections.
      Changed the AccumualteCoeffs to use iterators.
      Took out a useless operation from kde_dualtree.h
      Found a bug in multivariate series expansion that involves copy constructor of core::table::DensePoint. Must be careful when using core::table::DensePoint since I define assignment operator in a different way.
      I found out that the series expansion does not work properly under distributed setting, so coefficients must be not being cleared/exchanged. The distributed_kde-test now forces the exchange of entire trees.
      CMakeLists.txt modified to accept CMake 2.6
      Now copies farfield expansion when statistics are copied for KDE stats.
      Added the copy method for copying the farfield expansion.
      Changing the test to do level serialization for distributed kde test.
      Now grabs every table from the distributed computation in each stage, might have to threshold this later.
      More subtable test.
      Cache size constraint.
      So there is a problem with the node iterator in the subtable, so I'm fixing. After that everything should work.
      Corrected the subtable iterator test, still debugging.
      Bugs in subtable node iterator fixed.
      Took out debugging statement.
      Adding the depth function to GeneralBinarySpaceTree class.
      Compile fix.
      Another fix.
      Fix.
      Final bugs fixed, now have to look at the iterator performance for the subtable.
      Memory leak in distributed_kde-test fix.
      Minor indentation fix.
      Added the quasi random number generator, which needs to be tested later.
      Probably need to change the quasi-random generator with QuantLib.
      Fixing the problem in distributed kde where multiindex mapping was computed multiple times.
      Monte Carlo scratch space for MCMM is allocated only once for distributed version.
      Finishing Bengio/Smola expansion so that I can write my SC paper.
      Finishing Bengio.
      I will continue today.
      Getting there.
      Getting there.
      Reshuffling should work for weights theoretically.
      Weights are now retrieved from iterators in FMM.
      Renamed the files.
      Getting there.
      Getting there.
      I think almost done.
      Eliminated a useless function.
      Quick fix in arma::submat use.
      Plugged in quasi newton updates.
      Plugged in the distributions.
      Getting there.
      Correction.
      Ready to start the test driver for mixed logit tomorrow.
      Starting the mixed logit test.
      Test compiles, now have to run it.
      Getting ready to run the test.
      Almost there.
      Typo fix.
      Bug fix.
      More fixes.
      Fixing.
      Still crashes.
      It runs, but I have to check that it terminates.
      Some correction.
      Adding debugging statements.
      More messages.
      Almost.
      continued after dinner.
      Fixing the memory bug.
      Made the destructors virtual, but really need to think about making it a template distribution.
      Memory leak fix.
      Changed the virtual functions to traits for performance.
      Compile error fix.
      integration sample size for multinomial logit fixed to 2.
      Working.
      Something runs.
      Going.
      Fixing.
      Almost there.
      Minor comments.
      I think I derived how to evaluate the dictionary compressed far field moment expansion.
      Going.
      Starting the F2L translation operator.
      Slowly getting there, too tired.
      Code restructuring in Bengio FMM.
      Finishing up F2F translation operator for Bengio so that I can start writing.
      Seems to be working, now have to plug it in.
      It seems to be working.
      Fixing the CMake.
      Fixed a bug to make sure that the weights are serialized as well.
      Bug fix in monte carlo kde.
      A utility function added to GeneralBinarySpaceTree.
      Bug in the max prioritiy queue fixed.
      Some changes.
      Prioritization added.
      Memory corruption fix.
      Fix.
      Fix.
      Fix.
      Changing to kdtree.
      Changing to sample based tree builder.
      Fix.
      Fix.
      Fix.
      Tweak.
      Going.
      Tweak.
      Fix.
      Warning fix.
      Fix.
      Another.
      There is an load imbalance.
      Extrinsic prune added for kde.
      Trying out new things.
      Fix.
      Bug fix.
      Some restructuring.
      Fix.
      Getting there.
      Hopefully this fixes things.
      Change.
      Final.
      L-BFGS fix.
      Simplified the design of distributed dualtree algorithms.
      Fixing the test.
      Bug fix in distributed kde.
      Took out debugging statements.
      Another debugging statement.
      Going back to the previous.
      Previous.
      Bug fix - self contribution is now subtracted only once.
      Seeding added for distributed computation for extrinsic prunes.
      There.
      Monte Carlo fix.
      Hopefully this fixes the out-of-memory problem for 512 processes.
      Bug fix.
      Buffer size is fixed now.
      Starting random feature.
      Performance bug fix.
      More progress on random feature.
      Compile fix.
      Random Fourier feature seems to be working.
      Fixing Rahimi.
      Fixing the series expansion test.
      Bug fix in RandomPick.
      Fix in Monte Carlo.
      Added the probabilistic prune counter.
      More fixes.
      Changing default option.
      Obvious monte carlo fix.
      Another fix.
      Compile fix.
      Minor.
      Now reporting prune statistics for distributed kde.
      Monte Carlo problem fixed.
      Adding unithypercube scaling options.
      Prints the initial frontier size.
      Changing to kdtree.
      Bug fix in distributed kdtree building.
      Tuning.
      Warning fix.
      Changing options.
      More tweaks.
      Some changes.
      Adding extrinsic prunes on the global scale.
      Adding default absolute error.
      Prioritization on the global scale added.
      Formatted.
      Slight change.
      Compile fix for KDE.
      Turning off scale for distributed kde.
      Starting distributed kpca for SC paper.
      Doing distributed KPCA.
      Going.
      Getting there.
      Continuing at home.
      Continuing soon.
      To be continued. Will finish today.
      Getting there.
      Getting.
      Getting there.
      Close to graduation.
      I think it works.
      I think it works.
      Getting there.
      Warning fix.
      Another warning.
      Bug fixes.
      Need to fix compile error.
      Compile fix.
      Bug fix. Normalization added for KPCA.
      Different outputs for each process for KPCA.
      Minor debugging statements.
      Gradually moving toward sampling both in data space and function space.
      Crossing fingers
      Fixed.
      Fixing.
      Bug fix.
      Starting KPCA distributed computation part.
      Will continue later today. Almost done.
      Slowly finishing.
      KPCA step almost done.
      Getting there.
      ALmost.
      Almost there.
      Cleanup.
      Just need to finish one part.
      Added the copy constructor/assignment operator to MeanVariancePairMatrix.
      Getting there.
      I will continue soon.
      Should be ready to run on the full KPCA mode.
      Getting there.
      Almost runs.
      Memory leak fix.
      Almost done.
      Almost there.
      Getting there.
      Fixing the KDE mode bug.
      Almost done. Now adding the centering.
      Starting the centering.
      Restructuring.
      Almost there with the centered KPCA.
      Almost there.
      Done. Need to debug now.
      Adding KPCA component vectors normalization.
      More bugs fixed.
      Getting there, almost.
      Adding the naive mode.
      Good news is that the naive seems to match.
      Bug fix.
      Lots of bug fixes, almost there with distributed KPCA.
      Bug fixes, should be ready to start running by Wednesday.
      Committing.
      Took out exit.
      Compile fix.
      Small parameter tweaking.
      Should be ready to run the experiment.
      Almost ready.
      Critical bug fixed in KPCA centering case.
      Warnings fixed.
      Debugging statement taken out.
      Last change.
      Took out a debugging statement.
      Adding threads to distributed KPCA.
      Fixing silly mistake.
      ANother error.
      A bit of restructuring.
      More stuffs.
      Added threading to the convergence check part.
      Adding the new convergence check file.
      Crucial bug fix.
      All done, some sanity checks are in order.
      Memory leak fix.
      Another bug fix.
      Now turned off the random generation mode.
      Fixing an error.
      Another mistake.
      Seems all bugs are fixed.
      Should be able to read one file across multiple MPI processes.
      Now outputs to different files.
      Bug in the driver fixed.
      Postscaling added.
      Minor change
      Changing.
      A little tweak.
      Another tweak.
      Is it working
      Going Pthreads.
      Changed all calls to pthreads.
      Hypercube scale fixed to prevent division by zero.
      Now has the option to take a real dataset and grow up to a prespecified size by adding random gaussian noise.
      A quick fix to make sure that growing the file is done in parallel.
      Quick bug fix in naivekerneleigenvector in non-centered case.
      More numerical stability added to the centered case.
      Fixed the centering bug in KPCA.
      Changing the perturbation.
      Should run faster.
      Serious performance bug in threaded code fixed. Now the main thread goes after the children are launched.
      OpenMP-ified.
      Bug fix in openmp part.
      OpenMP retake.
      Should read in faster now for KPCA testing.
      Dataset reader compile fix.
      Adding the training error measure.
      Continued later.
      Splitting file optimized.
      Timer added.
      To be continued tomorrow.
      Getting there.
      Fix.
      Fix.
      Format.
      Bug fix in random combination generator. Added the option to clear or not clear.
      Format.
      Turned off probability allocation for three-body.
      Fix.
      Bug fix in three-body Monte Carlo.
      Adding local regression.
      Fixing argument list for mixed logit.
      The test sets are now read in.
      Tomorrow.
      Changed to use boost scoped array.
      Should fix the numerical stability problem. Will debug tomorrow.
      Took out exits.
      Bugs fixed.
      Another bug.
      Test.
      Bug fix.
      Another.
      Bug fix.
      Fixed.
      Still debugging algorithmwise.
      I think constant distribution is fixed.
      Main driver.
      Took out the statement.
      Some optimizations.
      Added the diagonal gaussian distribution.
      Back to distributed nbody and adding OpenMP parallelism to finish all of it.
      Changed the function for grabbing subtrees so that the size is limited.
      More changes.
      OpenMP shared memory parallelism added to distributed GNP.
      Bug fixes.
      Number of threads option added.
      Bug fix in KDE. Still need to fix more.
      Bug fix in the dualtree_dfs_dev.h. Compute function needed to consider pairwise distance between query_start_node and reference_start_node.
      Fixing mixed logit sampling problems. Still need to look at more.
      Some optimizations for mixed logit.
      Default option is now bfgs.
      Optimizing.
      Bug fix in diagonal gaussian.
      Changes.
      Another bug in diagonal Gaussian fix.
      Some fixes.
      Dividing up code.
      Specialized so that the integration samples are always 0 for multinomial logit case.
      Some fixes.
      Getting there.
      Getting there.
      Some changes.
      Now reports the maximum number of integration samples in use.
      Putting back in the gradient error computation by formula.
      Transitioning.
      Added the function to return the set of sample mean variances in meanvariancepairmatrix object.
      Limits the integration samples per person.
      Getting there.
      Updates the approximate Hessian in every iteration.
      Compile error fix on no.
      Adding weighted Lmetric.
      Trying to revive the kde crossvalidator.
      Starting local regression.
      A little fix in the distributed dualtree to maintain one computation frontier per each MPI process.
      New local regression in progress.
      Filling out the dualtree stub for local regression.
      Fixing local regression.
      Fixing local regression part 2.
      Additional argument to the mixed logit code for deciding how to compute the errors.
      Moved the serialization of arma::vec to core::table. Added the serialization of arma::mat.
      More stubs filled out for local regression.
      More.
      Compile error fix.
      Will be back.
      Compile fix.
      More.
      Continuing tomorrow.
      Will be back after lunch.
      Compiles, but need to make another pass.
      Compiles finally, but still debugging.
      Fixed the parser for local regression.
      Segfault fix.
      Some bug fixes, getting local regression to work.
      Switched the initialization order of query tree and reference tree.
      More fixes.
      Dualtree modification for query result initialization.
      modification for query result initialization.
      Prints out the number of dimensions parsed.
      Adding the test mode for mixed logit.
      Mixed logit adding the test mode.
      Slowly adding in the test mode.
      Compile error fix.
      Modification to the dualtree generator.
      Modification to the local regression so that it computes the final regression estimate.
      Mixed logit test compile fix.
      Writing the local regression results to the file.
      CombineWith function MeanVariancePair is fixed such that if the incoming pair is empty, then it returns.
      More edits to local regression.
      Added the method for downdating the Monte Carlo sampling.
      Changed so that coordinates are non-negative for local regression.
      Nonnegative transform added.
      Adding the Monte Carlo test.
      Local regression being fixed.
      I think it work finite difference-wise.
      Adding the NWR mode for local regression.
      Modification to dual-tree generator to support NWR.
      NWR should work now.
      Bug fix in local regression post-process.
      Bug fix in local regression. Still debugging.
      Ready to test NWR.
      Table class changes to add method for returning point weight.
      Adding the local regression test.
      Local regression test added.
      There is a bug in the table which needs to shuffle the weights as the points as the tree building is done. Will fix now.
      Fixed the tree building to shuffle the weights as well.
      Fixed the local regression test.
      Trying to pass the local regression test.
      Bug fixes in local regression. Gaussian case works now, have to fix for Epan Kernel.
      Fixing the pruning rule for monochromatic case, then moving onto Monte Carlo version of the algorithm.
      Getting there.
      Local regression fixed, now plugging in Monte Carlo.
      Weighted metric added for local regression.
      Extensions for weighted metric.
      Fix.
      Fix to uninitialized values.
      nonnegative transform only translates form negative mins.
      Trying to fix local linear bug.
      Local linear bug fixed for fixed bandwidth. Works perfectly, but still need to add Monte Carlo in a clean way.
      Broke the files into smaller pieces for local regression.
      Broke kde into several parts.
      Pluggin in Monte Carlo for local regression.
      Restoring CMakeLists.txt
      Almost done adding sampling for local regression (Gaussian kernel).
      Fixed the monochromatic case for KDE, now back to local regression Monte Carlo.
      Bug fix in distributed kde test.
      Getting there in finishing up sampling based local regression.
      Will debug later. Almost done with Monte Carlo sampling in local regression.
      Almost done with Monte Carlo local regression.
      Getting there. Should be ready to run the mega-scale experiments in a month.
      Fixing the compile errors.
      Fixed the compile error for local regression, now just have to debug/verify.
      Starting the CUDA version of KDE.
      CUDA fix.
      Adding the CUDA kde driver, now starting naive CUDA kde.
      Finally linking CUDA, but still in progress for naive GPU KDE.
      I will continue tomorrow.
      Now running local regression to verify Monte Carlo.
      Compile error fix.
      Added the probability argument for local regression.
      Debugging Monte Carlo sampling in local regression.
      Monte Carlo seems to work.
      Almost done setting up CUDA kde.
      CUDA kde almost done.
      I will test on the GPU now.
      Getting there.
      Fixing the CUDA KDE.
      Bug fix in CUDA kde.
      Debugging.
      Debugging CUDA again.
      Getting there.
      CUDA KDE works.
      Bumped up to 512 threads for CUDA kde.
      Relaxed the pruning rule for NWR.
      Adding the distributed local regression driver.
      Bug fix in distributed tree in progress. One more bug to fix there.
      Possible race condition in distributed tree building. Barrier before refreshing the number of points.
      Fix in the distributed tree building. Should return false when failing to split points.
      Distributed tree building should work more or less.
      Added the multi-threaded tree building. Now onto GPU-based tree building.
      Fixed omp for to omp parallel for.
      Distributed local regression compiles now.
      Warning fixes.
      More warning fixes.
      More warnings.
      More warning fixes.
      Multithreaded tree building enhanced.
      Testing the distributed local regression.
      Compile error fix.
      Another fix.
      Fixing the subtable test to compile.
      Debugging distributed local regression.
      Ultranaive for local regression factored out.
      Re-factoring the test driver for kde/distributed_kde.
      Bug fix in multi-threaded tree building.
      Multithreaded tree-building fixed.
      Need to fix distributed local regression, then back to CUDA.
      Fix in the distributed local regression.
      Distributed local regression test runs, but does not pass yet.
      Duplicate option in distributed local regression cut.
      Distributed local regression test still does not pass yet.
      Distributed local regression test passes now.
      ifdef added for OpenMP.
      Fix.
      Fix.
      Boost anycast error fixed for dist local regression.
      Fix.
      Fix.
      Fix to the subtree size so that more cores are utilized.
      Change so that multi-threading assigns a unique core to each query subtree.
      Fix so that division by zero does not happen in NWR.
      Fixing the distributed tests.
      Starting the randomized range finder from Halko's paper.
      Finished adaptive randomized range finder, now have to test it.
      Testing the random linear algebra stuffs.
      Halko's algorithm completed, now ready to plug into KPCA/GP.
      To be continued tomorrow.
      Randomized power iteration works.
      Test.
      Starting the GP regression driver.
      Deciding on the final algorithm formulation for GPR.
      Starting ADMM distributed optimizer for GPR.
      Adding in sender-initiated asynchronous distributed GNP engine.
      More.
      N-body engine now uses asynchronous communication so that computation can be overlapped better.
      Moved distributed engines to core/parallel.
      Now have to fix the load-balancing issue, and done with 2-body distributed GNP.
      Need to fix the load balancing issue.
      Bug fix which resulted in non-termination when extrinsic prune occurred using the global tree.
      Adding the dual-tree load balancer.h
      Compile error fix.
      Parallel METIS cmake finder.
      ParMETIS works, now have to use that to do load-balancing.
      ParMETIS edge weights are always positive integers.
      Giving up on ParMETIS since it segfaults, doing naive load-balancing.
      Naive load balancing.
      Slowly transitioning to the load-balancing scheme.
      Bug fixes.
      Ditching the static load balancing and implementing the receiver-initiated load balancing.
      MPI timer measured for each MPI process.
      Slowly transitioning to the receive oriented load balancing scheme.
      Eliminated useless variable from TableExchange.
      Adding new messages.
      New file.
      Slowly getting to a smarter communication pattern.
      Compiler warning fix.
      Adding a new file for distributed local task list for better organization.
      Now need to plug back in the distributed termination and work stealing among the cores.
      Renamed the Task to TaskQueue, now adding Task class.
      Slowly making changes to load-balancing.
      Adding the task stealing among cores.
      Multicore work stealing should be working.
      Some fixes.
      Getting there.
      Memory leak fix.
      There seems to be a deadlock, need to fix in the subtree split part.
      Fixing the monochromatic problem.
      Another possible bug fix where splitting was requested whenever it hits a subtree that is locked.
      OMP critical added.
      Some fix. Still debuggin.
      Moving the termination check.
      Should fix the deadlock.
      All fixed, now moving onto load-balancing.
      Starting the routing algorithm for distributed dualtree.
      Starting the e-cube routing algorithm.
      Now have to change the termination condition.
      Implementing the routing.
      Transitioning.
      Fix.
      The changes should have fixed the monochromatic problem.
      Adding the random seed option.
      Fixed so that the rank is fixed after distributed tree building.
      Fixing the subtable test to compile.
      Taking out parmetis.
      Fixed the subtable serialization bug, where the loaded subtable is saved and loaded again, did not result in a valid subtable.
      Renaming files.
      Remove.
      Fixed so that it uses recursive doubling, now need to fix TableExchange.
      Recursive doubling scheme started.
      Added a method to test the ID of a subtable.
      Renaming.
      Renaming.
      Cmake change.
      Compile fix, transitioning to recursive doubling scheme.
      Compile fixes.
      Fixed so that MPI_Iprobe is done on a smaller neighbor. Now have to fix so that the subtables are coalesced before sending out.
      Kind of works, now need to put the asynch barrier only once.
      Fix.
      Trying to debug.
      Fixing in progress.
      Patch so that STL vector is not used in all gather.
      Formatting.
      More bugs fixed, but now have to deal with deadlocks.
      Mainly formatting.
      Compiling somewhere else.
      Fixing now.
      Style
      Style.
      Style.
      Debugging
      Bug fixed, now have to put back in the termination propagation.
      Bug fixed. Now have to fold in the termination condition.
      Hopefully the last bug before termination detection.
      Style.
      Cleaning up and merging termination detection.
      Minor change.
      CMake change.
      Reformatting.
      In transition.
      Bug fixed.
      Default argument revert, since distributed 2-GNP is stable now, now have to do the load-balancing.
      Memory leak fix.
      Fix.
      Removing an obsolete file.
      More code cleanup.
      Splitting among cores put back on.
      Performance bug fix in single node case.
      Bug fix in multicore.
      Bug fix in getting initial tree frontier.
      Temporary patch. Fixing the OpenMP issue.
      More cleanup in the OpenMP region.
      Table exchange inside distributed task queue.
      Bug fix in checking power of two.
      Another fix.
      Minor tweak. Now going with load-balancing.
      Minor format.
      Adding a different way of generating dualtree tasks.
      Incrementally cleaning up.
      Segfault fix.
      Compile fix.
      Need to fix the STL map problem.
      Bug fix.
      Added a function to clean up terminated query subtrees so that the searching can be done faster.
      Need to put omp_lock inside DistributedDualtreeTaskQueue.
      omp_nest_lock_t transition.
      Bug fix.
      More active task splitting.
      Transitioning to the load balancing.
      Adding a new data structure that is needed for load balancing.
      Getting there to load balancing.
      Getting there by implementing subvector class. Now have to implement load balancing.
      Update to the MapVector iterator.
      Uses MapVector iterator for kde.
      Compile fix.
      Fixed compilation for distributed tests.
      Bug fix.
      Adding scoped omp locking.
      Getting to load balancing.
      Still figuring out how to add load balance.
      Compile fix.
      Const_cast fix.
      Transitioning to load balance.
      Getting there.
      Optimizing before load balancing,  now need to re-prioritize so that the earlier cache is evicted first in the task priority.
      More optimization.
      Reprioritizing. Now have to implement the rest of the load balancing.
      Bug fix.
      Another.
      Priority change.
      Turning off the process rank favor.
      Getting there.
      Added the option of fixing the random seed.
      Easy optimization.
      Now the query subtree list is converted to the query subtable list.
      Transition to shared_ptr.
      Code restructuring for load balancing.
      Adding parallel random dataset generator.
      Factored out random dataset generator.
      Tests now use RandomDatasetGenerator.
      Fix.
      Taking out boost thread.
      Multi-threaded random dataset generator should be working.
      Revert since the test is failing.
      Fix.
      Fix.
      Fix.
      Test clean up.
      Fixed the random dataset generator. Generating weights for kde made series expansion to think that there were actual weights.
      More comments before transitioning to load balancing.
      More optimization.
      Working on map vector.
      Getting there.
      Getting there.
      Getting there.
      Tweak.
      Getting there.
      Transitioning.
      Turning off load balancing for safe version.
      Load balancing.
      Getting there.
      Getting there.
      Destructor for subtable added.
      Fix.
      Fix.
      Bugs fixed, now continuing with load balancing.
      Temporary checkin, still stable version.
      Adding copy constructor for kde result.
      Copy constructor for local regression result.
      Serialization rule for std::pair
      Adding flush request.
      Getting there, taking a break.
      Back to something.
      Prints out the elapsed time from the master.
      Getting there.
      Infinitely closer.
      Getting there.
      Getting there.
      Getting there.
      Will continue tomorrow.
      Going there.
      CUDA kde compile fix.
      Minor correction.
      Getting there.
      Transitioning to boost shared ptr.
      Bug fixes.
      Plugging in the test mode.
      Getting there.
      Getting there.
      Minor.
      Getting there.
      Time to finish load balancing.
      Adding true parameters.
      Going there.
      Getting here and there.
      Getting there.
      Getting there.
      Getting there.
      More commenting.
      Getting there.
      Query subtable lock is inside subtables now.
      Getting there.
      Getting there.
      Getting there.
      Load balancing added as an option.
      Output added.
      Bug fixes in task list.
      Another bug fix.
      Printing out true parameter values.
      Segfault fix.
      Print out.
      Outer iteration added.
      Getting there with bug fixes.
      Getting there.
      Bug fix in core::math::DRange.
      Fixing.
      Getting there.
      Trying to fix load balancing, almost there.
      Getting there.
      more bug fixes.
      Compile fix subtable test.
      Changed MapVector class so that it does not use operator[] for find operations.
      Adding MapMatrix class.
      Getting there.
      Hopefully fixes the compile error on no
      Getting there.
      Compile warning.
      Compile warning fix.
      Getting there.
      Getting there.
      Took out core::table::DenseMatrix and core::table::DensesPoint classes and completely replaced with Armadillo.
      Memory leak fix in loading of armadillo vector.
      Removing MapMatrix.
      Segfault fix. Now load-balancing is close to being finished.
      Adding the lock toe taskqueue PushNewQueue method.
      Bug fixes in TaskList exporting.
      Adding OMP locks to distributed task queue methods.
      Getting there with load balancing.
      Patch for load balance.
      Another patch for load balance.
      More patches, getting there.
      Taking out print.
      Print statement.
      More prints.
      Bug fix.
      Another bug fix in MapVector.
      Going.
      Getting there.
      Adding the flag for whether the subtable is being used for query subtable or not.
      Getting there, now putting QueryResult inside SubTable class.
      Deep changes to allow associating query result with tables.
      More patches before finishing load balancing.
      Compile fix.
      Final compile fix before load balancing.
      Another fix.
      Compile fix, now load balancing finalizing.
      Query result inside query subtable now.
      Fixing so that local expansion is initialized for non-empty multipole momenets.
      Still debugging.
      Bug fixed. Still finishing load balancing.
      More optimization.
      Converting to intrusive pointers.
      Patches to avoid searching through locked query subtables.
      Reverting because I broke the code.
      Switching to boost::scoped_array
      Hopefully I can proceed to load balancing.
      Took out print.
      Taking out shared_ptrs.
      Going.
      getting there.
      Going here and there, getting to the finish line.
      Additional header file.
      Fix.
      Going again.
      Repatch.
      Going there.
      Going.
      More patches.
      Almost done with load balancing.
      Getting there.
      Getting there, now ready to test load balancing.
      If a reference subtable comes before the query subtable with the same ID, the task export will forget to save the associated query sub list. Now have to fix so that the reference set and the query set are different.
      Still fixing.
      Bug fix.
      Getting closer.
      Almost done with load balancing, still debugging.
      Getting there.
      Getting there.
      Continuing tomorrow.
      LockCache method should be called for reference tables stolen from other processes.
      Numerous bug fixes in load balancing, getting extremely close to finishing load balancing and start writing.
      More edits.
      Fixing.
      Commit.
      Compile fix.
      Bug fixes, still trying to get load balancing to work.
      New API added to parallel.
      Bug fix in ball tree builder.
      Basic parallel tree test modified.
      Bug fix in the intrusive pointer initialization of reference count.
      Moved the SendReceive test outside for distributed dualtree engine.
      Taking out print.
      Patch for optimizing load-balancing turned off case, roll back three times for a stable version.
      Another patch.
      Another bug fix.
      Another patch.
      Bug fixed, now testing stressfully. Just in case, you can roll back about 5 times to get a stable version.
      Change to the way points are compared for equality.
      API changes to GNP engine.
      Final fix.
      Another.
      Another change.
      Fix.
      Fixing the monochromatic case.
      Will fix the monochromatic problem.
      Default thread num
      Changed the way is_monochromatic flag is used in the distributed/non-distributed computation.
      Fix to the default argument.
      Another default argument change to kde.
      Default location for gsl changed.
      Disabled redistribution of cores on the same machine, now will change the policy of initiating load balancing to reduce the overhead.
      Fix to the root CMakeLists to specify the local installation root.
      Going.
      Added the code to extract prune counts.
      Breaking up the file.
      Transitioning and cleaning up toward a more efficient load balancer.
      Getting there.
      Getting there to change load balancing.
      Default num thread changed again.
      Some bug fixes.
      Getting there.
      Transitioning to better load balancing scheme.
      Getting there.
      Commented out task list route for now.
      Getting there.
      Cleaning up code.
      Some optimizations.
      Getting there.
      Getting there.
      Getting there.
      Getting there.
      More cleanup.
      Getting there.
      Going.
      Plugging back in the load balance.
      Getting there.
      Changing the termination condition slightly.
      Re-do.
      Tweak to termination condition.
      API change.
      API change.
      More API changes.
      API changes.
      API change.
      Fix.
      More changes.
      Fix.
      Final change.
      Bug fixes.
      Distributed/non-distributed two-point tests pass now.
      Almost done debugging.
      Almost there.
      For some reason, uses more memory.
      Numerous bug fixes for load balancing, still debugging.
      Need to fix the load balancing case, but getting there.
      Load balancing works. More stress testing.
      Memory leak fix.
      Enabled splitting query subtables.
      Some minor bug fixes in updating local computation on load balancing case.
      Some more optimizations.
      Now the flushed query subtables are destroyed.
      Distributed kde test now tests load balancing.
      Added the branch on tree type in distributed kde code.
      Memory leak in load balancing case fixed.
      Now dequeues multiple items for slave threads.
      Adding the weak scaling measuring mode.
      Moved the global all-reduction step of two-point into the two_point_result.h, also finished the weak scaling measuring mode.
      Added the static cast.
      Another warning fix.
      Fix.
      Fix.
      Some adjustments.
      Fixing.
      More tweak.
      Now need to maybe tweak the load balancing, but the experiment setup should be good to go for weak scaling.
      Fix.
      Another tweak.
      Printing out the initial setup time.
      Dividing by the number of threads in the weak scaling.
      Distributed tree test compiles now.
      Re-enabled the multithreaded tree building.
      0.2 to 0.1
      Bug-prone disjoint_int_intervals.h eliminated.
      Fixing the compile error.
      Going.
      Added the method to print out global table.
      Going.
      Going.
      Different way of measuring weak scaling.
      Bug fix in measuring weak scalability.
      Another tweak.
      Fix.
      Disabled redistribution among cores.
      Bug fix in multithreaded tree buildling, now there is a speedup under -O3 flag.
      Warning fix.
      CUDA fix.
      omp_set_nested(false) apparently resets the number of threads.
      Need to fix the task division for MPI size = 1, big data case.
      Checking in the reference tree walker.
      Dualtree iterator bug fix.
      Reference tree walker finished. This will save memory by conservatively expanding the reference frontier (which has direct impact on the hashed send list.
      Patches for running on a larger distributed computation per node.
      Another fix. For a stable version, roll back twice.
      Minor.
      Changed the seed function.
      Leaf size increase.
      Another parameter.
      Going.
      Another patch.
      Warning fix.
      Warning fix.
      Some tweak.
      More tweak.
      Final change from 400 to 40.
      More tweaks.
      Patch to encourage sending the reference set as few times as possible.
      A tweak.
      Another tweak.
      One more.
      Another.
      Another fix.
      Compile fix.
      More tweak.
      Added back the timer.
      Some tweak.
      Fix.
      Another.
      Fix.
      Now any thread can walk the reference tree.
      Added the heuristic for reference tree walk.
      Took out print statement.
      Some changes clean up.
      Fix.
      Took out printf.
      Fix.
      More tweak.
      Some changes.
      Experimenting now.
      Some optimization.
      Testing.
      Dualtree iterator is slower.
      Fixing load balancing.
      Some opt.
      Fixing the load balancer.
      Fix.
      Some changes, now need to optimize load balance.
      Changed the naming scheme of files in MPI read.
      Needs to be fixed by implementing distributed file reader.
      More comments, now optimizing MPI calls.
      Merged multiple MPI calls into one.
      Problem fixed.
      Warning fix.
      Another.
      Another.
      Another.
      Another.
      Going.
      Fix.
      Fix.
      Fix.
      Suffix fix.
      Some changes so that messages can be buffered more quickly.
      Revert.
      Bug fix.
      Fix.
      Transitioning to compact buffering.
      Now subtable routes can go faster.
      Fix.
      Fix.
      More optimizations.
      Merged.
      Reverting.
      Going.
      Patch for extrinsic prune.
      Patch for more balanced splits in the global tree in distributed tree building.
      Formatting.
      Tree test compile fix.
      New argument to specify attribute dimensions for full Gaussian.
      Fixing the Gaussian distribution.
      Now debugging.
      Terminates when --attribute_dimensions_in missing for full Gaussian.
      Fixing the test.
      Change so that SamplingAccumulatePrecompute is called automatically everytime beta is drawn from the distribution.
      Option to simplify outputs.
      Adding a random generator for DCM Table.
      Random parameter generation.

Garry Boyer (339):
      create
      Added basic directories.
      library in
      hi
      hi
      hi
      added comments so doxygen will pick up trees
      hi
      hi
      Updated to support external tree
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      latex help for matrices
      hi
      hi
      use curl instead of wget
      hi
      hi
      works with spaces
      hi
      fixed help for fx-cleanup
      hi
      hi
      hi
      hi
      hi
      linear svm seems to be working
      hi
      hi
      hi
      Fixed the damn bug
      hi
      looks like superpar will be taking life soon
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      tkde expressed in GNP-preduce -- yay
      hi
      fixed a build system problem
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      Holy Object Traversal BATMAN!
      hi
      Removed backup files
      hi
      TKDE WORKS!
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      fixed my bugs
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      64-bit building
      hi
      hi
      hi
      hi
      fixed bug in fastexec with integer reading
      build system slight update
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      Added affinity and other algorithms
      hi
      Added utils directory
      hi
      Added a section 2
      Added a section 2
      Added a section 2
      hi
      hi
      hi
      hi
      hi
      made stuff smaller, added aff
      hi
      hi
      hi
      Updated AP
      Made figure 1 work
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      added intmap
      hi
      okay, finding minor design problems, i'll check back in later
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      woot, parallel works on one machine
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      ITS ALIVE!!!!!
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      close to working now
      hi
      hi
      hi
      working nbr
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      thor moved into the main line -- tree code experiences radical changes
      hi
      improved alignment issues
      Please do not add temporary files to Subversion
      added allnn
      hi
      hi
      more thor stuff
      hi
      hi
      hi
      more updates to thor -- sorry
      separated out interface from implementation
      hi
      cleaning up documentation
      documentation fixes
      hi
      fixed a compile issue with thor
      parallel works again
      made affinity converge better
      affinity converges again
      affinity converges again
      hi
      oops, fixed a bug
      moment expansion works, apparently
      hi
      hi
      added index to thor
      hi
      hi
      hi
      hi
      hi
      made some fixes to thor's file access
      hi
      hi
      fixed a bug
      non-portable mutex initializers no longer used
      hi
      hi
      hi
      hi
      hi
      separated dfs.h into dfs_impl.h
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      added some metrics to thor, fixed my kde to allow gaussian convolution
      fx-rpc now works with fx
      breadth-first seems operational
      gdb support for fx-rpc
      slightly improved breadth-first
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      paper modifications
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      hi
      added ball tree bounding structure
      fixed tree bug
      rolled back Doxyfile
      hi
      DO NOT CHECK IN LARGE FILES
      allow use of gfortran
      committed
      Making q_mutables slightly better.

Grzegorz Krajewski (8):
      Add note about runtime_error exception
      Add test for twice start/stop timer
      Add changes for runtime_error exception.
      Throw a runtime_error exception for start/stop
      Change contributors list
      Add getter for timerState.
      Definition of GetState().
      Terminate the program timers.

HurricaneTong (24):
      initialize tree pointer
      add pooling rules
      add two layers
      add pooling connection for CNN
      xcode
      Revert "xcode"
      implement mean shift algorithm
      support for selecting kernel
      delete unused header file
      template order
      Add test case
      estimation of duplicate thresh
      optimization
      add metric
      zero duplicate thresh test
      make test in correct order
      only consider points within radius
      implement Gradient()
      use SquaredEuclideanDistance
      remove unnecessary kernel traits
      use unsafe_col to speed up
      generate seeds as initial centroids to speed up
      involve mean to calculate new centroid
      delete obsolete paramater

James Cline (118):
      Create fastlib-vector branch for swapping ArrayList -> std::vector.
      Converted rangeset.h to use std::vector. Needs testing, still.
      Switched MinHeap to use std::vector.
      Sped up slightly. "Safer" code.
      Switched from ArrayList->std::vector.
      TestRangeSet() changed so that it actually will fail if the expected results are not generated.
      Fixed TestQueue so that it actually fails if things don't match.
      Forgot to change this back before previous commit.
      Queue is now just a wrapper around std::deque. It will be completely removed later on as the things that call it are updated.
      Updated comments. Removed constructor nonsense.
      Rename branch to indicate its new purpose, switching from in house implementations of things in the standard library to the standard library implementations.
      Queue deprecated and removed. std::deque should be used now instead.
      Remove ArrayList and String. This commit breaks many other classes.
      Reimplemented String's tokenizer for std::string.
      More things that compile yet remain untested.
      More untested yet compilable files.
      cmake target fastlib compiles, as do several of the tests before cmake gets to mlpack.
      fastlib/thor compiles now, except for allnn.cc.
      More stuff compiles, all untested for correctness.
      Fixed tokenizer bug. Added a hopefully finished unit test for the tokenizer.
      Removed error checking for converting numbers to strings when unecessary.
      Removed useless Init method in rangset.h.
      Removed unecessary #include.
      It was dumb to not have done it this way to begin with.
      The textfile_test now passes.
      Passes its test now.
      A couple comment updates to reflect ArrayList -> std::vector change
      Added some bounds checking
      Incorrect matrix access via [] instead of (x,y).
      Fixed memory leak.
      Works for svm_c learner, linear or gaussian kernels for training and testing.
      The svm_r learner now "works" for linear and gaussian kernels for training and testing.
      Make parameter passing to SMO::InitPara sane.
      Switched over kernel_pca stuff to use arma & std.
      assert() undefined, added #include <assert.h>
      naive_bayes compiles now. Currently untested. Could also possibly use some cleaning up still.
      Works correctly now, just need to get the output to be in csv format.
      Uses data::Save to save as a CSV file
      Nothing in this file is used anymore.
      Converted to stl stuff, still some bugs
      Cleaned up and optimized naive_bayes a bit.
      Added the option to enable or disable bounds checking in armadillo for fastlib-stl.
      TEST_DOUBLE_APPROX failed when at least one of the numbers was NaN.
      Comment updates, unit test, and optimization
      Should be up to date, now.
      Compilation error, ptrdiff_t not defined, add #include <cstddef>
      Found another ptrdiff_t problem, added #include <cstddef>
      const IO::IO& other didn't compile with g++ 4.6
      g++ 4.6 wants #include <cstddef> when using things like ptrdiff_t
      Fixed some missing IO parameters for SVM and incorrect types.
      It helps to attach the new file..highlight.
      Ticket #54 and a bit of refactoring.
      Create a simple linear regression class
      error: ‘struct arma::subview_col<double>’ has no member named ‘ones’ fix
      LinearRegression -> mlpack::linear_regression namespace
      formatting changes
      fastica -> mlpack::fastica, lin regr style
      hmm methods -> mlpack::hmm
      infomax_ica -> mlpack::infomax_ica namespace
      naive_bayes -> mlpack::naive_bayes namespace
      regression -> mlpack::regression namespace
      Make main usable, --help explains options now
      nnsvm -> mlpack::nnsvm namespace
      helps to add the files
      Make lin_reg adhere to the proposed interface for mlpack methods.
      Put dballbound into namespace mlpack::bound
      mlpack::math namespace mess
      Remove using namespace mlpack::math in favor of math::Range
      Change core/tree, core/math to *.hpp, *.cpp
      change optimizers/* to use hpp and cpp file extensions
      Change core/model to use *hpp, *cpp
      Change linear_regression file names to hpp, cpp
      Move nnsvm to *hpp, *cpp files.
      Move emst to hpp, cpp extensions
      Move fastica -> hpp, cpp file extensions
      Rename files to .hpp, .cpp
      Add load and save and a constructor that loads model from file
      Fix #ifndef, #define, #endif
      Fix braces, #153
      mog/* to hpp & cpp filenames, fix #defines, etc
      core/file to hpp & cpp
      comments
      Linear regression changes & fixes
      Better comments, coding style improvements
      Fix all the things cppcheck didn't like.
      We don't actually need a reference to the new child...
      non-class type return values are non-modifiable, const qualifier is ignored (-Wignored-qualifiers)
      Comment out unused parameter names (suprisingly valid C++), -Wunused-parameter
      How many unused parameters does one library need...
      Fix the compilation error from my -Wunused-parameter fix when compiling
      Another -Wunused-parameter fix
      Add -Wextra and -Werror for debug and non-debug builds.
      Apparently jenkins uses an older version of boost and we had a #define that
      The parameter names were... wrong.
      Default and copy constructors.
      This fixes the arm test bug.
      Various improvements to LinearRegression and our executable.
      Incomplete rough draft of the LinearRegression tutorial.
      coding with LinearRegression examples
      more comments for the comment god
      fix ticket #184
      MRKDStatistic for mrkd-trees. Probably still needs improvements.
      Make this actually compile when used with BinarySpaceTree
      Appears to work now.
      Add a splitDimension variable and getter for determining which dimension a node is split on.
      Tab fix (think I got them all)
      fabs(max(,)) -> max(fabs(),fabs())
      Mostly, hopefully, working implementation of Pelleg and Moore's mrkd tree k-means.
      Something's wrong with this
      Working, mostly finished pelleg and moore mrkd kmeans implementation
      Add more fields to the mrkd statistic
      comment fix
      Forgot to commit this, fixes forgetting to set minDistance
      Update metrics to support distinct vector types as arguments.
      remove useless code
      Switch from armadillo's load() to data::Load()
      Fix tabs
      Fix test compile time errors, missing <> for GMM

Janzen Brewer (3):
      Add OpenMP support to density estimation tree code
      Optimize small things in density estimation trees
      Replace unsupported array operation with arma::vec

Jaskaran Singh (4):
      .so problem fixed
      .so problem fixed
      .so problem fixed
      Updated path of install in Readme

Marcus Edel (294):
      test commit
      Removing "test.txt"
      Fix ambiguous math reference error, to pass the test on OS X with clang.
      Add target_link_libraries for librt to support clock_gettime() for Linux.
      Update the timer class, to get stable time values with more accuracy for the common operating systems.
      Remove unnecessary include.
      Fix ambiguous math reference error, to pass the test on OS X with clang.
      Fix ambiguous match: option -s matches --seed and --single_mode.
      Fix index out of bounds error when using det with a labels file.
      Fix ambiguous match: option -s matches --single and --scale.
      Fix ambiguous matches for -N and -L and set default optimzer sgd.
      Fix ambiguous call to pow, to pass the test with clang.
      Fix ambiguous match: option -d matches --degree and --new_dimensionality.
      Add opportunity to set initial centroids.
      Add command line option to set initial centroids.
      Fix typo that breaks kmeans.
      Ignore the cover_tree option if the naive option is present.
      Improve centering of the kernel matrix.
      Use the correct option to output the desity estimates.
      Fix ambiguous match: option -p matches --in_place and --percentage.
      Use the option to set the leaf class table file and unify method call.
      Update the timer example call and output.
      Fix ambiguous call to RandomSeed, to pass the test with clang.
      Check the matrix dimension before dropping unnecessary rows.
      Fix typo: furthest <-> nearest.
      Save the correct labels; thanks Anand!
      Assume the response to be the last column of the input file, as pointed out in the description.
      Fix ambiguous math reference error, to pass the test clang.
      Don't save a rowvector into a colvector. Use the build in option of the save function to transpose the vector.
      Add nystroem method for kernel approximation.
      Add test for the nystroem method.
      Embedding nystroem method into kernel pca method.
      Outsource the matrix multipilcation.
      Avoid direct multiplication with a diagmat.
      Integrate nystroem method into the kernel_pca_main.cpp file.
      Improved nystroem localisation ('oe')
      Fix normalization bug (transpose); Some more comments.
      Center the reconstructed approximation and the kernel matrix.
      Scale the transformed data matrix.
      Use the maxIterartion as template parameter.
      Handle variance calculation with zero eigenvalues.
      Remove unnecessary include directives.
      Right now, we can't load a vector, so we load a matrix and extract the last column.
      Add maxIterations parameter to limit the number of iterations used in the Newton method.
      Fix ambiguous math reference error, to pass the test clang.
      Make size_t known before including cxxabi.h to fix the build on FreeBSD.
      Add build status badge.
      Add implementation of identity activation function.
      Add implementation of logisitc activation function.
      Add implementation of the rectifier activation function.
      Add implementation of the softsign activation function.
      Add implementation of the tanh activation function.
      Add connection traits class.
      Add implementation of the full connection class.
      Add implementation of the self connection class.
      Add implementation of the random weight initialization method.
      Add implementation of the Nguyen-Widrow weight initialization method.
      Add implementation of the optimal initial value setting initialization method.
      Add implementation of the weight initialization method by T. Kathirvalavakumar and S. Subavathi.
      Add implementation of a feedforward network container class.
      Add implementation of the iRPROP- method to update the weights.
      Add implementation of the iRPROP+ method to update the weights.
      Add implementation of the RPROP- method to update the weights.
      Add implementation of the RPROP+ method to update the weights.
      Add implementation of the steepest descent method to update the weights.
      Add implementation of the LayerTraits class.
      Add implementation of the BiasLayer class.
      Add implementation of the orthogonal initialization method.
      Add implementation of the NeuronLayer class which can be used as basic network layer.
      Add implementation of the MulticlassClassificationLayer class.
      Add implementation of a recurrent network container class.
      Minor comment fix.
      Add implementation of the LSTMLayer class.
      Add implementation of the SoftmaxLayer class.
      Add implementation of the cross-entropy error performance function.
      Add implementation of the mean squared error performance function.
      Add implementation of the sum squared error performance function.
      Add activation functions test.
      Add connection and layer traits test.
      Add test for the init rules.
      Always get the boolean value and store it in a temporary, because the Boost unit test macros do weird things and will cause bizarre problems.
      Add performance function test.
      Add network traits class.
      Store the gradients to allow batch learning.
      Initialize the gradient storage with zero.
      Remove the input parameter since we can't provide an input for batch learning and it wasn't used anyway.
      Updated link to download the latest version.
      Add Trainer class which serves as container to train the networks.
      Return a number in the interval [0, 1] instead of [0, std::numeric_limits<eT>::max()].
      Minor style change.
      Add test cases for the feed forward network.
      Remove unused test case.
      Add binary classification layer.
      No need to change the sign afterwards.
      Take a mean gradient step over the batchsize.
      Basically you don't need to shuffel the input in batch mode; However at least there is the option now.
      Add the ability to define the training parameters.
      Slightly adjust the number of neurons to decrease the runtime.
      The connection type defines how to multiply the input activation and the delta.
      Use Gradient() to get the gradient.
      Set a default value for the seqnumer.
      Use the correct input to accumulate the elements. Thanks to Shangtong for pointing this out.
      Minor style fixes.
      Add function to evaluate the network.
      Use the correct number of epochs.
      Properly handle the rnn structure.
      Add test cases for the recurrent neural network.
      Merge branch from github.com:zoq/mlpack to address structure issues.
      Minor style changes.
      Adjust the rnn class and LSTM layer to handle sequences of different lengths.
      Add embedded Reber Grammar test to test the LSTM layer.
      Inplace gradient calculation for peephole connections.
      The class template auto_ptr is deprecated, use std::unique_ptr instead.
      Add test case for the LSTM peephole connections.
      Add distracted sequence recall test (LSTM architecture).
      Minor style changes.
      Add support for 3rd order tensors as input to train neural networks.
      Add function to get the number of cols/slices. Thanks Shangtong for pointing this out.
      Adapted Shangtongs naming schema to distingush between layer and connections.
      FindPackageHandleStandardArgs.cmake ships with CMake from version 2.8 onwards, since we require CMake 2.8.5 delete the outdated copy.
      Using backtrace() become somewhat tricky when going multi-platform. Use CMake to figure out the correct header and library.
      Minor cleanup of double header inclusion and file comments.
      Add simple Log::Assert test case.
      I was not going to revert the last commit.
      Avoid generation of the backtrace.hpp entirely.
      Minor cleanup (svn -> git transition).
      Explicitly include the CreateGitVersionHeader module.
      Minor cleanup of the local coordinate coding test;
      Link against libc++ when using clang on OSX.
      Use CMake to figure out if we need to link against libc++ or libstdc++.
      The compiler should automatically select the right stdlib on most systems.
      Minor cleanup (tutorials link, git commit mailing list link).
      Highlight some commands.
      Add implementation of convolution using the naive approach (it's pretty fast for small filter).
      Add implementation of convolution through fft.
      Add border modes (valid convolution, full convolution).
      Add implementation of convolution using svd to speeded up the computation.
      Add 3rd order tensors support (convolution).
      A test for convolution algorithms.
      Merge pull request #433 from HurricaneTong/pooling_rule
      Add comments, and minor cleanup.
      A test for the pooling methods.
      Return MatType instead of arma::mat.
      Merge pull request #434 from HurricaneTong/latest
      Add convolution batch mode.
      Add test case for the convolution batch mode.
      Add 3rd order tensors support (weight init methods).
      Adjust weight init methods.
      Merge pull request #435 from HurricaneTong/cnn_pool_connection
      Merge pull request #436 from HurricaneTong/add-cnn-network
      Rename pooling connection.
      Swap naming convention.
      Minor style fix.
      Clean the steepest descent optimizer class and add tensor support.
      Adapt new design pattern.
      Add new connection trait.
      Fix ambiguous constructor.
      Refactor pooling connection to support 3rd order tensors.
      Style overhaul, and clarify some comments.
      Rename the conv connection class.
      Refactor conv connection to support 3rd order tensors.
      Add method to get the number of slices.
      Refactor neuron layer class to support 3rd order tensors.
      Add the convolution neural network to the network traits.
      Refactor the convolutional neural network class, it's almost idenical with the ffnn code, but we add more features in the future, so copy the code right away.
      Add convenience typedefs: ConvLayer, PoolingLayer.
      Handle 3rd tensors, when calculating the first derivatives of the identity function.
      Fix the include guards to avoid the problem of double inclusion.
      Don't make OpenMP a requirement to build the source.
      Simplify the usage of the performance function by reducing the template parameter.
      Use the simplified performance function.
      Adjust the performance function test; use the simplified performance function.
      Refactor to support convolutional neural networks.
      Slight refactorization for simplicity. No need to specify additional template parameter.
      Refactor the bias-, softmax- and lstm-layer to pass the convolutional neural network change.
      Populate the matrix with the entries of the max value.
      Make sure we calculate the correct delta when using convolutional neural network.
      Add batch support. In batch mode, the convolution runs on a batch of images.
      Reset the delta before calling the unsampling method.
      Use the rotated filter to calculate the delta.
      Refactor to support 3rd order tensors.
      Use the number of rows and cols to initialize the optimizer.
      Add a test for the convolutional neural network.
      Fix unused parameter warning.
      Oops, use the right test file.
      The gradient to update the weight depends on the number of output maps.
      Fix typo and minor style change.
      Add bias connection, that works with convolutional neural networks.
      Use bias connection and decrease number of epochs.
      Fix typo.
      Add RmsProp optimizer.
      Fix typo.
      Use RmsProp and decrease the number of epochs.
      Add function to update/reset the optimizer object.
      Use the new optimizer interface.
      Adjust connections; use new optimzer.
      Refactor for new optimizer API.
      Use the complete dataset.
      Use MaxPooling as default pooling rule.
      Refactor for new optimizer API.
      Add update formula.
      Fix the name of the input parameter.
      Add Adadelta optimizer.
      Refactor to support 3rd-order tensors.
      Make the layer independent regarding the datatype.
      Add dropout layer; regularizer that randomly sets units to zero.
      Add identity connection.
      Add weight zero initialization rule.
      Rescale the input unless the user explicitly requested not to.
      Add new connection trait (identity connection).
      Update the connection trait and there is no need to reset the delta, we already reset the delta in the network class (cnn, ffn).
      Update the all connection traits; including the self and fullself connection.
      Use the naive convolution method as default.
      Handle the identity connection.
      Avoid overflow by subtracting the maximum of the input values from each input.
      Gradient calculation speedup by iterating over the output maps.
      Use the rectifier function for the whole test and decrease the overall error tolerance.
      Set the current evaluation mode.
      Add convolutional neural network dropout test.
      Add feedforward neural network dropout test.
      No need to specify the size of the delta parameter.
      Simplify the training process.
      Set the correct evaluation mode.
      Add deterministic parameter to distinguish between trainign and testing.
      Handle the identity connection.
      Minor misspelling fix.
      No need to specify the type of the input data.
      Add function to get the current gradient.
      Refactor for new multiclass output layer.
      Add convenience template typedefs to the CMakeLists.
      Minor misspelling fix (use 'Optimizer' instead of 'Optimzer').
      Include the connection traits.
      Refactor test for the network API.
      Build the activation functions.
      Add linear layer.
      Add base layer.
      Minor style fix (80 character limit).
      Minor misspelling fix.
      Refactor for new network API.
      Refactor feedforward network test for new network API.
      Replacement for the FFNN class using the new network API.
      Refactor to handle 3rd order tensors correctly.
      Add SFINAE pattern for the Gradient and Deterministic function.
      Refactor bias layer for new network API.
      Replacement for the convolution connection class using the new network API.
      Refactor to handle 3rd order tensors correctly.
      Minor misspelling and style fix.
      Update Layer traits for the multiclass classification layer.
      Updated layer traits (binary classification layer and one hot layer).
      Replacement for the pooling connection class using the new network API.
      Decrease the overall test time by decreasing the layer size and number of epochs.
      Distinguish between OutputParameter and InputParamater.
      Refactor dropout layer for new network API.
      Remove the no longer needed connections.
      Refactor feedforward network test for new network API.
      Add CMake files to build and test the activation functions.
      Remove subfolders from the CMake file that doesn't contain a CMakeLists.txt file.
      The transform() function isn't available on armadillo 3.6 so we move back to a standard for loop.
      The transform() function isn't available on armadillo 3.6 so we move back to a standard for loop.
      Refactor all activation functions and layer which uses the transform() function.
      Comment out the ann code.
      Use at least armadillo 4.x to build mlpack.
      Add travis ubuntu trusty repository.
      Refactor softmax layer for new network API.
      Use the correct filter/kernel parameter.
      Provide a few convenience typedefs.
      Build the neural network code.
      Limit training epochs and add thyroid dataset.
      Decrease the overall test time by decreasing the layer size and number of epochs.
      Widen tolerance for the network decreasing error test.
      Remove unused layer and optimizer classes.
      Remove unused header.
      Refactor convolutional network test for new network API.
      Refactor convolutional network main class for new network API.
      Use mean pooling as default pooling rule.
      Refactor optimizer for new network API.
      Remove unused function; we only need to support 3rd-order tensors.
      Add 3rd-order tensor support (Dropout layer).
      Use the filter matrix for the convolution function instead of the 3rd-order tensor.
      Build the convolutional neural network code.
      Widen convolutional test tolerance.
      Comment out the convolution test.
      Use the logistic function and the RMSProp optimizer because the combination tends to be more stable and in most cases it converges faster using the specified architecture.
      Fix 'no known conversion from arma::Mat<double> to arma::Cube<double>' error that occurred on some systems. Actually the build should be fine even without the change, but I guess some systems like to draw our attention on some 'incredibly long' templates in the error log.
      Use static weights for the network decreasing error test.
      Build the convolution test.
      Merge pull request #459 from stereomatchingkiss/ann_workaround
      Minor syntax and formatting changes.
      Minor documentation updates and formatting changes.
      Add ADAM optimizer.
      Add a test for RMSProp.
      Use the correct number of feature maps in the network description (thanks Ngap wei Tham for pointing it out).
      Merge pull request #462 from stereomatchingkiss/FixOIVSInitBug
      Merge pull request #463 from stereomatchingkiss/FixDropOutLayer

Matthew Amidon (82):
      Added io.cc and optionhierarchy.cc
      Fleshed out IO interface, integrated OptionsHierarchy into IO.
      IO is functionally complete.  Will begin integrating with the rest of the library upon discussing a few particulars with Ryan.
      Added io_test.cc to the repository.
      Edited in timer support to IO.  The timers work, in the middle of integrating timer support with globalValues.
      Implemented timers, should probably implement a method of printing certain values to console.  That should basically be it fofr IO.
      Cleaned up IO, began phasing IO into allKnn.  Also took a look at WITH_SPARSE=ON bug.  (No solution yet)
      commit 5e745f3f5943272e531c3d69e1192795e45fa1c5
      Finished integrating IO into AllkNN, AllNN.  TODO, figure out SPARSE issue, continue integration, work out what Ryan wants as far as Output is concerned.
      Started working on template magic to make easy parameter registration.  Don't use these just yet.
      Working on the output portion of IO.  Finished the registration at compile time feature.
      Continued work on IO output.  Added system for automatically printing output without further programmer interaction.  Working on formatting output.
      Going to refactor optionshierarchy, it's basically not extensible.  Also, IO seems to not like having singleton declared as a non pointer type;
      Finished auto-output for int, bool, string, and timeval types.  Adding more types will be trivial.
      Cleaned up io source, got trolled by ryan and left camel case.
      Cleaned up code to better conform to standards, edited vim configs to help out
      Fixed a bug in IO.  Replaced FX functionality in allnn/* with IO functionality
      Fixed a few bugs, still working on one in IO::PrintAll
      Added formatted comments,  will add them to cc files after unit tests are finised
      Unbreaking the build server.
      Finished unit tests, finishing up documentation in the cc files,
      Did some more cleaning.  Working on making output streams more robust.
      Implemented output to specifications.  (Re)implemented debug output/null output
      Fixed that bug.. gotta watch those references.
      Resolved ticket #75 by retyping leaf_size and 'k' as ints.  Modified io unit
      Removed unused code.  Refactored some methods in IO.  Fixed allnn into
      Began implementing IO in mlpack's emst and fastica methods.
      Replaced FX with IO in HMM, Kalman, and Infomax today.  Worked on some IO stuff, which will require more thought.
      Modified PrefixedOutputStream's behoviour (sp?).
      Resolved a bunch of tickets.  Renamed GetValue and CheckValue to HasParam and GetParam.  Also modified the behavior for flags.
      Went through all the files in kde and replaced fx with IO.  I will need to go though them again and make sure
      Finished cleaning up KDE.  Apparently KDE is not currently part of the build process;
      Integrated IO for the remaining parts of mlpack.  Will go through and make sure nothing's been missed.
      SVN crapped out on me, rechecked out blah blah blah.
      Reverted change to io_test.  I think I was killing the server by printing
      Fixed a bug, where options like '--help' and '--info' would
      Reverted part of IO's default modules logic.
      Implemented default modules, hidden Info except on verbose.  Working on
      Fixed a potential bug where documentation would be overwritten
      Replaced various macros etc in cc.h that were used sparingly.
      Apparently I deleted that from svn too soon.
      Reverted cc.h deletion, added in includes for STL files algorithm and limits.
      Resolved ticket 93, deleted debug.c & debug.h
      Fixed a test case that was failing in matrix.h
      Removed dependencies on base.h, replaced with common.h
      Actually deleted cc.h
      Removed most everything from common.h, deleted common.c;
      Removed success_t, replaced with boolean logic.
      Actually deleted base, minor modifications elsewhere.
      Implemented windows based IO timers, will need to actually compile/run on a
      Fixed a bug where flags received a default value, which resulted in HasParam
      io_test depended on earlier behavior for default values & flags.  Fixed.
      IO HasParam/GetParam for bool is solved.  Both will now reflect the actual
      Replacing tree_test, at a good stopping point.
      Merged kd tree test with tree test itself.  Didn't see the point in adding
      Performance improvements to kd_tree_test, added peer bounds checking.
      Removed some output's that will break the automated unit tests.
      Reduced the size of the kd_tree_test again, that way it will *hopefully*
      Split IO into IO & Log.  Fixed everything up, all tests work.
      For some reason it seems Sed missed gmm and it was already up to date so
      Split timer functionality from CLI to Timers.
      Reformatted #includes according to new specifications.
      Fighting with SVN over actually committing changes for timers.
      Formatted according to new brace styles.
      Fixed regression w/ timers.
      dd
      Checkin mid-progress.  Arbitrary data types added, need to clean up
      What is wrong w/ my svn?
      Working copy SVN metadata is broken..
      Diffed a clean working copy, this should end my svn issues.
      Reverted changes, as it is apparent diff did not work.  Will work on that, too.
      Fixed some formatting.
      Ripped CLI out of nbc & gmm. Moved over to their respective mains.
      Ripped optionshierarchy out of CLI, deleted files.
      Reimplemented CLI w/o heirarchy.
      Did some more formatting of output.
      Did some refactoring on CLI, fixed a potential bug.
      Implemented range search, need to implement output functionality.
      Removed c-strings in favor of std strings.
      Modified string types in cli & related sources.
      Added enhancements to pca & kernel pca.
      Modified PCA/Kernel PCA interfaces to remove redundant centering option.

Nikita Araslanov (1):
      kmeans: small fix with inf variance

Parikshit Ram (201):
      first upload of nbc
      removed the small error and added again
      this is the first  version of EM uploaded
      this is the first upload of the mog_l2e, the file l2_error.h still needs some modifications
      these files are cleaned up a little bit but still to be commented
      The files have been commented and a README file has been included for assistance
      Comments added properly to all the files except phi.h and math_functions.h
      the commented files as well as a README file
      the README file
      added author name
      Required changes made and author name added
      program changed as per ryan's review and author names added
      the set functions added to mog.h
      adding the proper set functions in mog.h
      the program will now spit out the likelihood value of the model chosen and the model parameters too
      Destructors removed
      edited as per ravi's comments and added fastexec magic
      changes made as per ravi's suggestion and added fastexec magic
      README modified as per parameters changed in the previous commit
      README modified as per parameters changed in the previous commit
      minor modifications made regarding results and fixing the D param in the submodule
      required changes made, optimizer class defiined and used, fx magic included, math_functions.h removed, 01/23 at 4:42
      math_functions.h indented properly
      phi.h documented properly
      phi.h documented properly
      phi.h documented properly and README.txt changed slightly
      author name added
      author name added
      minor comment mod
      minor comment mod
      minor comment mod
      slight chance made
      test class header file deleted
      optimizer added to svn, forgot it earlier
      l2_error.h removed
      small dateset added
      README file edited for date file
      small dateset included and README changed accordingly
      optimizer added separately
      optimizers.h moved to opt and removed from here and README edited accordingly
      test file removed
      test file corrected and added
      s_min value increased to remove floating point underflow
      polytope had a sign mistake which was removed and corrected
      optimizers.h updated
      mog.h updated
      using the new repository as of now
      this code is to be optimized and made faster
      the code is to be optimized
      corrected stuff working
      corrected version updated
      faster folders removed
      gradient descent added
      SGD and SMD_single step implemented but some problem with SMDSS
      different terminating conditions included
      optimizers added with more terminating conditions although none seem to work, and main deleted accidentally
      optimizers tried with mu > 1 but exploded so reduced it so i dont know exactly whats the change in optimizers.h, but the main.cc is added to the svn
      covertrees folder added
      fkdnfl
      Cover tree files uploaded, tree building coded up, not working, still waiting on dependencies of ArrayList
      testing files added to svn
      files added but not compiled as yet
      nearest neighbor preliminary code complete and working on a small test dataset
      nearest neighbor preliminary code complete and working on a small test dataset and output decent
      Small bug in warning message corrected, no functionality changed
      tried to make it faster, but didn't help too much
      trying a new thing so saving stuff in the svn
      distances changed and exptl folder added
      SMD multi step added with fast Hv product in main
      updating main and optimizers_reloaded.h
      ctree.h corrected, self_first added and Is_leaf function added
      depth first and brute added
      comments added and files made shorter and hence more files added
      small changes made
      fx-param stuff  put in to get rid of the warnings regarding documentation
      minor changes in allknn_impl.h and distances.h
      gonzalez file added and other files commented
      all gonzalez stuff uploaded for trying to fix gonzalez, make it fast and accurate
      stuff removed
      sparsepca and lle added so as to get ready for the fastlib 0.2 release
      conflicts resolved
      fx documentation added
      fx documentation added
      fx documentation added
      fx documentation added
      fx type fixes
      fx type fixes for mog_l2e
      fx type fixes for opt
      opt path changed to mlpack/ and build file changed accordingly
      mog_em and mog_l2e directories merged to form mog and opt directory renamed optimization and parm_nbc renamed naive_bayes
      useless files removed
      optimizer path corrected in mog/mog_l2e_main.cc
      merger of mog completed and the naive_bayes README changed
      approximate rank nn added
      approx_nn.h delete function corrected
      approx_nn.h modified from home
      approx_nn.h completed, main.cc modified for testing
      all files completed - testing and debugging ensues
      main file contains error message for lapack
      init running and test datasets added
      ComputeProbability_ fixed and main and approx_nn.h Init functions working
      nn algorithm working and exact and naive match
      fast uplod
      approx nn running, need to check its correctness
      need to fix the way I compute node size and also why it is not faster for higher error probability
      randomization added but still not figured out certain problems
      dual tree traversal added and certain other changed made, like trying exact before sampling, but haven't tested it yet
      dual tree traversal added and randompermute replaced by RandInt and various other modifications made
      main file added to drive the dual tree version
      final tested version with dual tree behaving weirdly
      corrected for dual tree and tested, timings testing not done yet
      optimizers.h and .cc moved to mog directory from optimizers directory
      approx nn single and dual tree fixed up and experimented with.
      rank error and distance error computation included
      rank error and error probability computation added in main_dual.cc and comments added to approx_nn_dual.h
      checks added to see if sampling is done properly
      one check fixed
      bounds fixed and main_dual changed a bit
      default values of doexact and doapprox changed to false
      outputting results added to main_dual.cc, but only problem is that if you do multiple methods together, all results come in together in the same file
      main_dual printing results option added
      empty density tree directory added
      the dtree.h file added for the first time
      dtree.h updated
      main.cc and build.py added and dtree.h updated
      main.cc and dtree.h updated
      ComputeValue function added in dtree.h
      crossvalidation and tree drawing added
      everything works as expected just that it is overfitting
      changes added to enforce minimum leaf size, other comments added. But idea is that once this works, continue testing with it, while I change the code to deal with nominal data later
      MIN_LEAF_SIZE removed and not testing on huge datasets which is taking forever
      dtree.h and main.cc changed for diettrich
      NoConstraints tests added for all Methods
      Box constraints, Linear Equality and Linear Inequality added to Objective function class along with a skeleton for future work
      Testing BoxConstraints, Linear Equality/Inequality using LBFGS
      some changes made to the test file and it is added to the build file
      gonzalez tree removed for now and just plain old covertree tested here
      rank-approximate NN files added to new branch
      making appropriate changes (hopefully) to the CMakeLists
      updating files for dtree without updating the CMakeLists
      Aug 9, 2011 - mmtrees code added
      Maximum inner product search added
      CMakes added
      invalid declarator error
      max_ip_main compiling
      Post bound fix and correct answer, then svn update and all-fail
      angle-prune added - not tested yet
      Max-inner-product single tree code working fine with and without angle-pruning
      Cosine tree essentials implemented -- not compiled yet
      cosine cone bounds cleaned up and completed -- pre-compiled
      cosine tree example + compiled and lightly tested cosine tree bounds and distances
      Dual-tree max-ip implemented but not yet compiled because of weird CMake error -- will wait till later to figure out
      Still not compiling - some linking error where the .cc file is not getting linked. Can't figure out what I am doing wrong with the CMakeLists.txt
      CMakeLists.txt edited to include mlpack_contrib
      sep 22, 10.40am
      Sep 23, 2011 update -- header guards added
      Sep 23, 2011 update -- header guards added
      Dual-tree max ip search implemented and compiled, not tested yet
      Dual-tree max ip search implemented and compiled, not tested yet
      Dual-tree max-ip-search still not working
      Dual-tree code tested, not correct with angle_prune yet
      Max-IP search: dual-tree angle-prune tested and working on toy dataset
      Sep 29 update -- everything works, graphing script added
      The WarmInit() function in class MaxIP fixed to reset the QueryStat in the query-trees, and the tester changed to compute naive only when you have to check for correctness
      data_grapher.pl fixed to align to the correct column
      data_grapher.pl fixed to align to the correct column
      assert in exact_max_ip.cc fixed to either expect 0.0 with -1
      MaxIP search ported to new MLPACK and ComputeBaseCase is modified to use memmove instead of vector and push_back
      Rank-Approx MaxIP partially completed and not compiled yet
      Oct 20 arma error
      alt traversal implemented and checked, approx-max-ip still to be checked
      Approx max ip running, approx tester running as well (but both not thoroughly checked
      Approx max ip running, approx tester running as well (but both not thoroughly checked
      Oct 25th, Rank-approximate fixed for very high k-values
      appropriate changes made to work with new mlpack + alt-angle-pruning added
      Waiting for arma::load() transpose -- quick fix now
      Cone-tree code named appropriately
      Cosine tree -- co-axial cone tree added and tested
      MaxIP search commit after submission, need to clean up code and add approxMaxIP and fix the dual tree
      New pairwise distance computer
      fixed some stupid typecasting warnings
      Density Estimation Trees (DET) added to mlpack
      DET CMakeLists added
      DET CMakeLists
      DET naming schemes
      DET naming schemes
      DET Tests (almost all done) added
      DET tutorial 1st draft
      RandInt() and Random() sped up by just using randomUniformDist
      LSH class updated: Hash width computation moved within the class and removed from the main file. More comments added to the LSH class. Search function made tunable allowing the user to chose the number of hash table he/she choses to search in.
      RANN moved into trunk from contrib/pram. Test added to the mlpack/tests/ directory along with relevant datasets
      test data loading fixed
      LSH Test modified
      minor update to remove some warning for the pow() function
      minor update to remove some warning for the pow() function
      LSHSearch class MetricType template removed and only metric::SquareEuclideanDistance used appropriately throughout the class
      'force_inline' added to ra_search_rules_impl.hpp
      Ticket #293 initial fix -- review waiting.
      Chebyshev distance (L-infinity distance) added to lmetric.hpp
      LBFGS test compilation failure fixed
      metric_test.cpp -- arma::sum changed to arma::accu; LINFMetricTest corrected.

Pavel (1):
      Fix classification error

Qiang Kou (1):
      fix #449

Ryan Cirtin (2):
      Fix typo/bug and memory leak.
      Initialize variables more nicely.

Ryan Curtin (3395):
      Opt++ should not be enabled by default
      The use of cmake deprecates and prompts the removal of the entire old build
      As per Sooraj's request, tylesBase is no longer necessary and has been removed.
      Move 'fastlib' to 'fastlib-old' repository
      Add fastlib directory structure
      Move fastlib2 to fastlib/trunk
      fastlib2 directory is no longer necessary and is thus removed
      Move fastlib-old (originally 'fastlib') to fastlib/branches/fastlib-old where it
      Move fastlib3 to a branch of fastlib
      Move cmake branch into fastlib branches
      Remove empty proposals directory
      Don't need this structure inside of this branch
      Move things in trunk/ to here (incorrect branch structure)
      Unnecessary nonstandard directory, if necessary, should be generated by build system
      Should be generated by build system at compile time and not in source repo
      Unnecessary directories that should be generated at compile time (missed these on the last revision)
      Move fastlib directory to src (this will eventually be done in trunk/ once this is merged)
      Do not autogenerate this file, no need to reinvent the wheel
      No need for this anymore
      config subdirectory is no longer needed as basic_types.h is no longer generated
      Clean up trilinos search (use PATH_SUFFIXES), and we also need to look for MPI headers.
      Update include locations
      Update all #includes.  From:
      Missed this file: changed #include "fastlib/..." to #include "..."
      Remove unnecessary debug output, forgot to do that before checkin
      ctags cruft shouldn't be in repo, was probably put there by accident
      Do not use different directories for cmake stuff; this ensures every directory has its own Makefile.
      Oops, this should not be here
      Add distclean target (does not work fully yet, needs to be made recursive)
      Corrected distclean target for Linux systems.  Removes cmake cruft for in-source builds.
      Make clean before distclean
      Update #includes to be relative (we should not assume fastlib/ is always in the include path, this keeps it simple).
      Make #includes relative to fastlib
      Move CMake utility files to root directory of build (cmake should be run from there).
      One more #include relativity fix
      Revamp cmake:
      Revamp cmake structure again.  Builds all targets each into their own directory as well as linking into libfastlib.a, making building it all as well as working on individual components simpler.  CMakeLists.txt files also commented and clarified to be less confusing.
      Oops, misspelling.  Dangerous because it would compile fine but would not link fx into libfastlib.a.
      Do not make intermediate libraries; just collect filenames of files to be compiled into libfastlib.a.
      Don't build intermediate libraries, compile everything into libmlpack.a
      Update include directories
      Move header files to correct directory in build (include/mlpack/)
      Install header files correctly into include/fastlib and include/mlpack.
      Set svn:ignore to 'build' in root dir
      Copy over contrib directory so that I can start adapting build.py to cmake
      Require 2.8
      What?  Somehow missed copying over emst in MLPACK.  Commented out cmake MLPACK program install guidelines, they need to be redone.
      Add emst to cmake build.
      Remove some unneeded comments.  Test for doxygen-update on churchlady
      Include thor in build (it was not there) and move mmanager over, to be tackled later.
      cmake build information for thor
      end(), not last(), and fix some fx syntax which has changed
      Huh?
      Fix differences in function signatures (.cc implementations were using const char *)
      Set up cmake infrastructure for contrib, and by default compile those which already compile without me having to fight with it too much
      Oops, still have to set up physpack with cmake (should be very simple)
      Set up cmake for physpack (do not build by default)
      Make sure executables are installed correctly (may still need polishing)
      Apply same change from branch to trunk ("Huh?")
      Huge merge of fastlib-cmake into trunk, done all wrong (svn merge failed... surprise?).  All the CMakeLists.txt files have been copied over and all of the other relevant CMake files too.  I've done my best to keep it as simple as possible but unfortunately that was not entirely feasible here.
      Revert 'src' to 'fastlib' so I don't break everything fl-build does.
      Fix nnsvm so it builds correctly (fx_ calls were out of date) and add to CMake build
      Add mmapmm to fastlib build.  A few code changes were necessary stemming from some earlier base/basic_types.h changes.
      Move code that finds trilinos out from sparse CMakeLists
      Add kernel_pca (which required sparse) to default build, modify a few things (ticket #13 is related) so it compiles fine
      Need to figure out why those two lines have been causing issues
      Don't use local trilinos headers, use system ones (it's CMake's job to figure out where these are)
      mmapmm support by default in fastlib means a lot of these methods now compile right
      Incorrect #include line, should use relative paths for fastlib stuff
      #22: replace lots of preprocessor macros with what they actually are where possible.
      Missed these macros
      Allow selection of SCALE_MASSIVE, SCALE_LARGE, or SCALE_NORMAL in CMake configuration (default to SCALE_NORMAL if not otherwise specified, and check to make sure multiple options are not selected)
      Use boost::serialization and boost::program_options and link against both (to be integrated into trunk)
      uint -> unsigned int (same thing but 'uint' does not exist on all platforms apparently)
      Do not build mlpack_contrib or any of its pieces by default
      posix_fadvise is not defined on all systems
      Create fastlib-armadillo branch, where we will attempt to try to replace GenMatrix with armadillo's implementation.
      Fix for #26; forgot the type specifier after LI (since the LI macro now requires a type after it, so it works for all types)
      Fix #27: incorrect use of LI macro (same as #26 but this fixes it in the fastlib-cmake branch)
      Fix syntactical errors in CMake files
      Allow TextFile to return its own filename
      Add compatibility layer to convert between Matrix and arma::mat (this is NOT fast!  but it's only here for compatibility)
      Add header inclusion guards (how did I forget these?), clean up formatting of base.h
      Separate dataset classes into separate files, and then adapt them to use arma::mat internally (as well as on their external interfaces).  Update CMake to include our new files in compilation.
      Use arma_compat layer to allow Thor to interface with changed Dataset API
      Update all MLPACK methods to use arma_compat layer so that they can use the new Dataset interface.  Eventually all this arma_compat stuff should be removed, but for now it is fine.
      Add useful compat function which emulates Matrix::MakeColumnVector() functionality (albeit slowly)
      Ensure each built library links against BLAS (#28).  Apparently this was fine on Linux systems but failed on Macs; hopefully this will solve the issue.
      Don't use deprecated values.h; prefer limits.h and float.h instead.
      Rewrite tree to use armadillo.
      Update mlpack methods for tree API changes
      Split up bound classes into separate files for each class, and then separate files for interface and implementation.
      Stop using GenVector in data (quick and simple replacement)
      Add GenVector to arma::vec compatibility functions to arma_compat::
      Change TAU to a preprocessor constant to fix odd linker error on Mac (or at least attempt to)
      Change name of variable so -D TRILINOS_LIB_DIR=... can be used
      Rewrite LMetric<> to not use GenVector by default, then modify a couple other files so that all works.
      Fix calls to LMetric<>::Distance() to use arma::vec with arma_compat layer
      Rewrite DHrectBound to use arma::vec internally and in its interfaces.  The kdtree methods needed some modification and one needed to be moved into an implementation file (since it was not templated).
      Modify thor methods to work with change of DHrectBound
      Modify MLPACK methods to work with DHrectBound API change
      Update TKdTree methods to use armadillo vector and matrix instead of GenVector and GenMatrix.  I also removed unnecessary uses of ArrayList, replacing with arma::vec where possible.
      Fix calls to TKdTree assembly methods; replace ArrayLists with arma::vec for what are essentially fixed-size arrays (ArrayLists were unnecessary for the application)
      I'm pretty sure the user is aware of what they typed.  Don't echo it when they type --help.
      Unfortunately, CMake won't work at all if it's being told to configure directories that no longer exist, so I commented out the directories removed in r5575 so it won't freak out anymore.
      Link against mlpack and Trilinos
      When a user enters no parameters or -h, fake it so FX thinks the user is asking for help.
      Did not mean to commit this minor change; it turned out to be unnecessary
      Make parameter description give --submod/param instead of --param to eliminate confusion
      Modify fx output format a little bit so it's a bit easier to understand.  Code is ugly but it works... I can't wait to rip this entire system out and replace it with something sensible
      More accurate documentation that meshes better with help screens
      Oops, fix -h and -help
      Update documentation so that it actually works, and make sure we tell the user that they can actually give a dataset as a parameter
      Add cheap utility CSV saving method for allnn
      Is this a joke?  I mean, seriously!  allnn ships with no actual way to save the data that it's calculated; I've rewritten so that it might actually be useful to someone, ever
      Set required parameters and defaults for non-required parameters
      Properly document allkfn, which was not done at all.  Maybe now, people can use it!
      Properly document the allknn method.
      Update some mistypings in allkfn documentation
      Document emst; remove non-working --use-thor parameter.  Names of some parameters changed for consistency across all MLPACK methods.
      Add documentation on file formats for HMM utilities
      Rename HMM executables to things that will not potentially conflict with other utilities on a user's system
      Document hmm_train executable entirely, and change some outputs from printf to fastlib standards where necessary
      Looks like my brain tripped on terminology
      Change some parameter names to indicate where model files are required
      Document the hmm_generate executable
      Documented hmm_loglik utility thoroughly
      Remove usage() declaration
      Documented hmm_viterbi utility
      Update documentation partially; it was noticed that this does not work successfully.  I put in some debug information
      Update CMakeLists to properly install fastlib and mlpack.
      A readme to get installed to /usr/share/doc
      Install README_MLPACK is /usr/share/doc
      Tag fastlib-0.4 release.
      Add GPLv2 as license and copy doc/README_MLPACK to README
      Finish transition of tree to arma::vec and related classes, and remove some methods that were commented out and unnecessary
      Remove last references to Vector class
      Correctly initialize DatasetFeature members during Init(); it should be noted that the features_ vector does not clear() itself upon calls to Init*() methods, but this will be irrelevant when we ditch the Init() style of methods and use constructors.
      Ugly hack to get around failure of math::MakeIdentityPermutation() -- should be using fixed-size arrays there (todo).
      Preprocessor macros are bad when they make programs perform in ways users don't expect.
      Add new parameter to tokenizeString that will save the last token if a stop character is encountered.  Make it look a little nicer with a few comments and a using directive.  Also, fix the last condition (should be || not &&) to capture the last token if necessary.
      Initialize int correctly in SkipSpace_().
      Fix ReadMatrix() (it was trying to write to places that don't exist).  I think the implementation in fastlib-armadillo is less bizarre and will end up being used here (arma::vec lends itself better to this task than std::vector).  Need to merge those branches...
      Rewrite the ReadMatrix() code to be almost identical to that found in fastlib-armadillo.  Should have merged them earlier...
      Merge fastlib-armadillo/fastlib/base into fastlib-stl/fastlib/base
      Merge branches/fastlib-armadillo/fastlib/file into fastlib-stl/fastlib/file
      Merge fastlib-armadillo/fastlib/data with fastlib-stl/fastlib/data.  Runtime dataset_test fails, but it compiles ok.
      Fix bugs introduced into DatasetInfo of my own doing.
      Merge fastlib-armadillo/fastlib/optimization into fastlib-stl/fastlib/optimization
      Merge fastlib-armadillo/fastlib/thor into fastlib-stl/fastlib/thor
      const char * --> std::string
      More std::string usage
      Failed merge not noticed until template function instantiation...
      Merge fastlib-armadillo/fastlib/tree with fastlib-stl/fastlib/tree.  This should
      Merge all??n methods from fastlib-armadillo/mlpack into fastlib-stl branch
      Fix allkfn so allkfn_test compiles (however, it throws an error)
      Merge last bits of fastlib-armadillo/mlpack into fastlib-stl/mlpack
      Merge fastlib-armadillo/contrib into fastlib-stl
      Merge CMake files from fastlib-armadillo into fastlib-stl
      Merge changes to CMakeLists.txt from fastlib-armadillo branch to fastlib-stl
      Remove fastlib-armadillo branch; it has been successfully merged into the
      How did this happen?  Oops...
      Fix bug introduced a while ago; when quicksorting to build the tree, we have to keep our local matrix up to date (the temporary matrix we passed is modified)
      Remove ridiculous copypasta from AllNN::Init() and AllNN::InitNaive() (it could
      Compile with debugging information by default (so that DEBUG_ASSERT_MSG and similar macros will still work, as they are DEBUG_ONLY).
      Oops, we need to tell the compiler to set the DEBUG macro flag.
      Custom DistanceSqEuclidean() function for arma::vec objects.
      Remove last instances of Matrix and Vector from allnn.
      Changes in contrib/ affected and broke kde/, so don't bother with that for now
      Function specialization is no longer necessary
      Remove last references and uses of Matrix from AllNN class.
      Remove Matrix, Vector, and ArrayList classes from allknn.  Compiles, but test does not pass.
      Add debug option to stl branch
      Turns out this is a better way to define the DEBUG flag (and by better I mean... it works)
      Propagate change from trunk CMakeLists.txt to branch... properly use DEBUG definition when told to
      THIS IS YOUR BRAIN ON DRUGS
      We require different modifiable input matrices as input to AllkNN for now.  That will have to be changed.  (tree generation modifies the matrix)
      Fix allkfn to not use Matrix or Vector anywhere.  This one was very easy because it's so similar to allknn.  Could it be... time for refactoring into a sensible hierarchy to maximize code reuse and minimize the codebase?  Well... not yet...
      Fix main executable to stop using Matrix or Vector or ArrayList entirely.
      Build union_find_test target
      Remove Vector and Matrix and ArrayList uses from emst method.  There is no test for emst, so that will have to be done.
      Convert linalg__private::Center() to armadillo.  Created unit test file, because damn, these things get complex and I want to know that they're working right.
      No.  We will not be outputting BLACK text.  No.
      Rewrite WhitenUsingEig().  Fix simple (yet fatal) bug in Center().  Test case for WhitenUsingEig() also added, but perhaps at some point should be made more thorough.
      Extend functionality of Armadillo; cov() operates like Octave, but what we want is
      Rewrite FastICA Orthogonalize() method and write a test for it.
      FastICA now compiles, but I'm sure it doesn't work, and it hasn't been tested.  The vast majority of methods from lin_alg.h have been pruned as they are no longer necessary.
      Find and set up Opt++.  I don't like that I did this but I had to.
      Add CMake script to find Opt++.
      Make optimization work.  The test doesn't, but it compiles and runs otherwise (test appears to be severely out of date).
      Fix MVU/MFNU so that it works.
      Allow compilation of mvu
      Significantly improve (by a factor of 1.5 or more) DistanceSqEuclidean function.
      Speed improvements for MinDistanceSq().
      Improve speed of AllkNN methods by using new armadillo mat::unsafe_col() method (returns an arma::vec alias which uses shared memory from the matrix).
      Apply use of unsafe_col() to allnn and allkfn for speed improvements.
      Include arma_extend files in build and then install them to the include/ directory.
      Revert math::Pow functions in case old code still uses them.  They can be removed later on.
      Do not make test in default build (it fails).
      Fix syntax errors introduced in lbfgs methods in r6232 and r6233.
      Apply changes from r5648 to fastlib-stl branch (allow selection of number of independent components).
      Remove some amount of debugging output.  Fix DeflationLogCoshUpdate_() (was missing a "- n" term) so that FastICA now performs nearly identically to the trunk implementation.
      Fix "translation" errors in DeflationGaussUpdate_() and fix spelling in comment.
      First pass at version requirements for Armadillo.  One thing left to do; when looking at version.hpp (not arma_version.hpp) the syntax is different, so I need to rewrite the regular expressions.
      Update regexes to correctly parse version information for older versions of Armadillo.
      Set up optimization CMake configuration correctly
      Use source root directory as include directory instead of ${CMAKE_BINARY_DIR}/include.  With the latter, the compilation will look inside of the built include files.  Therefore, if a user makes a change to an included file, it isn't reflected in the build.  This change fixes that.
      Replicate r6607 in trunk; prevent odd compilation situations where modified included files aren't actually updated.
      arma::Mat<eT>::unsafe_col() was introduced in Armadillo 0.9.90 (require that).  Only problem is, that hasn't yet been packaged by the Ubuntu maintainers.
      Refactor AllNN into header and source file since it's not a templated class (that may change).  Copy the main executable over from trunk, where I modified it more heavily, then transition to armadillo components.
      Fix bug in TextLineReader::ReadLine_().
      Add an overload of data::Save() that was necessary for trunk allnn.
      Fix two bugs -- the first is a forgotten reference specifier.  The second fix ensures the same tree is not built twice (if you pass the same matrix for queries and references); additionally it prevents the same point from being reported as its own nearest neighbor.
      Rewrite bits of HMM so that they compile.  This is not tested at all (and not expected to work right), but the changes made here mainly serve to make the buildserver happy with this branch.
      And I was so close to getting it all right!
      Test checkin from ryan to see if anonymous checkins are really allowed now
      Formatting pickiness changes from gcolon7's r6924
      Test checkin
      Update series_expansion methods to use armadillo and std:: components.
      Update promixity_project code (which some MLPACK methods have a dependency on) to use armadillo and std:: components
      Update naive_kde to use armadillo and std:: components
      Change KDE utility classes to use armadillo and std:: components
      Update all dualtree KDE methods to use armadillo and std:: components (not tested -- only compiled).
      Convert FFTKde methods to armadillo and std:: components (not tested)
      Convert FGT-KDE methods to armadillo and std:: components (not tested)
      Check in converted dualtree KDE method file that I missed (not tested)
      Convert original IFGT methods to armadillo and std:: components (not tested)
      Last of KDE methods converted to std:: and armadillo components (not tested)
      Some fixes that I missed in series_expansion (now KDE should compile fine, but again is untested)
      This file isn't actually even used.  Remove it.
      Update NNSVM methods to use std:: and armadillo components (not tested, but it compiles)
      Change fourier_expansion to std:: and armadillo components (not tested, but it compiles)
      Disable compilation of methods that require sparse because sparse support is essentially nonexistent.
      Don't crash out when mlpack_contrib.a does not exist
      Ack, I forgot that I had added this line
      Remove Init() functions for AllNN.  Everything is now part of the constructor, and initialization lists are used.
      Oops, I broke the build again.  The constructor changes have to be propagated to
      Remove deprecated constructors from AllNN.
      Remove ComputeNaive() and put that functionality into ComputeNeighbors().  Since
      Remove unused function; I forgot I had left this here.
      Did I really forget to delete these declarations too?  Apparently today is not
      Move into mlpack::allknn namespace; and separate implementation from declaration
      Update mvu code.  At this point it does not work but it does compile.
      Unbreak everything: update references to AllkNN: AllkNN -> mlpack::allknn::AllkNN
      Refactor AllkNN API; move Init() functions into constructors; update tests to
      Update KDE to use newer AllkNN constructors.
      Update CMakeLists for L-BFGS optimization method.
      Remove old build.py files.  As per #14.
      Revert accidentally committed debug output changes.
      Remove the fl-build tool (#14).  Did I break your build by doing this?  See
      Replicate r7054 in fastlib-stl branch: remove build.py files (#14).
      Replicate r7056 in fastlib-stl branch: remove fl-build and fl-build-all (#14).
      Remove FORTRAN from CMake configuration.  Turns out we don't actually need it, and I never thought to check until now.
      Remove FORTRAN from CMake dependencies. (see r7124)
      Don't modify CXXFLAGS at a lower level (this was causing MLPACK to compile
      Fix incorrect usages of std::pow introduced in r6231.  I can't believe how long
      Add mode option and display number of pruned nodes.
      Don't include Makefile in the repository, it is a build artifact
      Don't include Makefile in the repository, it is a build artifact
      io_test does not exist in the repository yet; commented out for now.  Also fixed
      Do not attempt to continue if the dataset did not load properly (#32).
      Comment out function that was defined twice.
      Link against armadillo too.
      Remove FORTRAN from CMake dependencies. (see r7124)
      Refactor AllkNN entirely.
      Better implementation of MinDistanceSq(DHrectBound& other).
      Oh dear God, I've forgotten a space!
      Code formatting fixes, mainly.
      Refactor allkfn.h into allkfn.h and allkfn.cc.  Then, remove Init() and
      Move AllkFN into mlpack::allkfn:: namespace.  I find mlpack::allkfn:: very
      Add additional pruning; not necessary but I think it gets us a speed boost (I
      Don't use std::vector<std::pair<double, index_t> > to store lists of furthest
      Boost exceptions are not actually being used and this header file does not exist
      Remove Nick's implementation of an augmented Lagrangian which uses L-BFGS, which
      Copy Dongryel's implementation of L-BFGS.
      Update CMake configuration.
      Comment out pagarwal directory until CMake configuration is added inside of it
      Do not use local include
      Adapt L-BFGS method.  Wrote test function (RosenbrockFunction) and will adapt
      Don't compile optpp directory (it does not work).
      Add WoodFunction and GeneralizedRosenbrockFunction (adapted Dongryel's
      Adapt L-BFGS implementation to optimize matrices instead of just vectors (this
      Implement r7435 changes into this implementation of L-BFGS.  Also, for
      Fix errors: missed conversion of arma::vec to arma::mat in a couple of places.
      Add a test function with a matrix to optimize (to make sure that L-BFGS is
      Remove L_BFGS::Init() and use the constructor instead (in accordance with MLPACK
      Do not provide a GetDimension() function; the user should get that from .n_cols
      Don't build LARS by default
      Don't build contrib stuff as it has not yet been converted to Armadillo and stl.
      Make all error/warning/info prefixes 5 characters wide (NOTIFY -> INFO).  That
      Add augmented Lagrangian method.  No tests or implementation yet.
      Fix formatting error.
      Fix several errors inside of AugLagrangian.
      Add test function and test for AugLagrangian.  Compiles, but does not yet work.
      Update CMakeLists for new AugLagrangian test.
      Fix Lagrangian calculations (I had a sign wrong) and terminate when little
      Make AugLagrangianTestFunction work, and also create new test function (which
      Reduce gradient norm check value, and add some useful output (as comments).
      Be more stringent with Armadillo version checking; fix regex for checking if parsing was correct.
      I like it when my code compiles
      Return a bool instead of an int (this is C++, not C, so we have this nice type).
      Remove stringification from macros (users should pass in strings in quotes
      Transition to IO in a more complete manner.
      Comment out IO parameters for now.  We'll come back to this later.
      Document PARAM() macro and add PARAM_*_REQ() macros.  Documentation should be
      Make relevant parameters required.
      Well of course, I forgot to check something in and I broke the build...
      Make iostream-based output system.  I still have a concern, though, which is
      Don't add std::endl at the end of output (this doesn't work right).  We can
      Remove Print*() functions from io.h and change internal IO calls to now use the
      Adapt to new IO output API.
      No using directive in header files, this makes angry worlds happen.
      Grammar Nazi strikes again
      Remove extra unnecessary newlines, even though this class will be going away
      Don't show missing required option warnings before giving help, and make those
      Missed all this stuff and broke the build.  Adapt output to the new IO API.
      Compile with optimization when not in debug mode, and prune arbitrarily long
      Don't overwrite CFLAGS and CXXFLAGS.
      Add contrib directory and the code I have used to learn a metric for AllkNN; I will be submitting the results to MLSP 2011.
      Turn sparse off by default (because it doesn't work).  Require optimizers for
      Revert r7929, which I think was an accident.
      Commit the change that I think r7929 was supposed to be: fix compatibility with
      Update distance learning code; more documentation on parameters and use FDSA for gradient estimate.  I could probably use to clean it up a little more but I'll postpone that until after the paper deadline...
      Add support for 64-bit types (u64, s64) to our little Armadillo extension
      Add arma_extend.h to fastlib.h so that a user does not have to try to include it
      It's not used, it's bulky, useless, and bloatful.  DELETE
      Their eyes were bright and optimistic as they implemented a complex parallelized
      We don't need a ComplexVector class; we can use Armadillo just fine for that.
      Don't include the file we deleted...
      Don't include a file we deleted...
      #17: remove horrifying object traversal library.
      #17: Remove object traversal madness from base FASTLIB classes where necessary.
      #17: Remove object traversal madness from MLPACK methods.
      #17: Remove object traversal madness from something on contrib/ which something
      Clean up includes for NBC
      Remove last references to object traversal.
      Remove ccmem.h and ccmem.cc.  No more mem::.  Glory ensues.
      Remove RangeSet, DenseIntMap, and fast allocation routines.  They were not used
      Nothing in par/ is used anymore (with THOR gone).  Remove it.
      Update header files for removal of par/.
      I don't know why this test was never included.  Anyways, it works fine.
      Minor useless change to see if Doxygen is being regenerated on commits.
      Another useless checkin for testing Doxygen regeneration.
      Update includes, do not use fastlib_int.h.
      Don't use fastlib_int.h.
      Remove fastlib_int.h.
      Remove deprecated.h (hey, it's all deprecated, right?) and an unused macro or
      Always make sure you are properly fed when you code.  Otherwise, you risk
      Half-solution for when __COUNTER__ does not exist.
      Fix a minor spelling issue and add a comment noting why we don't have to worry
      Fix warnings about non-virtual destructors (which didn't actually make a
      Make FATAL output stream actually cause the program to die.  Update test to
      Oops, this isn't included by default.
      Half-revert r8133 to use __USE_ISOC99; update CMakeLists.txt to issue -std=c99
      Use IO output instead of NOTIFY and related macros.
      Allow PARAM macros to accept default values.
      Set up CMake to use Boost.Test
      Change allknn_test to use Boost unit test framework.  It works.
      Revert changes by nkauffman3 to unbreak build
      Testing class no longer exists, and fix some formatting issues
      Although the C++ reference site gives all these functions as taking a reference,
      Add operator<< support for armadillo objects when using IO output components.
      Rewrite armadillo output functions just a little more to correctly utilize the
      Sanity check on input parameters.
      Rewrite help output formatting for IO.  We needed a helper function to hyphenate
      Fix odd formatting issues in io.h
      Add PROGRAM_INFO() macro (and related support, including ProgramDoc class) to
      Derpy derpy derp derp hurrrr
      Change BOOL to FLAG.  Clean up output a little bit more -- sort the types of
      Change BOOL to FLAG
      Update from BOOL to FLAG and remove default parameter.
      Remove default parameter for flags (it is always false).
      Allow newline characters in hyphenatable strings.
      Update program documentation.
      Convert L-BFGS optimizer to use IO-style output.  Also change test to use
      Update AugLagrangian to use IO-style output and use Boost.Test framework.
      Add IODeleter class to ensure that the singleton actually gets destroyed someday
      Remove Printing classes because they are no longer necessary (see changes in
      Fix includes for PrefixedOutStream and NullOutStream.
      Fix more includes for IO; remove some unnecessary includes from io.cc (since
      Reintroduce needed TYPENAME() macro.
      Update AllkFN test to use Boost Unit Testing Framework.  Also switch to IO
      Write exhaustive check which provides a lot more coverage of the functionality
      Make same optimization change for single mode optimization -- don't use
      Comment recursion a little better; fix bug for corner case where the number of
      I sat down to make a SetParam() method until I stupidly realized that GetValue()
      Uncommit another repository from within this repository
      Undo r8255 since the changes to IO-style output were already done for these two
      Unmerge svn repo-in-repo, 2nd time.
      Entirely refactor AllkNN into templated NeighborSearch class.  This allows
      Add core/kernels directory to start work on #78.  Only one kernel for now
      Don't compile mvu; it is not necessary for now (but it is under development and
      Update instantiations of AllkNN to reflect constructor changes.
      AllkFN has not been transitioned to NeighborSearch yet.
      Oops, I made an unstable test (fixed).
      Remove allkfn because it is now a part of the neighbor_search class.
      Expand NearestNeighborSort SortPolicy class so that the NeighborSearch class is
      Transition AllkFN to NeighborSearch, adding FurthestNeighborSort policy class so
      Convenience typedefs for AllkFN and AllkNN.
      Update CMake configuration to remove allknn, allkfn, and allnn, using now
      AllNN is no longer necessary; it is simply AllkNN with k = 1.
      Clean up code, adding some comments, and make names of variables truly agnostic
      Add exhaustive test for AllkFN.  A lot of code duplication...
      Add tests for sort policy.
      Glaring typo fixed
      Move LMetric class to kernels to replace L2SquaredMetric with something more
      Add test for kernels and remove L2SquaredMetric
      Update tree code to use LMetric which is now in mlpack/core/kernels/.
      Change from L2SquaredMetric to SquaredEuclideanDistance.
      Update from old LMetric class to new one in mlpack/core/kernels/.
      Add MahalanobisDistance kernel and corresponding tests to make sure it works.  I
      MinHeap?  More like MinDELETED BECAUSE NOBODY CARES
      What is this crap and why is it here?  This is not the place for it...
      Undo r8363...
      Use explicit floats for older versions of Boost UTF
      Fix error which only appeared on gcc < 4.3; the __COUNTER__ macro is not
      Explicitly specify floating-point numbers for BOOST_REQUIRE_CLOSE().
      Move parameter options around so conflicts don't occur when using gcc < 4.3
      Aha!  Found it.  This fixes the segfault.
      Add PARAM_DOUBLE macro just in case someone wants it over PARAM_FLOAT.  Really,
      Don't include FX in weird contrib file which is included in MLPACK
      IO test should not display output because this breaks the build server...
      Update test, which was incorrectly written to test Center() on matrices which
      I would like ten million output for debugging the build server please
      Revert r8434 because it introduced a bunch of errors and now I can't use IO the
      Revert r8434
      Fix assignment of delta_f in CalculateDF_(); it was using w_square_sum_, which
      I am unsure about the validity of my changes, but fix small differences in the
      Add new methods/ directory, where we will move all the MLPACK methods to
      No more notification for debug builds using this mechanism.
      Have IO output information if the program was compiled with debugging symbols
      Add a few introductory tests for SoftmaxErrorFunction.
      Make debug output only show if IO was used to parse the command line; this way,
      Fix a few warnings I caused, and remove some unnecessary warning output (it
      Remove some IO warnings that aren't actually dangerous and fix some build
      Add tests for the evaluation of the objective and gradient of already optimal datasets.
      Add test for the NCA algorithm.  Needs hand-calculation of optimal output
      Remove these files because they are not part of the L-BFGS optimizer.  We may
      Transition the L-BFGS optimizer to use IO parameters.  Now for things that use
      Fix error in L-BFGS test.  [] only takes one argument and will ignore the
      Clarify documentation slightly for the L-BFGS module.
      Uh, I mean, don't break everything forever.  How did I forget that...?
      Fix some grammar and spelling, make documentation wrap correctly for modules,
      We can't know the final optimal matrix because it is not necessarily unique, but
      Warnings all the time for all build types
      Fix unused variable warning
      Symlinks?  Really?
      Remove disk_allnn.  It was never used, it will never be used, and it can be done
      This simply isn't used anymore.
      Actually revert Noah's changes to ridge regression.
      Actuall revert Noah's changes to Kernel PCA.
      Actually revert Noah's changes to Infomax ICA tests.
      Actually actually revert Noah's changes.  I blame exhaustion.
      Write the NCA softmax error function in a more computationally friendly way.
      Do not use these small CSV files; hardcode the values into the test program.
      Fix compiler warnings by converting from fprintf()-based file I/O to
      Fix #91: newer versions of Armadillo require a different style of magic to
      Output doubles too
      Retool IO a little bit to allow the output of timers.  This involved modifying
      Oh no.  We cannot forget this space.  It is very important.  Otherwise, the user
      Give convenient divisions of timers so users don't have to do the division
      Don't use NOTIFY.  Wow, that is a horribly written test, by the way.
      Don't use VERBOSE_MSG.
      Let's try not leaking memory everywhere.
      No more VERBOSE_MSG or VERBOSE_GOT_HERE or VERBOSE_WHATEVER.  Transition to
      Remove NOTIFY_STAR, NOTIFY, VERBOSE_GOT_HERE, and VERBOSE_MSG.
      Don't use NONFATAL or FATAL.
      Remove some odd code...
      Stop using NONFATAL and FATAL.
      Don't include base/test.h.
      Don't include base/test.h.  And remove base/test.h.
      Remove uses of DEBUG_WARN and DEBUG_ERROR macros.
      Specify mlpack namespace
      Only try to add new things to the hierarchy if they are timers.  This helps the
      Sometimes splitpos gets higher than the length of the string, and we don't want
      Add a little bit of documentation.
      Limit to 10k iterations as opposed to 10M for the test.
      Force lambda to be updated immediately at the end of the first L-BFGS
      The code is incapable of running the first test, so comment it out entirely.
      Don't use external files for the test.  And clean up some odd formatting...
      Copy ARFF files to correct place for Naive Bayes tests.
      Implement Lovasz-Theta SDP, but it does not work and pass the test yet.
      Debugging output, probably temporary.
      Return true when the gradient norm is too small, because in that case the
      Use Mat_meat.hpp, which has not changed over Armadillo versions, but arma_ostream_proto.hpp has changed names.
      Update the Lovasz-theta SDP constraint conditions, which in Burer's formulations
      Remove unnecessary debugging output.
      Put a few things into the correct namespace, and split definition and
      Update trees because they are now in the mlpack::tree:: namespace.
      Split kdtree.h implementations out to kdtree_impl.h and put it all in
      Use typename instead of class
      Start refactoring BinarySpaceTree.  First stop: constructors.
      Rewrite to stop using MakeKdTreeMidpoint() and start using constructors of the
      arma::linspace() fails with one dimension for earlier Armadillo versions.  So...
      Optimization: don't set the bounds of the splitting function just does that
      Change ordering of initialization lists, and initialize left and right members.
      Missed one constructor.
      Add a lot of comments.  And delete unnecessary code in SelectMatrixPartition(),
      Avoid vector copies.  They are bad.
      Remove unused methods.
      Add profile option
      Add this test case for Bill to try out.  We needed to make count_ public
      Add the cosine distance.  It is not very extensible at the moment but I think
      Actually, we implemented the cosine similarity.  If we want it to be the cosine
      Remove cross-validation mode from SVM.
      Remove cross-validation code.  Solves #86.
      Revert count_ to being private and update test.
      Due to the way constructors work in C++, it is not possible for this check to
      Refactor QueryStat to not use Init().  And remove an ugly space...
      Remove kdtree.h and other files.  All functionality is in spacetree.h now.
      Remove tree/kdtree.h from includes.
      If we choose to implement a Kalman filter later, we will do it from scratch.
      Neither of these things is useful to us.
      QuicSVD goes away.  Who the hell knows if it ever even worked?
      Put EMST into mlpack::emst namespace.  Use LMetric instead of la:: distance
      Remove KDE.  If we reimplement it we will restart from Dongryeol's version.
      This tool is stupid.  Bye!
      This doesn't depend on QuicSVD.  The documentation for the program is full of
      Stop using la:: and arma_compat.
      Stop using la:: and arma_compat.  No comment on utterly bizarre function which
      Stop using arma_compat and la::.
      Stop using la:: and arma_compat.
      Convert from GenVector and GenMatrix to arma::vec and arma::mat, respectively.
      Stop using arma_compat.
      arma_compat is no longer needed because it is no longer used.
      Stop using la/ and stop using arma_compat.
      Remove GenMatrix and GenVector.  I have waited so long for this day, and it came
      Don't use newer call to inv().
      Remove sparse matrix support.  It is not used.
      Stop allowing SPARSE option and do not look for Trilinos anymore.
      Reshape to one column, not one row.  This fixes a runtime error.
      Comment out n_point directory until CMakeLists.txt is added
      Remove two unused methods.
      Change some documentation to be more clear.
      We force TDataset to be arma::mat always, so remove it as a template parameter.
      Adapt tree usage to not require parameter for TDataset.
      Add destructor to clean up memory... why didn't this exist before?
      Agh space
      This example is horribly out of date and we would be better off rewriting from
      The little utilities contained herein are no longer deemed useful.  We can
      Nothing in these directories... they do not need to exist.
      Missed this directory which does not need to exist.
      Remove all of the script files.  We will need to write a new tool to make
      Don't take leaf_size_ as a parameter but instead abstract it out to IO.
      Remove leaf_size_ parameter so that we can use the tree's one instead.
      Document the "tree" module.
      Solve #103 and add a test to verify.  Maybe it would be nice if the Armadillo
      Removed the special Armadillo PrefixedOutStream operators since it is not needed
      Armadillo versions newer than 1.2.0 don't need u64 typedef'ed.
      The name of the 'promote_type' structure changed to 'is_promotable' in Armadillo
      Well, there's your problem.
      I must be missing something, it seems like u64 is not actually defined on older
      Actually, the issue is that the header file exists but Armadillo does not
      My comparisons were wrong.  Also, no need to put u64 in the arma namespace; it
      Remove last unlikely
      Force BOOST_REQUIRE_*() arguments to be doubles for older versions of Boost.
      More meaningful and complete tests for PrefixedOutStream.
      Clean up and refactor the PrefixedOutStream class, and fix a few bugs Pari
      Make sure the Armadillo header is included correctly.
      Move inline function into implementation
      Remove basic_types.h since nothing in it is used anymore.
      Oops, not supposed to comment out everyone else's directories.
      Spaces after if statements
      Parameter names changed; update for that.
      Set a default value for boolean options (false).
      By default, verbosity is off, and is only set on if we parse --verbose (the
      Also test Boolean options.
      Make --help a flag, and initialize tmp correctly to clean up a warning.
      Oops, forgot to add that third parameter.
      Add Armadillo output support to NullOutStream, and format the file a little more
      Remove some unused options, and add some code which could do PGO if we were
      Remove several files in base/ because they are not necessary any longer.
      Remove common.h (which had nothing useful in it) and put that in fastlib.h.
      Remove Opt++ support as it was not being used.
      Remove contrib/ as it was not being used.  The items within will be
      Remove some cruft
      Remove some space (I am doing some testing of svn hooks, so don't mind the
      Update lin_alg_test for #85.
      Clean up NBC test
      Move to more simply named 'nbc_test.cc'.
      Remove unused test_infomax_ica.h, and move test_main.cc to infomax_ica_test.cc.
      Convert series_expansion_test to Boost UTF, and fix a bug which caused a
      Fix some formatting, give the test a better name, and strip trailing whitespace.
      Deletin' the whitespace for future generations.  And, fix a bug I managed to
      Comment out unused variable.
      Use GetParam<> for bools, not HasParam().
      Make sure we terminate when our stream is fatal.
      There was a case where we did not start the program timer.
      physpack/ was not used and we will not be maintaining it.  It may be
      Remove stray spaces
      This file is not used and not necessary...
      DefaultMessages() was commented out for some reason, leaving --help
      Reformat offensive code.  Delete some unused code.  This code needs help...
      Split definition and implementation into separate files.
      Place SVM components inside mlpack::svm namespace.
      Use IO output and remove mlpack:: where it is not needed.  A few more code
      Remove series_expansion to clean up some stuff in math/.  If we reimplement it
      Require libxml2-dev for Neil's future work in saving SVM models.
      Don't count on a using directive from somewhere else.  Use arma::vec.
      Refactor the interface for DHrectBound; change to HRectBound, and simplify a few
      Update DHrectBound to HRectBound.
      Change a few things about how Doxygen works.
      Reverse-merge new tree test which did not account for change in DHrectBound
      Refactor DRange out of math_lib.h and then rename it just Range.
      Implications of DRange -> Range name change.
      Clean out a lot of Range code, making the class far simpler.  I don't think I'm
      Prune more unused functions of Range.  Don't use Init-style functions anymore;
      Update tree test to not use Init, and use the default constructor in the bounds
      Add a test for the Range class.  It is a proper unit test and tests every
      Clean up kd_tree_test.
      Move dhrectbound.h -> hrectbound.h to reflect the class name change.  Also clean
      This MVU implementation still has some bugs but before I move everything around
      Update to use IO instead of fx.
      Start writing actual unit tests for HRectBound.
      Make the new /mlpack directory.  The future: it is here.
      This checkin will make coffeetalk-1 happy and heat up the frigid CoC server
      Make repository structure standard svn-style.
      Move configuration for fastlib to mlpack.  This is for Jenkins and the packaging
      Restructure MLPACK directories to the format suggested in #2.
      Move some things out of fastlib/ and put them in src/core.  I will destroy the
      Finish moving out the last of the fastlib/ directories.
      I have waited so long to do this.  I really have, I mean it.
      I have waited so long to do this.  I really have, I mean it.
      Clean up root CMakeLists configuration a little bit, and remove FASTLIB.
      Move all the MLPACK methods into src/methods.
      Clear up CMake configuration.
      sparse_censorship was removed so we should take it out of the CMake
      Update all CMakeLists.txt files to reflect new directory structure.  Remove any
      Move everything to src/mlpack and src/contrib.  This makes the setup a little
      Update all includes so that things work and compile again.  A couple MLPACK
      Add that core.h file which we were using in place of fastlib/fastlib.h.
      Directory structure changed so we need to copy tests from somewhere else now.
      Move header files properly to <builddir>/include/mlpack/ and then install them
      Remove PI; it is included in math.h, although with less precision.
      range.h and kernel.h are no longer included in math_lib.h.
      Stop using math::PI; use PI contained in <math.h> instead.
      Stop using math::PI
      Stop using Sqr(); use pow(x, 2) -- it is faster.
      Don't use Sqr(); use pow(x, 2) -- it is faster.
      So it's actually M_PI not PI.  What am I smoking today?
      It's actually M_PI not PI.
      Include the correct files since math_lib.h no longer does that.
      Make sure we include M_PI, and if the system does not define it for us, we'll
      Be a bit smarter about what we glob.  We don't want .h.swp and we don't want
      Make MOG compile.  I am certain it doesn't work because I know I broke it in a
      Orthogonal range search will be too difficult to preserve and we should start
      Finish the unit test for HRectBound, completely.  Took a couple of methods out
      Make sure all of the arff files get into place.
      Rename DHrectPeriodicBound to PeriodicHRectBound.  Remove the test for now.
      Change the name of a few methods in PeriodicHRectBound to match.  Implement
      Fix two warnings relating to unsigned/signed comparisons.
      Don't compile the main executable and test executable into the library itself.
      Update CMake configuration to not comment out everyone's code (only most of it).
      Oops, we wanted the name of the file, not the vector.
      Idiot Ryan is idiot idiot idiot idiot
      Resolve #142 by removing the problem entirely.
      Clean up code; make helper functions more generalized; grammar Nazi.  Use L2
      Clean up the code.  I think we can make it a little faster by how we do the
      Simple Doxyfile changes.  Let's see if we generate the right API.
      Update Doxygen configuration.
      Shooping the whoop on our Doxygen configuration.
      Write the main page of Doxygen documentation.
      Doxygenate?  Doxygenize?  Doxitize?  Doxify?  Doxenation?  DOXY NATION!
      Clean up some more Doxygen.
      Make a custom stylesheet for our Doxygen output so it matches Trac.
      Some changes so it works with Trac.  I'm sure I didn't get it all right.
      A couple changes to make it work right with Trac.
      Just a couple CSS changes.
      A few more changes because monospace fonts are not being used in the right
      Oops, I broke the local documentation style.  This should fix it.
      Add an example kernel for documentation purposes.
      Document GaussianRBFKernel just a little bit better and clean up the code.
      Apparent inability to perform simple math
      Check .hpp and .cpp files for documentation also.
      Refactor and comment GaussianRBFKernel.  Rename it GaussianKernel.
      Comment CosineDistance.  Fix a problem I introduced in GaussianKernel.  Rename a
      Document the linear kernel.  Rename some files.
      Add a few contributors I'd forgotten about and don't include kernel.h -- it
      Update NNSVM.  Don't count on those special functions that were in LinearKernel.
      Oops, that single warning apparently makes the build unstable...
      Move files to .hpp and .cpp.  Comment LMetric and MahalanobisDistance well.
      Fix a couple loose ends I didn't before.
      Fix includes and const.
      Update name of lmetric.h to lmetric.hpp.
      Update name of lmetric.h to lmetric.hpp.
      Document NeighborSearch class.
      Put these things inside the gmm namespace.
      Document the SortPolicy classes; we will use the NearestNeighborSort class as
      Remove fastlib repository (fake commit during svn to git transition).
      Move mlpack/trunk/ to root of repository (fake commit during svn to git
      Remove mlpack conf; it will live in its own repo (fake commit during svn to git
      Hide parameters inside of a namespace to help avoid collisions (#74).
      Hide PARAM declarations inside a namespace to help avoid collisions (#74).
      Insane commenting of everything.  I think the PARAM_* macros should be split
      Implications of renaming io.h to cli.hpp.
      Make sure we include cli.hpp, not io.h.
      Move log.h to log.hpp, log.cc to log.cpp, and comment those files.
      Implications of log.h -> log.hpp change.
      Hah.  That last important file need to change.  Yeah, that one...
      Move some more files to .hpp or .cpp.  Place Option and ProgramDoc classes
      Move files and then make sure documentation is created correctly.
      Uh, I forgot a few things.  Stupid Ryan.
      Comment the rest of the things in the io directory and move the files to .hpp
      Use BOOST_REQUIRE_SMALL instead.
      Move spacetree.hpp to binary_space_tree.hpp (better name) and comment it all.
      Update includes of binary_search_tree.hpp.
      Reformat files in the math directory; comment them, and adhere to some new
      Changed a filename
      Changed filenames
      Using math_misc.hpp not math_lib.hpp.
      Update names which were missed due to svn merges and my own failure to check the
      Bank error in your favor.  Collect $100.
      Seriously, I didn't check this in?
      Add extra Mat code to load a transposed matrix.  The patch has not yet been
      Don't include Armadillo directly; just include core.h.
      Use CSVs not ARFFs.  Transpose the dataset upon loading.
      Transpose matrices upon load
      Why was it named .arff when it was a .csv?
      That's odd, I didn't properly convert that one to CSV.
      Use overloaded mat.save() and mat.load() functions.
      Different ordering for includes.  Include armadillo in arma_extend.h.
      Corner case: last_coordinates_ may happen to be initialized to what the user
      Require Armadillo 2.0.0 minimum, so we have CSV support.
      Stupid idiot Ryan should not have checked that in
      Stop using TextWriter.  This breaks already broken code.  Waiting on resolution
      Remove col/ and file/ since they are no longer used.
      Don't include textfile.h because it doesn't exist.
      Add data::Load() and data::Save() methods to wrap Armadillo functionality.
      Re-add data directory.
      Add load.hpp and save.hpp to default includes.
      Use data::Load and data::Save.  This should fix our tests being slow.
      No need for duplication
      Use BOOST_REQUIRE_CLOSE instead of just plain assert().
      Fix compiler warnings so build is stable.  This whole output file business still
      Update mog functions, eventually to be renamed GMMs.  Work in progress -- not
      Add test for MoGEM.
      Someone owes me some food for this... well... if it's the bug.
      vec = double resized the vector to size 1.
      A better test, but it's not quite working for some reason.
      Set intercept to 0 for test debugging.
      commit 6638058bc5e86350361cbadac963fbc91747dc59
      Remove the extra load() stuff that was not the right choice in the end.
      No more contrib/.
      Fix documentation a little bit.  We want the bug list; we don't want .svn.
      Use new load().
      Update all tests to new formatting standards and make them all .cpp not .cc.
      Add HMM test.  A bunch of stuff does work.
      Modify HMM code.  We'll make a new class, HMM<Distribution>, which will serve
      Change the names of a few methods, and implement supervised training/estimation.
      Add test for supervised transition and emission matrix estimation.
      Loosen bounds on test because the variance in the test is a little more than I
      Now there's a tricky corner case.  If the random value is 1, then that
      Implement Generate() functionality.
      Widen error tolerance to more reasonable levels (determined empirically).
      Add function to calculate log-likelihood.
      It's tired and I'm late, so I make stupid simple errors like this.
      Add one more test for Generate().  The tolerance is a bit higher than I would
      Test HMM::LogLikelihood() for the discrete case.
      Comment Estimate() a little better and provide a convenience overload.
      Use exact tolerance for probabilities, because it's harder to estimate smaller
      Begin construction of Distribution classes so that we can generalize the HMM
      Oops, I named a file wrong.
      Update CMakeLists to include new files.
      Flesh out DiscreteDistribution class entirely.  Inline functions in class
      Add tests for DiscreteDistribution.  These all work.
      Fix compiler warning.
      Make normalization safer; avoid division by 0.
      Add simple constructor and then make sure that every constructor normalizes the
      Make sure the distribution is normalized.
      Test that the distribution is normalized after construction.
      Abstract away from the discrete case.  Now, everything depends on Distribution
      Use new HMM syntax, with DiscreteDistribution instead of int.
      Document the HMM class more effectively.
      Use a default template parameter for HMMs.
      Move mog to gmm and update CMake configuration.
      Remove MoGL2E.  That can be implemented some other day.
      Move GMM test to where all the other tests are.
      Add an overload of phi() which can do multiple data points at once; this way, we
      Remove debugging output.
      Rename MoGEM to GMM.  Make cond_prob calculation a lot faster (but there are
      Why did this ever pass any tests?  I am officially confused.
      Format things just a little better.
      I am really frustrated by tests that don't always have a deterministic outcome.
      Update GMM code.  It should be a little faster training, but it is still too
      Compile GMM.
      Flesh out main executable for GMMs.
      Tests for GMM.  Multivariate multi-Gaussian training tests included (that was
      Const-correctness, yo.
      Fix some warnings I inadvertently introduced.
      Add Gaussian distribution class.
      Compile Gaussian distribution class.
      Tests for GaussianDistribution class.
      Why is this file here?
      #162: use log-likelihoods instead of direct probabilities because direct
      Add a first test for a Gaussian HMM.
      I accidentally had not generalized to the general observation case.
      Add test for Gaussian HMMs where we are training for both the labeled and
      Widen tolerances for unlabeled training.
      Test Generate() with a Gaussian HMM.
      Make sure the state probability makes sense.
      Don't use srand() in tests, so that the results are reproducible.
      Move distance functions and metrics into metrics/, and update the build
      Update kernels to metrics (where applicable).
      Update kernels to metrics (where applicable).
      Fix style as per #153 and name local class members as per #118.
      Update style for #153; it was not completely done.
      Adapt style per #153.
      Fix formatting as per #153.
      Remove test file, and fix formatting as per #153.
      Update style as per #153.  Also, we didn't need the test here anymore.
      Fix formatting in tests/ as per #153.
      Format EMST as per #153.
      Comment FastICA code as per #153.  Remove a couple unused functions in
      Change filenames as per #152 and fix formatting as per #153.
      infomax_ica.h is now infomax_ica.hpp.
      Remove kernel PCA before Ajinkya's version, since Nick's won't be used.
      No more kernel PCA = no more kernel PCA test.
      Update formatting of linear_regression to reflect decisions made in #153.
      Move filenames to .hpp and .cpp to help finish #152, and fix style in accordance
      simple_nbc.h is now simple_nbc.hpp.
      Change NCA filenames according to #152 and change style according to #153.
      nca.h is now nca.hpp.
      Rename files to .cpp and .hpp in accordance with #152, and fix style to be in
      neighbor_search.h is now neighbor_search.hpp.
      We won't use Nick's implementation of ridge regression; we'll extend
      Remove RidgeRegression test since we aren't using that implementation anymore.
      Change to .hpp.
      Change name to .hpp.
      arma_extend.h is now arma_extend.hpp.
      No more regression.
      arma_extend.h is now arma_extend.hpp.
      Use long doubles for comparison (compatibility with older Boost UTF).
      Style MVU as per #153 and move to .hpp and .cpp as in #152.
      Fix formatting of NNSVM code (#153).
      These methods are unmaintainable and will have to be re-implemented.
      Remove SVM test and NNSVM test.
      This is not used anymore.
      Move core.h to core.hpp.  Fixes #152.
      Move K-Means to be its own method.
      Make KMeans into an actual class.  It now supports "overclustering".
      Add test for KMeans.
      Add KMeans test and comment out GMM test since its API has not yet been adapted
      Don't build GMMs because they don't yet work with the new KMeans class.
      Add test for MinDistance identical case.
      Add a test for the identical case for MaxDistance().
      Adapt to new KMeans API.
      Start compiling GMMs again.
      GMM tests work again.
      Absolutely minor formatting issue fixes; use BOOST_REQUIRE_CLOSE instead of
      Abstract some features of KMeans into template policy classes.
      Adapt KMeans to new policy-based API.
      Test the different policy features of KMeans.
      I thought I was helping, but it turns out I just made things worse.
      You have to zero the counts first!
      A better way of calculating the covariance, more akin to arma::cov.
      Executable for K-Means.  Celebrate!
      Main executable for PCA.  A couple little tweaks to the PCA code here and there.
      A couple formatting fixes after Ajinkya's fix for #165.
      A couple more formatting fixes.
      Make sure the covariance matrix is positive semidefinite.
      Add another test case and simplify the first test case; the second test case
      Update timers.hpp and timers.cpp to conform to formatting guidelines (and fix a
      Change API to newer standards for HRectBound and BinarySpaceTree.  Fix some
      Make Range adhere to new formatting and naming conventions.
      Update uses of BinarySpaceTree to conform to new API.
      Update tests to reflect API changes.
      I have truly gone full style Nazi.  But hey, now the variable naming conventions
      Improper use of regex leads to over-confidence about code compilability then
      Revamp L-BFGS code to remove CLI from its insides.  Naming convention fixes,
      Fix const-correctness of GetInitialPoint().
      Remove FastICA because Nishant will be implementing RADICAL instead.
      Don't compile lin_alg_test while I think of where to put that code.
      Fix for integer parameter.
      Move FastICA linear algebra utilities to core/math/ (pending rename).
      Run the linear algebra test again since it's now in a different place.
      Remove unused PARAM_*.
      Overhaul API for NeighborSearch (it probably is not complete) and remove
      Update tests to conform to new NeighborSearch API.
      Accidentally committed this minor change.
      Remove CLI parameters from LBFGS.
      Remove infomax_ica since it will not be released.
      Update comment to be more accurate.
      Minor tabbing fix.
      Remove InfomaxICA test.
      Remove Print() function in accordance with #164.
      Formatting fix, and prune CLI from the internals of DTB.
      Prune CLI from the internals of DTB.
      Put the statistic class into the tree namespace.
      Add (as-of-yet) untested Range::Contains(const Range&).
      Add RangeSearch to the list of methods we have.
      Add tests for RangeSearch; they are comprehensive (pretty much).
      Add Dimensionality() function to distributions; use arma::mat and arma::vec
      Adapt test to new distribution API.
      Adapt HMM to only use arma::vec as observations.
      Adapt HMM tests to new API.
      Compile RangeSearch.
      Fix sanity check to actually check things correctly.
      Add Estimate(const arma::mat&, const arma::vec&) so that this class can work as
      First simple test for GMM::Estimate(const arma::mat&, const arma::vec&).
      Move .h to .hpp and .cc to .cpp.  We don't need dummy.cc anymore so it's
      Compile LARS.
      Big API changes for LARS.  Move things into the constructors; rename internal
      Add GMM test case for training multivariate Gaussians in the setting where
      It helps when you actually implement the stupid function instead of being an
      Issue a warning when an empty GMM is created.
      Test GMM::Random().
      Actually, make that debugging only...
      Test HMMs with GMMs; a simple Predict() test.  Still need Estimate(),
      Don't use srand() in a test case.
      Don't use srand() in test cases.
      Add -NDEBUG flag.
      Transpose before adding rows.
      Misspelling of option.
      For some reason, this caused a segfault with -O2.  This needs to be looked into.
      Yeah, break everyone's build by requiring 2.4.0.  It's for a good cause though.
      Add sparse support which can be patched into Armadillo if necessary.
      Convert u32 to uword for 2.4.0.
      Templatize the matrix type.
      Abstract-ize HRectBound to accept arbitrary types of things.
      A typedef so other types that depend on the matrix type can use it.
      We can use regular .col() here since we abstracted away arma::vec.
      Stop using unsafe_col().
      Refactor API to be consistent with RangeSearch.
      API changes.
      These aren't necessary with Armadillo >= 2.4.0.
      Too much noise means I start doing things wrong.
      I had been approaching the wrong solution to the issue because they keep
      Copy code over from arma-sparse branch.
      Retry the API change.  This time it works...
      Simpler swap_cols() and SpValProxy::operator=(SpValProxy&) to make it work.
      Why does this fix the test?  I don't know, but there's not complete time to fix
      Allow sparse vectors to be passed to metrics (this should get a bit of speedup).
      Abstractize vector type.
      Abstractize k-means so it can use sparse matrices.
      Explicit conversion to mat.
      Centroids should be sparse, too, if we want them to be.
      Support SpSubview proxies.
      Use a const reference internally in SpSubviews.
      Test sparse K-Means.
      Unused variables.
      Abstract-ize matrix type used for NCA datasets.  The covariance matrix should
      Sparse NCA doesn't actually make sense.
      Abstract-ize NBC to allow sparse matrices.
      Clean up CLI formatting... for like the fifth time.
      Document EMST better.
      Oops, I need a <>.
      Make statistics useful again.
      New Statistic API.
      New Statistic API.
      Restructure test.
      Refactor and clean up EMST code.
      Refactoring of EMST/UnionFind API.
      Update for transposition of output.
      Clean up CLI output again and again.  Then change how Timers works because it
      Make it how it was before.
      Allow compilation with -DARMA_EXTRA_DEBUG.
      Compile libmlpack.so not libmlpack.a.
      Comment things a little better, and rename one of the timers.
      This was not an input parameter.
      Change in HasParam() changes a couple things in this test.
      Move io/* to utilities/* then utilities to util (shorter, simpler name) and
      -v == --verbose
      Allow a GMM to be saved and clean up documentation.
      Minor documentation fix for the namespace emst.
      Documentation fixes for GMMs and removal of now-unnecessary README.
      \bandwidth is not valid LaTeX... thanks regex...
      Two asterisks, not three.  What is the meaning of life?
      Last run of modifications for EMST documentation.
      Expand the example for the GMM.  This documentation should be done.
      All these files are unnecessary because I re-implemented HMMs.
      Update documentation for HMMs.  Documentation should be done for this class.
      Don't build these targets.
      Remove these executables because they don't work anymore.
      Better documentation for K-Means.
      Fix #174 and another bug in the main executable.
      Fix segfault.
      Copy test data to the right place after building the test.
      Standard header include protection.
      Split math_misc.hpp as per #143.
      Change variable names to match code specifications and mark a couple functions
      Add license and copyright to satisfy #175.
      That's embarrassing, I forgot the name of the guy who opened the ticket to make
      Ignore some other things that we hadn't previously been ignoring.
      Move kpca to kernel_pca; clean up the code to match formatting standards (okay,
      Clarify program name.
      Redo LinearRegression API and put it into the regression namespace (not
      Namespace and API change for LinearRegression.
      Fix a bug which was overwriting memory and may be causing that segfault I am
      Refactor and comment NaiveBayes a little better.
      Fix bug and better warnings.
      Document NCA.
      Not sure why I need to raise the tolerance... maybe something worse is wrong?
      Redo API for NeighborSearch for the last time and go over documentation.
      Change formatting of RADICAL code and redo the documentation a little bit to
      This caused a problem for release-mode, so maybe this is the instability in the
      Reset the tolerance to normal.
      Format LARS a little better and give good program documentation.
      Update LARS test.
      No longer need l here.
      I can't reproduce this error anywhere!  Is something wrong on the build server?
      Clean up warnings.
      Version .so at 0.99.0.
      Remove unnecessary 'normalizer' variable and add accessor for gamma.  No mutator
      Use accessors and mutators for math::Range.
      Update tests to use accessors and mutators for math::Range.
      Add accessors and mutators for AugLagrangian and L-BFGS.  Change int to size_t
      Refactor BallBound API and clean it up.
      Change in BallBound API.
      Some SpMat bugfixes.
      Document timers and CLI a little better since we changed how it all works.
      This isn't used anymore...
      Add some useful documentation.
      Better documentation.  Now we have a quick guide to MLPACK.
      Remove a few warnings.
      Pretty poor implementations of min() and max() for sparse matrices.
      Clean up BallBound code; now, expand things in batch because that's better.
      Clean up warning, use Info instead of Debug.
      Clean up MVU code and add a main executable to it.
      Make sure that Doxygen actually picks up the guide we wrote.
      Inline math::Range.
      Use Boost random number generators; account for API changes in 1.47.0.
      Require boost::random and link against it.
      Stop using rand() and use Boost random numbers.
      Explicitly specify namespaces.
      Give a few specializations for vectors, and remove using directives.
      Give direct access to discrete distribution probability vector.
      Update to new direct-access DiscreteDistribution::Probabilities() API.
      Clarify error messages, and actually assign the parameter to what is read for a
      Normalize vectors because Probabilities() doesn't do it anymore.
      Add main executables for HMMs.
      Explicit namespace usage.
      We have a few more executables now.
      Implement operator|= correctly.
      Fix use of uninitialized variables.
      Utilities for loading/saving HMMs; to be deprecated later.
      Move distributions to core/dists/.
      Add CMake configuration.
      Fix formatting for L-BFGS.
      Fix formatting for AugLagrangian and associated test functions.
      Fix braces.
      Fix comment.
      Change name of box().
      Boost <= 1.41 did not have a separate random package.
      Search correctly for Boost.Random.  It did not exist separately until 1.46.
      box() -> Box().
      Fix >= Boost 1.47 issues.
      box() -> Box()
      Smarter linking of MLPACK against Boost.
      Fixes for old Boost.UnitTestFramework.
      Don't run test cases that don't work because the code was never finished.
      Fix two warnings and some style.
      Add RandomSeed() function to set the random seed, which is always a good time to
      Use uint32_t because that's what the class uses internally.
      Hey, cool!  A warning solved a bug.
      WTF SVN?  I update, you give a conflict, and when I resolve it, you drop the
      Add option for random seed (for #182).
      Add support for --seed to HMM executables (where necessary).
      Add --seed support for K-Means executable.
      Minor spelling fix.
      Set the standard seed (srand()) also, because Armadillo is likely to use that,
      Weird, these aren't necessary.
      Make documentation more the same-like.  You know?
      Add a tutorial for NeighborSearch.  That took a little while...
      Add an actual page for the tutorials.
      Some formatting fixes.  We have lines longer than 80 characters but that is
      So that we get that nice hyperlink.
      No -Werror for now (the build server gets angry, gcc doesn't have to).
      Fix some errors present on older gcc versions.
      No need to link against LAPACK or BLAS; Armadillo does that.
      Install binaries in the proper location.
      Wait, it's not an ugly hack anymore (it was before, then I changed it and forgot
      Add 'make test' command.  This should make the build fail if the test does not
      Add 'make doc' command, but it does not yet install the documentation (that will
      Rename project to 'mlpack' (so we install documentation to
      Higher tolerance for Laplacian kernel.
      Don't use GNUInstallDirs.  Assemble /usr/share/doc/mlpack/ by hand (it's not so
      Don't install Doxygen documentation if it was never built.
      Haha!  Other people should be able to make tutorials too!
      Fix scoping issues.  Stupid Ryan!
      Refactor AugLagrangian for better use by other classes.  AugLagrangianFunction
      This will hold an optimizer for low-rank semidefinite programs, formulated by
      Basic implementation of LRSDP.  Not yet tested.
      Don't set any RPATH.
      Revert RPATH change.  We have to build with the RPATH and strip it at install
      Actually write the "correct" installation commands, so that RPATH gets stripped
      Add operators for SpSubview.
      A script that can turn our output into man pages.  This is for packaging, but
      No preview in an automated setting...
      Script to make all man pages.
      Make the directory if it doesn't exist.
      Force gzip compression; make sure it is not interactive.
      Make rules to generate man page documentation.  This is goodliness.
      Apparently, when I wrote this, I did not understand how floating point numbers
      Temporary work check-in so I can work somewhere else.
      Temporary work check-in so I can work from elsewhere.
      Change documentation a little bit to prevent man macro error (hopefully).
      Fix spelling error.
      Wow, awk is crazy.  This fixes warnings in the troff output given by txt2man.
      A few changes to the implementation of LRSDP.  Still does not quite work yet.
      Limit on number of iterations, and set the first lambda value right for LRSDP
      It works!  I can't believe it works.
      Don't do extremely simple LRSDP test; it needs a different first Lagrange
      Allow setting of random seed for RADICAL.
      Fix a few warnings for unused variables that I introduced.
      Add the dataset we work with.
      Allow two modes of constraint matrices.  Not yet documented.
      Add tests for two other Lovasz-Theta problems.  hamming6-4 isn't converging
      Update for new L-BFGS API.
      Revamp L-BFGS API, moving around where the maximum number of iterations is set
      Revamp the AugLagrangian API to deal with the new L-BFGS API, and take a
      A quick hack to make the tests faster.  This'll go away when I redo the LRSDP
      Revamp NCA and MVU, which use AugLagrangian and LRSDP, respectively.  MVU is not
      Don't link range_search_main.cpp into MLPACK; it adds unwanted CLI options.  And
      Further refactor AugLagrangian API to make it simpler.
      Refactor LRSDP API for ease of usage.
      Clean up LRSDP test and add a dataset which we are not using (but the test is
      Just so it compiles for now...
      Let's not set sigma to a value which ensures the algorithm will never
      Fix out-of-order initialization warning.
      Add RandNormal() and fix some const-correctness semi-issues.
      Misplaced space.  The horror!
      Initialize StatisticType objects in the root node too.
      A few fixes so that things can compile with older Boost.Test versions.
      Some changes; use M_PI instead of math::pi() (for consistency across all MLPACK
      Move to range_search_main.cpp and clean up executable.
      A couple changes to the kernel PCA test.
      Clean up some comments and the sanity check on the dimensionality should be the
      Put down the crack pipe, Ryan.
      This is a copy of the Gaussian kernel... oops...
      Remove exponential kernel from sources.
      Some cleanup for kernels.
      No more ExponentialKernel.
      An actual main executable and some implementation tweaks for speed.
      Some formatting fixes.
      Add --scale and --nocenter options.
      I had the options backwards; also clarify documentation.
      Add --scale and --nocenter options.  Also center by default for PCA.
      Helpful note pointing to other documentation, so we don't need to include
      Slight change because CLI outputs differently now.
      Remove unnecessary citations and change formatting of citations with respect to
      Remove citations from -h output.
      Remove citation from -h output.
      Remove citation from -h and put @code around it in the RADICAL documentation.
      Fix references in tutorial; rewrite into a little bit and clarify some
      Forgot two references.
      Fix references.
      List linear regression tutorial.
      Credit where it's due.  I might be missing a name or two...
      Mistype found.
      Add a range search tutorial.  Should be done...
      Add range search tutorial to list of tutorials.
      That isn't a correct Doxygen comment...
      Initialize LRSDP A and b vectors to the correct size at construction time,
      The sparse A matrices should be able to have a value.
      Changes according to the changes in the LRSDP API.
      Hey, so, it turns out when you find the package, you've gotta add the include
      These aren't necessary any more.
      Some changes to mvu.  Not 100% sure if it works yet.
      Some changes that had been forgotten.
      Unpack tar.bz2 for Nishant's sparse coding tests.
      Maybe it works, but I'm not totally sure.
      Three new methods for trunk.
      Add local_coordinate_coding and sparse_coding to man rule.
      Untested Windows code needs to not be untested...
      Fix #207.
      Install range_search executable.
      Use in-house random functions, not drand48().
      Make CMake configuration better by linking directly to the library locations, not just the library.  This is for Windows compatibility.
      Reformat CMake configuration file.  Only use -Wall and -Wextra on GCC-like
      We shouldn't provide these ourselves; CMake 2.8 does that already.
      Windows #defines min and max; undo these defines so we can use std::min() and std::max().
      More typenames, required by VS2010 but not by GCC (for some reason).
      Only give stacktraces on Linux boxes; Windows doesn't have execinfo.h or cxxabi.h.
      Fix apparently untested Windows code.
      No execinfo.h on Windows.
      Eliminate ambiguity in a few function calls.
      Require FORTRAN because FindLAPACK requires FORTRAN.
      Wait, we don't even need LAPACK.  That comes through Armadillo.
      Turns out not every version of CMake ships with this...
      Special handling of Boost linking properties for Visual Studio.  This was necessary for me to make things link correctly.
      Implementation of round() for C99-deficient compilers (MSVC...).
      Use boost tgamma and include that round function we made earlier.
      Link to direct location of unit test framework library.
      Various fixes for Windows compilation.
      Be a little pickier with how we build on Windows.  Static library because creating a DLL correctly would be a nightmare.
      Fix #210.  Stupid error...
      Generate Doxygen documentation with 'make doc' only in out-of-source build
      Make timers multi-run.
      Test multi-run timer functionality.
      Look for possible dependencies of libxml2.dll, to issue a warning to the user in case they don't exist.
      Link against LAPACK and BLAS on Windows because Armadillo doesn't automatically do it.
      No colors on Windows because command.exe doesn't recognize ANSI color escape sequences...
      Patch by andreasl: no definitions of promote_type<u64, ...> are necessary if
      Patch by andreasl: change u32 to uword (the generalized Armadillo type, which
      Oops, I did screw it up.
      I think that some of the promotions I had written are actually invalid.  For
      It makes no difference in reality, but don't define is_supported_elem_type<u64>
      Define timersub() before it's used on Windows boxes.  For some reason VS2010
      Use Sleep() on Win32 systems.  This isn't tested yet -- but I'll do that in a
      Greater than or equal to -- because some systems are very precise.
      Require version of libxml2 to be at least 2.6.0 (which is dated late 2003... so
      Search for iconv.h on Windows systems.
      Artifact from pthreads which isn't used anymore.
      Add GMM::Probability(arma::vec, size_t) as part of #212.
      Test GMM::Probability() (both overloads).
      Add a Classify() method.
      Test the new Classify() method.
      Increase tolerance a little bit so the builds don't fail so much.
      I hate test tolerances so much.
      Undo accidental test compilation commit -- we like all the tests.
      Add to contributors
      Handle a case where the step size ends up being 0 but the gradient is not yet
      Clean up some man page warnings.
      Use Log::Debug instead of cout for debugging output (maybe it should be Info?).
      Declare the function before we use it.
      Refactor GMMs so that you can use any clustering method you like.  The default
      Use GMM<> not GMM, because it's now a templated class.
      Rewrite GMM tests to use GMM<> not GMM (because it is a template class now).
      The fabled GMM-HMM training test.  The hardest of all tests, only the strongest
      Hackery necessary for sparse support using Armadillo 3.0.0 or greater.
      Include new traits.hpp file.
      Workaround for Armadillo 3.0.0 bug.
      Fix ambiguity error under Armadillo 3.0.0.
      Pass one: comment grammar Nazi and fix code style issues.
      Pass two: const-correctness (mostly) and use size_t instead of arma::uword.
      Missed a couple uwords.
      Rename some variables in the class.  Not done yet...
      Update tests to reflect new method names.
      Fix longer-than-80-character lines.
      Fix longer-than-80-character line.
      First pass: style.  Fix a memory leak or two too.
      Fix namespace ambiguity.
      Take care of FittingType when we are passing in means, covariances, and weights
      Handle Boost 1.33 Random library correctly.  I am not sure how far backwards
      Fix preprocessor ifs for Boost <= 1.39 Random API changes.
      Make ourselves compatible with older versions of Boost.Test.
      We need to actually get the version number before we check what it is...
      Zero the memory before we start adding to it.
      An implementation of cover trees.  It is not yet polished, and the debugging
      Add two tests for the CoverTree class; a simple test and a big (random) test.
      Add NumChildren() and Child() to BinarySpaceTree for compatibility.
      Fix warnings I introduced.  Oops...
      Comment the CoverTree implementation a lot better.  Still a few things to do...
      Remove unnecessary debugging output from test.
      Regresion is cool, but this method is regression.
      Refactor LARS.  Fix comments, remove unnecessary methods, and consolidate
      Don't use a pointer for LARS objects; no need to do memory allocation on our
      In fact, remove the line entirely.
      Refactor in accordance with new LARS API.
      Allow arbitrary metrics to be used in the construction of the cover tree.
      Test an alternate metric construction of the cover tree.
      Fix misleading documentation...
      s/IO/CLI/g wasn't a good idea.
      Allow template parameter class to specify which point should be chosen as the
      Add NumPoints() and Point() to BinarySpaceTree.  Maybe Count() and Begin() could
      Give better debugging output.
      Tabs to spaces, and return a reference, not a pointer.
      Add a single-tree depth-first traverser.  It is not as fast as it could be.
      Add the NeighborSearchRules class, which defines how the
      Ack, how could I violate my own coding style guidelines?
      Add the very similar SingleTreeBreadthFirstTraverser, meant to be used with the
      Modify the API of BinarySpaceTree to include a few more methods.  Starting to
      Modify CoverTree API towards a more standard API.  It can be used with
      Update our traversers so that they don't consider self-children.  I am not too
      Update API to use TreeType::MinDistance() because other tree types may not have
      Use the tree's preferred traverser type.
      Fix some formatting and style issues, and then add a test for nearest-neighbors
      Remove unnecessary debug output.
      Add a dual-tree depth-first traverser.
      Save just a little time where we can.
      Include statistic.hpp (so we have EmptyStatistic).
      Add dual_tree_depth_first_traverser.hpp to build list.
      Add an option to use cover trees.
      Add implementation of rules for dual-tree search.
      Use DualTreeDepthFirstTraverser for naive and dual-tree calculations, and remove
      This bothers me a lot more than it should.
      Make this an iterative implementation.
      Well, that would break everything...
      Add DualTreeBreadthFirstTraverser (at this moment, not rigorously tested).
      I didn't do this right; I forgot about the "UpdateAfterRecursion" step and broke
      Correctly handle cases where implicit nodes are created.
      Add a preferred dual tree traverser.
      Add preferred traverser and dual cover tree traverser (which doesn't prune at
      Add rules for cover tree search.  This breaks the nice abstractions I was trying
      Add a dual-tree test for cover trees.
      Add directory for implementation of MaxIP.  I think it needs a better name...
      Remove debugging output.
      Add the IPMetric, which is the "inner product" metric which calculates the
      Add rules for the MaxIP single-tree search.
      Add MaxIP class.
      Add CMake configuration so MaxIP gets compiled.
      Add maxip to project build.
      Add simple first test for MaxIP.
      Clarify error message; k can be equal to the number of points.
      It helps if the conditional is right, too.
      Give number of prunes.
      Add maxip executable.
      Don't get it backwards...
      Add template specalization for linear kernel.
      Avoid double-evaluation of base case.
      unsafe_col() is faster.
      UL and ULL extensions for older GCC.
      Reimplement single-tree search.  It's faster now.
      This file doesn't exist.  I didn't need it.
      Ensmallen and randomize.
      Initialize products to DBL_MIN.
      Use unsafe_col() 'cause it's faster.
      Rewrite to only use one queue.  Not very happy with this implementation.
      Add a kernel which I'll remove later.  I don't like it...
      We can do polynomial kernels too.
      Check in modifications.
      Update kernels in ugly ways that need to be removed later.
      Needs to be the square root, not actually K(q, q).
      Put ugly global variable in so it compiles.  This will be cleaned later...
      Consider queryProducts kernel evaluations too.
      Don't used squared distance in tree construction.
      Revamp breadth-first descent to consider tree levels so it is the proper
      Count kernel evaluations.
      This test does not compile with Armadillo 3.2; I have not yet had a chance to
      Work for older CMake versions (2.8.2) and finding older Armadillo versions.
      Halfway transitioned to newer implementation, which does not try so hard to
      Rewrite swapping code.
      Some slightly ugly additions -- but which give an order of magnitude speedup
      Relax the separation constraint to include equality (in accordance with the
      Store furthest child distance and furthest descendant distance.  This can allow
      Fix a couple bugs in furthest child and descendant determination.
      No far set in root node.
      No far set in root node.
      Parent distance is the interesting one to track, not furthest child distance.
      Add two more kernels.  They need to be parameterized.
      Clean up cover tree implementation a little bit.  Allow instantiated metrics
      Refactor and clean epanechnikov kernel.
      Remove static Gaussian kernel hack.
      Best not to promise functionality we might never get around to.
      Remove the no-offset kernel; it is not useful and was a hack for a deadline.
      Include new files.
      Fix top-of-file comments.
      Rewrite triangular kernel with parameters.
      Check in mess of MaxIP code which is being cleaned little by little...
      Test modified for new MaxIP API.
      I don't believe this is a valid kernel.
      Update documentation slightly.
      Finish refactoring for each kernel type.
      A couple of files were not included.
      Some code cleanup.
      Code cleanup; don't use namespace arma (since that's done nowhere else) and
      This was being passed in backwards.
      Modify LARS API to accept non-transposed matrices.  This is easier on the
      Adapt for new LARS DoLARS() API.
      More refactoring; remove nActive because it isn't necessary, and include
      Changes to DoLARS() propagating to here.
      Changes to DoLARS() propagating to here.
      Change DoLARS() to more descriptive and less awkward Regress().  Minor code
      DoLARS() -> Regress().
      DoLARS() -> Regress().
      Apparent typo in the test cases meant one combination was not being tested.
      Changes to main executable in accordance with the modified API.
      Add option allowing user to specify if they want the data transposed on input;
      Tests for new options to data::Load() and data::Save().
      Clean up LARS executable.
      This check changes because we're loading X and not transposing.
      CLI::GetParam<bool> seems to crash, and, add a timer.
      Add some timers for loading and saving operations.
      Clean up documentation slightly.
      Stop timer for early exit.
      Clean up comments for no good reason.
      Refactor SparseCoding to initialize the dictionary as a template parameter.
      Change tests to respect new SparseCoding template parameters.
      A couple of formatting fixes.
      A couple more tutorials now exist.
      Clean up comments, and store a reference to the data, instead of copying it.
      We don't need to set the reference -- this line is now implicit.
      Rename DoSparseCoding() to more flowing Encode().
      Minor style changes.
      Fix some syntax errors I introduced, and print the matrices.  The test does not
      Formatting fix, and handle things a little more carefully.
      Clean up code.  Use std::pow(x, 2.0) not x * x.  A couple of formatting fixes,
      Stop using activeAtoms because it isn't necessary (minor speed boost).  Clean up
      Avoid a matrix copy for matActiveZ and potentially speed up gradient calculation
      Clean up main executable.  Avoid unnecessary copies.
      Fail on failure to load dictionary.
      Avoid unnecessary initialization of dictionary when the user passes a dictionary
      Clean up style violations.
      Clean style violations in main executable.
      Template LocalCoordinateCoding to accept different kinds of dictionary
      Update for new LCC API, and fix style violations.
      Make OBJ_TOL and NEWTON_TOL parameters to the methods.
      Change matX to data, matD to dictionary, and matZ to codes.
      Update for new API with better matrix names.
      Clean up formatting of output, and stop using arma::uword (prefer size_t
      Oops, this isn't necessary anymore.
      More consistent comparisons
      Change DoLCC() to Encode() and some cleanups and fixes in Encode().  Reduce
      Fix inaccurate comment.
      Update test cases for different cosine distance.
      Comment out testing procedure for now because it doesn't work (yet).
      Clean up and optimize code.
      Move RemoveRows() to the linear algebra utility section since it's used in more
      Include linear algebra utilities.
      Move RemoveRows() out of class definitions.
      Remove extraneous spaces
      Minor spacing and formatting changes.
      Cleaner calls to .rows() as opposed to .submat() with all those arma::span
      Tests for RemoveRows().
      Be pedantic about namespaces.
      This causes an ambiguity error (mlpack::math or arma::math?) on gcc 4.4.x.
      Set limit on maximum iterations so we don't spin forever.
      Better error messages (more descriptive, less awkward).
      Severe cleanup of executable, so it actually works again.
      Use timers internally, not externally.
      Use timers internally, not externally.
      Fix unclosed '
      Fix doxygen documentation (forgot a @code).
      Use log negative error to prevent calculation overflows (a first step towards
      Update test API to use LogNegativeError().
      Simplification of expression
      Yeah, this is simple enough to inline; probably a better choice.
      This function can be const.
      This function can be const.
      First shot at overhauling FindSplit_().  Break deep nesting of if/for by
      Fix lots of formatting issues in DETTest tests.  Stop casting to/from float/long
      Minor style fixes and const-correctness fixes.
      Uh, I forgot the opening {
      Further cleanup of casting issues.
      Apparently unused file
      Add parameters so user can specify objective and Newton tolerances.
      Make objective tolerance parameterizable.
      Switch to doubles not floats in main executable so it compiles.
      Clean up casting for old Boost.Test versions which aren't very smart.
      Rename FindSplit and its variables to names that adhere to the style guidelines.
      Update test to modified API.
      Fix corner case where found version is equal to the required version.
      Add PSpectrumStringKernel to be used for maxip/FMKS.
      Add tests for PSpectrumStringKernel.
      Clean up FindSplit() and reduce API to only what is necessary.
      Clean up test to adapt to new FindSplit() and SplitData() APIs.
      Replace tabs with spaces.  Remove unused variables.  Use separate
      Clean up constructors.  Don't hand-allocate memory for minVals and maxVals;
      Clean up test.  Don't use 'new'/'delete'.  Fix wrong index for TestSplitData.
      Oops, there was one more 'new'/'delete'.
      Clean up constructors; use initialization lists more exclusively.  Also clean up
      Use BOOST_REQUIRE_EQUAL(), and the function is now called WithinRange().
      Further switching from cT to double.  Later we will switch to all log error.
      Use double instead of long double for Grow() and PruneAndUpdate().
      Use double for ComputeValue(), and take a reference instead of a pointer; also
      Update for changed ComputeValue() API.
      Change API for ComputeVariableImportance().
      Modified API for ComputeVariableImportance().
      Stop using eT and cT for good.  Change all variable names to adhere to naming
      Refactor test to stop using eT and cT.  Don't typedef MatType anymore, and
      Clean up main executable file.
      Further cleanup of variable names.
      Convert all of DTree (with the exception of ComputeVariableImportance()) to work
      Adapt tests to working in the log-space and update APIs accordingly (as they
      Cleanup of dt_utils.hpp.  Get rid of 'using namespace std' in dtree.hpp and
      Remove templatization of density estimation trees (it wasn't necessary).  It
      ...and make sure that the removal of templates is propagated to the test file...
      Clean up CLI parameter names and then rename the executable to 'det' not
      Fix std::pow ambiguity on older compilers
      Fix pow ambiguity that I missed last time...
      Actually, I got it backwards, I need pow(double, int).
      This day is off to a great start
      Remove unnecessary debugging output
      Fix DET so it actually works.  A few things here and there needed to be changed.
      Disable volume regularization for the main executable for now.
      Remove debug output which is unnecessary now.
      Rename various parts of NMF to different names which line up more with the style
      The API call for Apply() has changed slightly.
      Allow objective tolerance option.
      Fix tabs into spaces.
      Restructure trees entirely.  Each tree will have its own SingleTreeTraverser and
      Add a few files we forgot, including the convenience include files which include
      Change include files and APIs to use the new tree traverser setup.
      Modify tests for new include locations.
      Minor cleanup of NMF code; I think the residue should be displayed in
      Add Score() and Rescore(), which will be used for a "new" type of tree traversal
      Refactor BinarySpaceTree traversal to use Score() and Rescore() and thereby
      Remove two now unnecessary files.
      Oops, those files had to be removed from the CMake configuration too.
      Oops, we need this check in there too.
      Use unsafe_col() instead of col() for speed reasons (this makes a BIG
      Ensure we check if we can prune before descending the query tree (this case is
      Fix comment.
      Give ourselves a way to force inlining.
      Check if we can prune individual points before performing computations.
      Speedups for math::Range().
      Inline these functions for speed.
      Force inlining of BaseCase() because that is extremely important to loop
      Respect -s when combined with -c (single-mode cover trees).
      Update single tree cover tree traverser to be smarter about recursion order.
      Add new methods for finding the maximum or minimum distance to a point or node
      Add new methods for calculating the best distances when the distance between the
      Remove a few unused methods (LeftFirst() variants).  Add Score() which accepts a
      Rewrite the single tree traverser for the cover tree.  It works, now it needs to
      Fix spaces, and actually traverse to the left instead of just saying it and then
      RandomAcolInitialization was modified to take a template parameter so now we
      Heh... a template parameter is not an lvalue.  So just warn the user and then
      Oops, a small typo...
      Tighten bounds on minimum and maximum distances because we already cached the
      Revamp single tree traverser... again.  For now it has debugging output.
      Use L2 distance not squared-L2 distance because that breaks cover trees.
      Get the conditional right.  Only map things back like that if there was a query
      Refactor single tree traverser again; don't use priority_queue which is slow.
      FindArmadillo.cmake ships with CMake from version 2.8.5-rc1 onwards.  So require
      #223: I don't think we have ever needed to link Boost.Math anyway.
      I promise, GCC, just this once, I'm smarter than you, really.
      Split CoverTreeMapEntry into its own file since it will also be used by the dual tree traverser.
      Some warning cleanup.
      Seeming error; we just want the path, not the absolute filename.
      Use correct L2 distance, not squared L2 distance in cover tree test.
      Rewrite dual-tree cover tree traverser.  The use of UpdateAfterRecursion() is
      Remove unused CanPrune().
      Be explicit and call std::log(double) because in some compilers (icc)
      Heh... -h is already in use...
      Safer handling of strings which may have spaces in them.
      Missed one handling case
      Fix floating point precision error which was causing issues only when compiled
      Use base of 1.3.
      Refactor and try to rewrite dual tree traverser so it is faster, but I don't think we're completely there yet.
      Comment out debug output for now.
      Comment out some debugging output.
      Update bounds -- the tolerance was being exceeded (just barely).
      Update documentation for the use of cover trees.
      Change expansion constant to base (#240).
      #240: Change expansion constant to base.
      Must used square rooted distance to be a valid metric.
      Use valid alternate metric in tests.
      Fix a warning which was actually also a bug; Score() takes the base case evaluation as a third argument (optionally), not a previous score.
      Update copyright file (should this be in a different format?).
      New contributor
      noinline wasn't suppoed to be checked in, oops.
      Add one more contributor.
      A few more modifications to the tree test
      Propagate r13418 to trunk.
      Trivially minor misspelling.
      Add inplace_reshape() for reshaping matrices without doing anything to the data.
      Add a test for inplace_reshape().
      Document the impending doom which will certainly be caused if you use this
      Complete sentences, yo.
      Fix odd spacing and be unnecessarily pedantic with const-correctness.
      That empty initalizer is implicit anyway.
      Add constructor which automatically creates identity covariance, and don't check
      Add tests for new MahalanobisDistance constructor.
      Documentation fix, and tabs to spaces.
      Documentation fixes.
      Change template parameter names to be more in accordance with the rest of the
      Change template parameter names to be more in accordance with the rest of the
      Add TakeRoot parameter for use with LMetric<n, true>.
      Test new HRectBound<n, true> functionality.
      Make a stronger note that the LMetric without taking a root is not a valid
      Update documentation for the HRectBound.
      Ack, that's an annoying typo in a bad place.
      Another annoying typo.
      Update some documentation for clarity and coding standards.
      Longer lines than 80 characters?  Unthinkable!
      Debugging output, not warning output.  Oops.
      Fix grammar in comments (utter pedantry) and a few style issues.
      Tabs?  In my application?  It's more likely than you think.
      First cleanup of code: adhere to formatting standards (mostly).
      The mean was not being set to zero in the constructor where the documentation
      commit cb8ecf1de096fe018ad388b496a3d84f9e6b6cac
      Remove test, because it's just testing internal MLPACK functionality which is
      Fix includes.
      Utility to find MATLAB and the mex compiler.
      Build rules for MATLAB bindings.
      Build rules for the EMST MATLAB mex binding.
      Makefile no longer necessary.
      Finish CMake configuration changes for MATLAB bindings.  This *should* break the
      This comment is no longer necessary.
      This comment isn't necessary.
      Actually issue errors when mex is not found.
      Clean up script a little bit, make it a bit friendlier.
      Clean up configuration so that MLPACK will compile on systems without MATLAB.
      Remove all the cmake_minimum_required() bits that weren't actually necessary
      Further clean up script and handle things better when MATLAB does exist.
      Use MATLABMEX_FOUND not MATLAB_MEX since CMake string comparisons are as stupid
      Comments and cmake_minimum_required removed because they are not necessary.
      Script to modify the file which controls the MATLAB default path to add the
      Add MLPACK MATLAB bindings to the default MATLAB path.
      Add new developer (Patrick did the MATLAB bindings).
      Update copyright
      Add DETs to the list.
      Change name of output and update MATLAB binding accordingly.
      Tabs?  In your codebase?  It's more likely than you think.
      Slight reorganization.
      Weird misspelling fixed
      Stochastic gradient descent will live here.
      Clarify documentation.  L_BFGS is a minimizer.
      Not yet tested -- but implemented in a few minutes.  Turns out SGD is pretty
      Modify namespace, and create CMakeLists.txt.
      Add SGD, and add functionality to LBFGS test functions (which will probably be
      Fix a few errors in these files.
      Add a test function and make it work right.
      Add a test for SGD.
      Move everything into the mlpack::util namespace from mlpack::io or
      Update to use mlpack::util namespace.
      Fix formatting issues and prepare for new functions.
      Fixes to use mlpack::util not mlpack::utilities.
      Implement decomposable error function and gradient, then make NCA use SGD and
      More parameters for NCA in accordance with the change to SGD.
      Allow normalization of points, to prevent underflows.
      Remove the normalization stuff... that is not the right way to do it.
      Slightly smarter normalization strategy for large datasets.
      Also support a random seed.
      Stupid, stupid, stupid (#256)
      Oops, I missed one utilities -> util change.
      Explicit cast
      Better default tolerance; 1e-5 is too high and may "accidentally" converge too
      We were neglecting a term in the gradient...
      Tests for the separable evaluation and gradient of the NCA softmax error
      Add parameter to determine whether or not SGD is shuffled.
      For real, I seriously considered anger management classes while hunting this one
      Allow passing an initial matrix.
      Change the way things are normalized.
      No need to print the final matrix.
      A better normalization strategy.  And actually document how you make NCA work
      Output the size when loading.  How cool!
      Rename in accordance with the submitted paper.
      Update include location.
      Rename all MaxIP files to FastMKS.
      Rename MaxIP test to FastMKS test and update everything accordingly.
      Remove sparse support from trunk.
      Oops, don't remove inplace_reshape().
      Only do sparse tests if sparse matrix support exists.
      Add explicit constructors for sparse vectors, which are applied only when
      No need to typedef u64 anymore; set size_t == uword by defining ARMA_64BIT_WORD
      Update CMake configuration for removed files.
      Fix links.  #249
      Workaround for the case of sparse matrices.
      Bake in support for HDF5 -- if Armadillo has it.
      Test HDF5 load/save functionality.
      Fix a code error, fix build instructions to include package managers.
      Actually, we can't just define ARMA_64BIT_WORD willy-nilly because it makes
      Check for a 64-bit system where ARMA_64BIT_WORD is not enabled, and warn the
      Issue a warning when a user tries to compile MATLAB bindings and they have a
      Fix to work with older GCC versions in cases where math:: is ambiguous (stop
      No need to warn if the MATLAB mex compiler is using a newer glibc than the
      Use specific doubles for RHEL5 Boost compatibility.
      Clean up MATLAB bindings for EMST.
      Update AllkFN binding documentation to how it should eventually be.
      Tabs to spaces
      Very minor documentation change.
      Add build rules, tabs to spaces, and remove unnecessary header files.
      Update headers, tabs to spaces.
      Remove unnecessary Makefile, change to appropriate headers, and add header
      Remove unnecessary Makefile; add header comment, remove unnecessary headers, and
      Remove unnecessary Makefile, switch tabs to spaces, add header comment block.
      Error in comment
      Clean up warning.
      Fix documentation.
      Manual tree constructor
      Test for the manual constructor.
      Update for cover tree API change.
      Add option to compile MATLAB bindings.
      Make recursion into the bindings optional.
      Add a few new bindings and make the mex compiler required if compiled with
      Move conditional on matlab bindings to matlab-specific subdirectory.
      Put MATLAB_BINDINGS conditional at a lower level.
      Add CMake configuration for this binding.
      Tabs to spaces and correct includes.
      Remove unnecessary Makefile.
      Remove unnecessary Makefile, tabs to spaces, use correct includes.
      Tabs to spaces, fix includes, remove unnecessary Makefile.
      Fix includes, tabs to spaces, remove unnecessary Makefile.
      Fix includes, remove unnecessary Makefile, tabs to spaces.
      Add mutators for ParentDistance() and FurthestDescendantDistance() and fix a comment.
      Add a method to get the furthest descendant distance.
      Add a test for the furthest descendant distance.
      Calculate queryNode.Stat().Bound() on the fly instead of just one time at
      Don't use UpdateAfterRecursion().
      Update comments for correctness to resolve #261.
      Another comment cleanup.
      Refactor NCA to take an optimizer as a template parameter, and default to SGD.
      Update test for new NCA constructor.
      Add option for optimizer type to parameters.
      Add function for cover tree pruning.
      Add Prescore() function which can be used to prune based off of parent
      Use Prescore() to prune reference children without evaluating the base case.
      Try to prune when copying reference maps.
      Add new (hackish) rule for pruning while descending queries.
      Fix NCASimpleDataset test.
      Change formatting to fix style.
      Clean up RADICAL code and add some more output.
      Clean up documentation slightly for the case of slow runs.
      commit 73b4c28c203fbdcb33f27755a22f26f0cfb513c2
      Update to newest version (I mistakenly branched an old version).
      Minor formatting improvements and warning fix.
      Further implementation cleanup; build rules fix, and move test to test
      Build LSH.
      Add tests for LSH.  They may be modified as time goes on.
      Fix line widths.
      Do not make copies of objects when printing to output.
      Add copy constructor explicitly.
      Add test for cover tree copy constructor.
      Minor refactoring of BinarySpaceTree and addition of copy constructor.
      Test for copy constructor of binary space tree.
      Fix unsafe code in HRectBound; bounds can be NULL.
      Refactor MRKDStatistic into three files (maybe a little overkill, I realize
      Update for MRKDStatistic API change.
      Flush status message to output before the size of the loaded matrix is
      Some tricks to get u64/s64 support on more recent versions of Armadillo.
      Add parent and Parent() so that trees can be traveled both down and up.
      Add test for Parent() method in BinarySpaceTree.
      Issue a warning (not a fatal error) if Armadillo's configuration file does not
      A few changes to PrefixedOutStream and NullOutStream to deal with references
      Refactor calculation of bound.  It may need a further fix.
      Don't use Prescore(); it doesn't work.  Comment out for now (it may be removed
      Add two new files to build.
      Better calculation of bound.  We could still optimize a little bit.  Debug
      Clean up string util files (no functionality change).
      Oops; turns out there _was_ a functionality change...
      Add traits for trees.
      Add test for tree traits.
      It turns out we can actually make the bound a little tighter, which I
      Make GMM::Estimate() return double.
      Update test for changed GMM API.
      Clean up LSH code and add random seed parameter.
      Add LSH to listed methods.
      Remove using directive and extra whitespace.
      Simple cleanups of RANN code.
      Far less hackery is required for Armadillo 3.6.2.
      Old versions of Armadillo are no longer allowed, so this code for Armadillo <
      Fix warning.
      Fully qualified name of var() for compatibility.
      Exclude Armadillo 3.4 from K-Means sparse test because sparse var() was not
      LSH requires resize() which is not present until 2.4.2.
      Got the name of the macro wrong...
      Armadillo 3.4 has some sparse bugs which cause this test to get stuck in an
      Add history.
      Abstract away the unmapping of points.  Also fix a few bugs in AllkFN because
      Test Unmap().
      Forgot to test-build allkfn...
      Change rowMajor parameter to transposeData parameter, which is set to true by
      Update for changed LARS API.
      Comment out checks for now; setting the random seed does not guarantee the same
      Clean up tests; split into four (not three) tests, remove random seed setting
      Move default arguments into declaration of function to make clang happy.
      Cleanup for clang warnings.
      Update style; remove _s.
      Add Parent() function.
      Update test so Parent() is also tested, and also update constructor parameters.
      Reset parents correctly in the case of implicit nodes.
      A few more examples to reduce the probability of error.
      By default, take the root.  Then it is a true metric.  (L2-squared distance is
      By default, take the root.  L2-squared distance is not a metric.
      Still use L2-squared distance by default; this needs to be fixed.
      Don't use L2-squared distance by default.
      Update tests because LMetric<2> is no longer the squared Euclidean distance.
      Use the bound in the ICML paper.
      Update to only use L2-squared distances (for now).
      Simplify constructors; we don't use any of the odd ones.
      Simplified statistic construction.
      Adapt to modified statistic API.
      Adapt to new statistic API.
      Style changes
      Oops, I did not realize there was an _impl file...
      Update statistic API.
      Update statistic API; for cover trees, actually call the initializer.
      Don't use start anymore.
      Clean up code a little, and allow returning of the metric associated with the
      Remove empty constructor; store dataset; allow return of metric with Metric().
      Add Metric() function, and refactor a little bit.  The metric may be stored
      Add test for Dataset() and update because the empty BinarySpaceTree constructor
      The name of the executable changed.  Update documentation accordingly.
      Minor documentation change.
      Add a readme.  Readmes are good.
      Fix bug in bound function for neighbor search.  It is necessary to keep two
      Add a new trait.
      Allow returning of instantiated metric and centroid.
      Add Diameter() function, which is useful for obtaining the furthest descendant
      Test Diameter().
      Cache furthest descendant distance.
      All definitions should come before mlpack includes.
      Make FastMKS work in the dual-tree setting.  Hooray!
      Clarify documentation significantly on Train().  Only allow setting of
      Better debugging output for DiscreteDistribution.
      Explicit namespace inclusion.
      Clean up warnings.
      Use custom FindArmadillo script, which will find (and link against) HDF5 if
      Clean up output a little bit.
      Update name of inclusion guard to fit with the rest of them.
      Uh, this is a major problem.
      Superfluous c_str().
      Make Save() actually return a useful value.
      Add Load() and Save() functionality for GMMs.
      Test Save() and Load() functionality for GMMs.
      Use GMM::Save() instead of a handwritten function.
      Update coding standards.
      Add perturbation to ensure that the covariance matrix does not end up empty (and
      Add option for number of trials.
      Add perturbation to covariances when necessary to prevent zero-valued covariance
      Zeroes in any element of a diagonal of a covariance matrix can cause problems.
      This should be informational output which is present even when debugging symbols
      Do not divide by zero.  This is important when there are outliers whose
      Too many spaces.
      Put in checks for non-invertible covariances after training; add perturbation to
      This is necessary (apparently) until the FindArmadillo changes either get
      Parameterize perturbation, tolerance, and maximum number of iterations.
      Add parameters for EM algorithm, and also add parameter which adds random
      Don't use a specified perturbation but instead a simple (but rather slow)
      Remove perturbation parameter and allow specification of whether or not matrices
      I think this warning can be somewhat misleading, so it should be removed.
      Eek, I broke the build!
      Use the same fix from GMMs to ensure that covariance matrices are positive
      Allow parameterization of the tolerance of the Baum-Welch algorithm.
      Add option for tolerance of Baum-Welch algorithm.
      Slight documentation fix.
      Minor formatting change.
      Oops, this is not the accessor/mutator design methodology we are using.
      Avoid issuing two warnings for one problem.
      Add option to get the clusters back when the process completes.
      Wrong index, pointed out by se7en7 in IRC
      Fix bug in error checking, and make given errors a little more descriptive.
      Better error checking, and, actually *use* the initial guesses if they were
      Test the new functionality of k-means: initial assignments and initial
      Add a new initialization method, which is an implementation of Bradley and
      Add test for Bradley-Fayyad initialization (RefinedStart).
      Add accessors and mutators, and mark function const (as it should be).
      Minor formatting change.
      Remove Pelleg-Moore support (as per #251).  Allow the user to specify a file to
      Allow Bradley-Fayyad initialization for k-means as initialization for EM
      Oh yeah -- actually allow the user-specified parameters to *do* something...
      I don't like how Doxygen does @see; this should look a little better.
      Fix documentation for prettier @see results.
      Remove ambiguous option
      Name of argument changed
      If loading fails, don't try to continue.
      Patch for #272, pointed out by Marcus -- incorrect example.
      Add directory for k-means tutorial.
      Clean up DET tutorial significantly.  It could still use some work -- but then,
      Remove reference to alternate volume regularization example.
      The last section shouldn't be a subsection.
      The last section shouldn't be a subsection.
      The last section shouldn't be a subsection.
      The last section shouldn't be a subsection.
      output_file is the option, not outputFile...
      Stop timers if saving or loading fails.
      Fix parameter names (asleep at the wheel?).
      Change DistanceMetric to MetricType to be more in line with the rest of the
      Wow, I spent a lot of time writing that.  It's mostly checked for errors.
      implementation of the \c EmptyCluster() function makes
      Add directory for FastMKS tutorial.
      It all has to be one big comment to be a page...
      Refactor cover tree constructors into one CreateChildren() function, which saves
      Widen tolerances on tests that seem to be failing often.
      Widen tolerance even more.
      Update IPMetric API and document it.
      Update FastMKS API and do some documentation.  Add some new constructors for
      Remove base option -- just for now -- and update calls to FastMKS constructor
      Clean up rules file a little bit; make BaseCase forced inline.
      Remove parameters that don't exist.
      Stop counting kernel evaluations and distance evaluations.  This may be brought
      Modify main executable to support --base option again, and give better
      Don't use global distanceEvaluations anymore.  Remove debugging output.
      So Doxygen picks up that comment too...
      Clean up polynomial kernel and reverse input arguments so they are now in line
      Update for PolynomialKernel constructor API change.
      I don't have a reliable connection, so check this in so I can work on it from my
      Fix reference.
      Fix reference.
      Finished FastMKS tutorial.
      Add new tutorial to list.
      Fix @file lines.
      Fix @file lines.
      Add links to new tutorials.
      A notice that FastCluster() doesn't work.
      Update documentation (#275).
      Patch for #278, contributed by Marcus Edel (thanks!).
      Avoid inverting empty matrices.  Also fix a possible uninitialized memory issue.
      Merge in history for 1.0.5.
      Two functions which are useful for RangeSearch.
      Add RangeDistance() hooks to HRectBound.
      Incompetence is a surprisingly accurate predictor of build-breaking checkins.
      Incremental checkin so I can work from another system.  Begins outline of the
      Add NumDescendants() and Descendant() functions which will make things much
      Test NumDescendants() and Descendant() instead of Begin() and Count() (since
      Add Descendant() and NumDescendants() functions.
      Test the Descendant() and NumDescendants() functions.  These tests were
      Fix warning.
      Add HasSelfChildren trait.
      Tests for HasSelfChildren trait.
      Revamp RangeSearch as per #244.  Now this works with cover trees too!
      Comprehensive test for range search with cover trees.
      Grevious spelling mistake.
      A commit from a long time ago shows I committed the Contains() function without
      Finally add test for Range::Contains(Range).
      I'm not sure what the older test was, but it was undocumented, so I removed it,
      Fix #280 and revamp KernelPCA implementation.  It should now be much faster.
      Add new contributor.
      Update copyright.
      Minor formatting fixes and better documentation.
      Stupid const error.  Did I not test it?
      Move IPMetric to general metrics directory since it will be useful for other
      Use Log::Assert.
      Move IPMetric to mlpack::metric not mlpack::fastmks.
      Document what the namespace contains.
      Fix for #289 (thanks Marcus)
      Remove unused file extensions from Doxyfile.
      Do not compile DET code on Windows because it causes the compiler to segfault.
      Yeah, well, it's not like anything was going to fix the Windows build anyway.
      Sometimes the map is empty, and dereferencing an empty iterator results in
      Make the NMF decomposition more accurate in a bid to fix the failing test.
      Fix unused variable warnings.
      Widen tolerances on GMM tests.
      Extra cleanup of Windows' ridiculous #define min and #define max.  Seriously
      Remove unnecessary include.
      Remove unnecessary include.
      How did that happen?
      Reorder includes.
      Windows does not like the #define private public hack, so do not use it there.
      logNegError is private, so don't test that on Windows.
      Copy HISTORY from branches for mlpack 1.0.6 update.
      Fix #291, which is a corner case in situations where the dataset consists
      Some formatting fixes, and create a new test that tests the scaling to unit
      Fix the scaling parameter; what was being done before did not make sense.
      Oops, I forgot to remove the random seed from the test...
      Make CLI::GetParam<bool> return the same value as CLI::HasParam().
      Test that HasParam() returns the same as CLI::GetParam<bool>().
      Clarify comments and fix bug that occurs when no query set is specified.
      Fix dangling spaces and use Log::Assert() not assert().
      Test single-dataset mode.  In writing this test, bug #293 was created.
      Testing diff in commit emails.
      Test diffs in commit emails again.
      Move constructor to top of file, and check the size of the s and y cubes before
      Rename a few tests so they compile correctly.
      So, actually compiling the L-BFGS test might be a good thing...
      Comment out --fast_kmeans option so it does not work at all, for now.
      I have been looking for this memory leak for months.  Apparently I forgot that
      Does this fix the cover tree two datasets test?  It seems to on this box.
      Don't recurse into the map pruning section if the map is already empty.
      Add utility functions to normalize labels.
      Modify core.hpp to include label normalization methods and update build
      Test label normalization.
      Remove debugging output.
      This may fix the segfaulting in the cover tree tests.
      Change label type to arma::Col<size_t> not arma::uvec.
      Change label type to arma::Col<size_t> not arma::uvec (this is more in line with
      Update NaiveBayesClassifier API to take labels as a separate vector.  Also,
      Uncomment checks that weren't failing in the NBC test and update for newer
      Use arma::Col<size_t> instead of arma::uvec for labels.
      Normalize the labels before performing computation, and use arma::Col<size_t>
      Update test to use arma::Col<size_t> for labels instead of arma::uvec.
      This should fix the failing build on old Armadillo versions.
      Oh holy crap, I am the worst, and I have broken everything.
      I always say "build before you check in!" and then the simple fix I try to
      Older versions of Armadillo require as_scalar() because gcc isn't able to figure
      Simplify centering code.  Maybe it's faster?
      Clean up PCA test.
      Refactor PCA to use SVD because it is faster.
      Minor formatting fixes, make things const 'cause that's what's cool to do, issue
      Spelling fix.
      Remove c_str() where possible.
      Remove c_str() where possible.
      Widen tolerance on HMM test.
      Fix misleading comment.
      Marcus, finder of errors, has found yet another one.
      Adjust tolerances.
      Adjust tolerances.
      Minor version update.  This is not a very maintainable solution...
      For now, don't build the CF package.  It uses sp_mat and that isn't included in
      Clean up trailing whitespace, reformat a few lines.
      Code cleanup, and refactor DTBRules so it does not depend on
      Add a parenthesis to fix some grammer.  A big deal!
      Clean up RANN code, document tau parameter more thoroughly, and refactor
      Add --cover_tree option to range_search.
      When removing implicit nodes, ParentDistance() was not being correctly
      Add some changes from Sumedh (#298).  This improves the Predict() function and
      Add new contributor.
      Fix compatibility with older Armadillo versions and fix warning in
      Handle corner case where ||a|| or ||b|| is equal to 0 (and prevent division by
      Fix a comment.
      Fix output, because it does not output the squared distance any more.
      Update documentation for new output; squared length is not given.
      Add some new functions from Sumedh.
      Add test functions for new stuff from Sumedh.
      Add -V option to specify how much variance to retain.
      Add lastKernel and lastKernelNode for pre-emptive child pruning.
      Add KernelTraits, a useful template class that can tell you about things, like
      Just include all the kernels, because I mean, why not?
      Add a test for the KernelTraits class, and a long rant which explains why this
      No need to transpose matrices.
      This was the version of code used for the FastMKS benchmarks in the recently
      Print base cases and scores as output even when not debugging.
      Often number of prunes can be useful information, to make sure that anything at
      Uh, this should fix the broken build.  I will clean this up in the forthcoming
      Add functions to get number of base cases, number of node combinations visited.
      Overhaul NeighborSearch so that it only needs one overload of Score() and does
      Update test for new NeighborSearchStat class.
      Two things: actually do some pruning, and, get parent base case evaluations
      Add RangeSearchStat class.
      Move to right namespace.
      Use RangeSearchStat (although nothing is being done with it yet).
      Use RangeSearchStat in cover tree objects.
      So, to test this file, you have to type 'make range_search'...
      Refactor test to clean tree statistics before running new range searches.
      Refactor RangeSearch to work properly for both cover trees and kd-trees with the
      Fix comment.
      Use RangeSearchStat with cover trees.
      r15817 overwrote the current tree tests with ones from mlpack 1.0.4.  This
      For now, don't build the CF test.  This is because CF depends on sp_mat, which
      Remove EuclideanDistance() and CosineSimilarity() functions; instead, use
      Fix compilation errors and merge actual changes from r15826.
      The parent-child pruning bounds were too tight.  They did not consider one of
      Update tutorial.
      A few fixes.
      A few more fixes.
      Hey look, I removed three lines of code while not changing the functionality of
      Integrate ComputeCost() as ComputeError() for #298, written by Sumedh.
      Add test for ComputeError() for #298.
      Use Sumedh's dataset for the perfect fit test.
      Interesting that this compiles even though the sum of a dot product is a
      Fix warning, add const.
      Make Predict() function const-correct.
      Widen tolerances.
      Very minor syntax fixes.
      Add lambda parameter, so this now supports ridge regression.
      Use an empty dataset, like Sumedh suggested, to test ridge regression.
      Avoid an additional matrix copy (insert_rows() and shed_rows() are a copy each
      Fix other constructors so they play okay with lambda.
      Minor typo.
      Fix in implementation to avoid copies.
      Add --lambda option to linear_regression.
      Update documentation.
      Add section on ridge regression.
      Add a note about running a timer multiple times.
      Update NMF to work with sparse matrices also.
      More fixes for correct sparse NMF.
      Test sparse NMF.
      Armadillo 3.6.0 will be required for 1.0.7 because that is the first version
      Update documentation to reflect Armadillo 3.6.0 requirement.
      Update documentation to reflect 3.6.0 requirement.
      Because we now require Armadillo 3.6.0, we can use each_row() and each_col()
      Fix comment headers for doxygen, remove trailing spaces, and use NMF instead of
      Instead of using ALS, use NMF with a sparse matrix.
      Remove als directory.
      Reformat GetRecommendations() function and rearrange cf.cpp to reflect ordering
      Why not call CleanData() in the constructor instead of repeatedly in other parts
      Clean up CleanData() function.  Don't use temporary matrices; there's no point
      Minor comment fix.
      Use sparse matrix batch constructor.
      Clean up Decompose().
      Decompose() is only called once, so just inline it because it's simple.
      Remove GenerateRating() function because it's only one line and only used in one
      Remove CalculateApproximateRatings() since it is only ever called once.
      Clean up Query().  It makes me feel a little gross to be so pedantic as to
      Inline CreateQuery() function since it is only used once, and use better
      Remove GetNeighbourhood() because it is only called once.  The check that
      Remove CalculateAverages() since it is only called once, and inline it into
      Refactor CalculateTopRecommendations(), including a complete overhaul of how
      Issue a warning if the correct number of recommendations could not be provided.
      Remove CalculateTopRecommendations() function, because it was only called once.
      The very large and dense 'mask' matrix is now unnecessary.
      No! The spaces were WRONG!
      Remove Query() function as it is only used once; inline it into
      Remove method that allows modifying the data matrix, because references can't be
      Clean up CFTest, and fix some comments that were wrong.
      Add convenient function to get sparse matrix.
      Add a ridge regression test case (huh, I wonder how I forgot to check this in
      Add a test to make sure the output of the CF object is reasonable.  I think this
      Clean up main executable; a bit of const-correctness pedantry, and don't use
      Fix comment (thanks Marcus).
      Build the CF test.
      Build CF module.
      When --query_file is specified, only give recommendations for those users.
      Remove options for output files that weren't being used, and comment out options
      Better comments for unimplemented functionality.
      Actually use number of recommendations and size of neighborhood in calculations.
      More comprehensive documentation on options and input/output formats.
      Refactor EMFit<> so that the covariance constraint is a template parameter, and
      Make function static.
      Add tests for NoConstraint and PositiveDefiniteCovariance.
      Rename PositiveDefiniteCovariance to PositiveDefiniteConstraint, because I think
      Update name of constraint class.
      Oh hey, I have to check this in too.
      Add DiagonalConstraint.
      Add test for DiagonalConstraint.
      Add EigenvalueRatioConstraint class for EMFit.
      Add test for EigenvalueRatioConstraint.
      What, how did I miss this?  I definitely built the test and checked it...
      Remove fake functions that should only be specific to the kd-tree.
      This is premature; wait for this until later.
      If the root node ends up having an implicit child (not an illicit child!),
      Remove unnecessary functions that were originally for kd-tree compatibility.
      Handle cases where the reference map is empty a little better.
      Overhaul RASearchRules so that they will work correctly with cover trees.
      Test RANN with cover trees.
      Add a note that this does not work.
      Do not compile MVU.
      Fix some comments.  No functionality change, and also this was probably
      Yeah, it makes a difference to inline the BaseCase function (#281).
      Force inlining (#281).
      Backport batch insertion constructor to Armadillo < 3.810.0.
      Remove backporting for versions earlier than 3.6.0 because that's just not
      Oh, right, update the least maintainable part of the entire build system that I
      Update copyright file to include new contributors.
      Update citation.
      Update changelogs.
      Minor updates for normalized kernels.
      One more thing...
      Update to latest version number.
      Widen tolerances slightly.
      Move DTBStat into a separate file.
      Add Epanechnikov kernel for kernel PCA.
      Allow GMMs to be trained using the existing model as a starting point.  This
      Add tests for estimation with the existing model as the initial point.
      Add logistic regression directory.
      Initial commit of logistic regression by Sumedh Ghaisas (#305).
      Add some comments and fix a little bit of formatting.
      Rename LogisticRegressionFunction to LogisticFunction.
      LogisticFunction is incorrect; it's actually the objective function for logistic
      Refactor Evaluate() function so that it works alright, and eliminate unnecessary
      Add test for LogisticRegressionFunction::Evaluate().
      Oh yeah, this is necessary...
      Add a randomized test for the logistic regression likelihood function that is
      Add test for regularization of objective function.
      Add test for Gradient().
      Add correct implementation of Gradient() function.
      Make Gradient() const and add comments.
      Add some comments.
      Remove getSigmoid() and add class documentation.
      Break Predict() instead of the whole build.
      Revamp Evaluate(parameters, i) for SGD and related optimizers.  NumFunctions()
      Add test for Evaluate(parameters, i) for SGD and related optimizers.
      Test regularization for separable Evaluate().
      Update Gradient() for the separable case.
      Test Gradient() in the separable case.
      No need to multiply by responses[i] or (1 - responses[i]) because those
      Add test for regularization in Gradient().
      Add a test for the separable Gradient() function.
      And this is why I hate maintaining documentation for things that I don't
      Remove memory leak (#310).  Thanks to bianjiang for pointing this out.
      Don't print "Iteration X of 0."; just "Iteration X".
      Refactor functions so that they do not expect the extra column of ones for the
      Refactor tests so that they do not give the extra column of ones for the
      Make predictors and responses const.
      Make predictors and responses const.
      Don't hold lambda in LogisticRegression because it isn't necessary.  Also make
      Refactor LogisticRegression class.  LearnModel() can be private, and we can
      Add tests for actual LogisticRegression object.
      Goodbye, slightly misleading documentation.
      Add function to get the function that is being optimized.
      Add function to get predictors and responses.
      Add a constructor that allows passing an instantiated optimizer.
      Test constructor that takes an instantiated optimizer.
      Update history file incrementally, because doing this all at once at release
      Add FurthestPointDistance() function.
      Test BinarySpaceTree::FurthestPointDistance().
      Implement FurthestPointDistance() for cover trees.
      Regularization gets subtracted, not added.  Thanks to Sumedh for pointing this
      Update test for positive regularization... oops...
      Clarify comment.
      Remove predictors and responses because they don't need to be stored by the
      Don't hold the optimizer and error function since they are only needed at
      Add main executable for logistic regression.
      I don't remember doing this, and I have no idea when it was, but hey, using
      Add information so a version can be obtained easily during runtime and also at
      Some documentation on versioning information.
      Oops, a typo.
      Link to tutorial on versioning information in core.hpp.
      Update so that it gets compiled into libmlpack.so.
      CMake script to create svnversion.hpp, if needed.
      CMake scripts to find and update svnversion.hpp, if necessary.
      Fix dependency on stringstream.
      Safe check for if we are in an svn repo.
      Remove redundant check for working copy.
      Add svnversion.hpp to list of sources to track, if necessary.
      Fix error so that core.hpp is properly included.
      Ignore svnversion.hpp.
      Update copyright for the new year.
      Add Mudit's name to the list of contributors.
      Increase precision of saves.
      When using the constructors that don't specify a model, make sure we create an
      svn:ignore --> 'build*' in case you have multiple build directories.
      This wasn't actually calculating the variance correctly.
      Handle cases where scales are 0 correctly.
      Pull in updated history from version 1.0.8.
      Ticket #314 resulted in a bunch of useful changes.
      Fix from Michael Fox for #242.
      Add tests when the data matrix has linearly dependent features.
      Add new contributor.
      Fix spacing.
      Add CMake configuration for LRSDP, and split it properly into cpp/hpp/_impl.hpp
      Don't make an extra line when indenting things.
      convert << util::Indent(probabilities);
      Add new contributor.
      Update ToString() for all kernels except the PSpectrumStringKernel.
      Update so filename is like other filenames.
      Remove license, that doesn't get applied until a release (until then it's
      Inline non-templated constructor.
      Update documentation (thanks Yubao).
      Fix documentation (#321); from Siddharth.
      Fix collaborative filtering test (#323).
      Add a boolean specifying whether or not the dataset is rearranged when the tree
      Cache the distance from the center of the node to the center of the parent node.
      Test BinarySpaceTree<...>::ParentDistance().
      Also test ParentDistance() in the case where the tree is built and mappings are
      TraversalInfo, a new idea for doing things.  This will need to be further
      TraversalInfo class used by nearest-neighbor-like problems.  Maybe it could be
      Change build to include ns_traversal_info.hpp.
      Add traversal_info.hpp to build system although I don't think it's used
      Make rules classes for various dual-tree algorithms support (but not use) the
      Minor changes to SortDistance().
      Overhaul NeighborSearchRules to work correctly with TraversalInfo objects.  This
      Modify SortDistance() usage because SortDistance() API has changed slightly.
      Modify BinarySpaceTree::DualTreeTraverser to properly handle TraversalInfo
      Modify CoverTree::DualTreeTraverser to properly handle TraversalInfo objects.
      Adapt SortPolicyTest for new API.
      Remove unused score variable; this fixes a lot of warnings.
      Patch from Siddharth for #324.
      Remove license text.
      Slight code formatting modifications.
      Don't initialize empty distributions.
      Remove unnecessary newlines from after mean and covariance output.
      Actually print the kernel.
      Minor fixes to ToString().
      Minor fixes to ToString().
      Minor changes to ToString().
      Minor changes to ToString().
      Minor fixes to AugLagrangian ToString() methods.
      Move things around so LRSDP can actually be included in stuff.
      Some updates to what has been going on (lots of things!).
      Ah, right, one more thing.
      Minor changes to ToString() output.
      Minor changes to tests; in some cases matrices/vectors are now initialized so
      Remove PeriodicHRectBound (#30).
      Remove this file too...
      Remove PeriodicHRectBound from tree tests.
      Denote that we removed PeriodicHRectBound.
      PeriodicHRectBound is removed (#30).
      Revert commit by unknown contributor.
      Test commit
      Revert test commit.
      Update citation format.
      Fix from Siddharth, fixes #324.
      Add new contributor.
      Fix formatting and fix contributor information.
      Didn't mean to check in arma_traits.hpp...
      Oops, forgot to check in this change from Siddharth.
      Example tree.  Not really to be used, but for documentation.
      Refactoring from Saheb: don't do naive search with trees.
      Add new contributor.
      Clean up RangeSearch implementation so it works with TraversalInfo struct.
      Use TraversalInfo for FastMKS.  Right now, the parent-child prune is not
      When the parent-child rule can't be applied, the correct bound wasn't being used
      Do child-parent and parent-parent prunes correctly for FastMKS.  This actually
      Update the line about dual-tree algorithms being faster.  'cause they are.
      The Prescore() and PrescoreQ() functions aren't used anymore because I figured
      Patch from Saheb: do actual naive search for RangeSearch and NeighborSearch
      Add some Armadillo traits for template metaprogramming.  This abstraction may
      By default, include arma_traits.hpp.
      Refactor MinDistance(), MaxDistance(), and RangeDistance() to accept any
      Refactor MinDistance(), MaxDistance(), and RangeDistance() to accept arbitrary
      Having an implementation for the example tree is kind of a dumb idea.  Also make
      Clean up some namespacing, and add a test for sparse AllkNN using kd-trees.
      Templatize arguments for BestPointToNodeDistance().
      Refactor NeighborSearch so it works with arbitrary TreeType::Mat types.  That
      No more implementation.
      Stop timers correctly when Log::Fatal is called (or when Load() or Save() return
      Rank is not yet a parameter, but this heuristic from Siddharth improves upon the
      Fix mixup of rows and columns.
      Widen tolerances ... again.
      Patch from Siddharth: make the rank parameterizable, and merge the constructors
      Update for changed CF API (patch from Siddharth).
      Some changes to LaTeX options in the Doxyfile.
      Explicitly use namespace mlpack::neighbor.
      Remove using directive that has been there for six years.  Sigh...
      Remove numPrunes -- it isn't used.
      The maxLeafSize parameter is unused (other than an assert) so remove it
      Initialize uninitialized variable (#336).
      Remove numberOfPrunes variable, and initialize baseCase (#336).
      Patch from Siddharth: templatize CF to accept arbitrary types of factorizers.
      Fix regression in r16308, which slowed down cover tree traversals by potentially
      Actually use the right parameter name.
      Ok, handle NaNs correctly, and also check this in in trunk, not in the tags...
      Remove incorrect comments.
      Better rule, which forces the score to 0 for AllkNN.  Not sure if it'll work for AllkFN.  Also, I think there may be a bug in the traversal info handling for the BinarySpaceTree DualTreeTraverser.
      What was I thinking?  This is a _far_ better solution than r16359.
      Modified patch from Saheb for #301; this unifies the constructors for
      Fix to go with patch from Saheb... forgot to check this in earlier.
      Make the ExhaustiveSyntheticTest use kd-trees with a leafSize of 1.  This
      Oops, use single-tree for the second iteration.
      Through the magic of regular expressions, I've refactored this test to use
      Update documentation to reflect changes in RangeSearch.
      Add new contributor.
      Make parameter const because const-correctness is a good thing.
      Don't use the SquaredEuclideanDistance.
      Don't use the squared Euclidean distance.
      Fix minor error that I didn't correct last time.
      Refactor LRSDP into the main class and a separate function (LRSDPFunction).
      Better ToString() output.
      Annotate changes to LRSDP.
      Add new contributor.
      Whatever bug used to be here before isn't here now.
      Use const reference parameter so it works with temporaries too.
      Doxygen fix so that local paths aren't included in the built documentation.
      Actually catch all of the instances where single quotes start lines.
      Patch from Siddharth for #342.
      Document API change in an attempt to piss people off less when their programs
      Clean up implementation of GetRecommendations().
      Update documentation due to API change.
      Spelling fix; thanks Barak!
      Patch from Saheb for #301; refactor RangeSearch constructors so that leafSize is
      Modify test for new RangeSearch API.
      Add rank parameter.  This might not be applicable to when we have other
      Minor documentation fix, and sometimes the labels need to be transposed.
      Don't transpose the labels upon loading; expect that they are going to be one
      Get the number of classes correctly.
      Don't transpose on save; one point per line.
      Overhaul implementation; do not use gmm::phi().  This gives serious speedup, as
      Adapted patch from Vahab for #344: incremental algorithm for variance
      Test incremental variance functionality.
      Change to two-pass algorithm suggested by Vahab in #344.
      Add new contributor.
      Add sparse autoencoder contribution by Siddharth.  This is the version given in
      Add test for sparse autoencoder, contributed by Siddharth.
      First pass: add file headers, include guards, and then my vimrc auto-stripped
      Minor (and ultimately trivial) documentation changes; add documentation for
      Syntax cleanup; just some spacing.  No functionality change.
      Adapt test to work in the larger framework of mlpack tests.
      Simple style changes; no functionality change.
      CMake configuration to compile sparse autoencoders.
      Build sparse autoencoder as part of mlpack.
      Test sparse autoencoder.
      Remove unused variables to fix warnings.
      Change Sigmoid() function to avoid matrix copies via the return value.
      A better fix for the failing build.
      Revert accidental commit.
      Rewrite NMFALSTest so that random failures should be less likely.
      Const parameters will cause this to be two billion times faster.
      Fix comment and clarify that it's pertaining to the runtime constructor, not the
      It turns out the implementation of FurthestPointDistance() was just wrong.
      The test for FurthestPointDistance() was wrong also.
      Add new contributor.
      Remove the Pelleg-Moore k-means implementation; it is being replaced.
      Remove HasParentDistance trait, becase it wasn't used anywhere.
      Don't select points from clusters of size 1.
      Ensure that BaseCase() is called right after a node is scored.
      It's no longer reasonable to say the FASTLab developed mlpack, because first,
      What was this macro even for?
      Refactor core.hpp into two files; one for non-mlpack includes, and one for everything else.
      Use prereqs.hpp to avoid weird include order dependency issues.
      Use prereqs.hpp instead of core.hpp; core.hpp is required for the implementation, though.
      Include stdint, for uint32_t support.
      Use prereqs.hpp instead of core.hpp; however, the implementation requires core.hpp.
      Fix header guard names.  This is an incredibly pedantic fix.
      Remove unnecessary includes.
      Trivial spelling fix.
      Typo which causes a segfault.
      Oops, this actually happens in two places.
      Inline the simple R tree descent heuristic.
      Remove leafSize parameter from DTB constructor.
      Fix #334 by ensuring vector accesses don't go out of bounds.
      Link against libstd++ when using Clang, and also use -Wall.
      Fix for convergence, because sometimes the residue may increase (especially with
      Make a note that this set of update rules often creates lots of NaNs when sparse
      Significant refactoring of NMF tests.  The sparse tests were generally invalid
      Remove backup file from emacs or some other inferior editor that isn't vim.
      First pass: comment standardization, fix header guard names, move .cpp to .hpp
      Use bool instead of int.
      Minor changes to test.  const-correctness and comment normalization for Doxygen.
      Use const double where possible instead of having a variable used throughout the
      For clarity, use separate split and binLabels objects instead of storing the label in the split matrix.  No casting is necessary anymore.
      Remove unused variables.
      Oops, missed one unused variable.
      Remove classLabels; it isn't necessary for the DecisionStump class to hold it.
      Easy fix for #355.
      Document minor fix.
      Remove oneClass and defaultClass variables.  There is a shortcut that can be taken when all the labels are the same, but the Entropy() function does not appear to be working correctly.
      Very simple change to fix build on i386.
      Initial commit of simulated annealing optimizer from Zhihao Lou.
      Minor refactoring for brevity.
      Move LaplaceDistribution to mlpack::distribution and expand upon it, but then
      Create separate target for moving mlpack headers.  This should fix #322.
      Remove now-unnecessary include.
      Remove documentation for MoveDistributionType.
      Rearrange parameters -- maxIterations is probably the most likely to be changed, and also maxIterations tends to be the first parameter for other algorithms.
      Rename parameters, clean up documentation; very minor tweaks.  No functionality changes.
      Refactor to avoid holding variables in the class itself (reduces the size of SA a bit).  Remove an unnecessary variable too.  Minor changes, no public API changes.
      Add comments to private functions in header file.
      Explicitly use arma::sign().
      arma::sign() doesn't exist in Armadillo pre-3.920.
      Why was svn:ignore set for cf.cpp?  Removed.
      svn:ignore build directories.
      Minor cleanups; no functionality changes.  Make some things const where
      Set default CoolingSchedule.
      Add some more tests for simulated annealing, including a highly nonconvex
      Refactor tree construction so that arbitrary tree types can be constructed.
      Refactor tests, use BOOST_REQUIRE_EQUAL(), and add a test for EMST using cover
      Oops, I did not mean to comment out the sparse k-means test.
      Bump minimum required Boost version to 1.49 for boost.heap.
      Split RAQueryStat into its own class.
      Refactor RASearch so that it does not accept a leafSize parameter and can build
      Fix constructor calls, and automatically construct a cover tree with the default
      First pass -- move files to match naming policy, change initialize() to
      Minor formatting changes according to the style guide (mostly, I think?).
      Minor refactoring of AMF class; mostly renaming for consistency and
      Trivial spacing fixes.
      Rename for slightly changed API.
      Move warning to prereqs.hpp, because sometimes prereqs.hpp is included and
      Don't include <armadillo> explicitly, because <mlpack/core.hpp> does that
      Add new contributor.
      Note that we now have simulated annealing.
      Don't include <armadillo> before <mlpack/core.hpp>.
      Disambiguate: math::RandomSeed() -> mlpack::math::RandomSeed().  Issue noted by
      Patch from Zhihao: sa_update.diff.
      Return the correct type of the matrix, because it isn't necessarily dense.
      clang complains when default parameters aren't part of the original declaration.
      Add support for HMM initial states.  Slight modification of API for creating
      Test HMM initial probabilities.
      Document that #315 is fixed.
      Fix some formatting, fix backwards entropy splitting, add getters/setters, and
      Another test to make sure the correct splitting attribute is used.
      Include mlpack/core.hpp.
      Const-correctness and 80-character lines... very trivial fix, no functionality
      Fix some formatting issues; no functionality change.
      Use bool instead of int for tracking convergence.
      Don't use arma::unique() because it's slow.
      Very minor changes.
      Lengthen comments that weren't 80 columns long.  This may be the most trivial
      Add MinimumBoundDistance().
      Fix elusive bug that only occurred in particularly rare situations.
      Add MinWidth(), which is a better solution than having the tree calculate it by
      Test MinWidth().
      Use the bound's cached MinWidth() for MinimumBoundDistance().
      Use slightly safer Width().
      Oops, this needed to be divided by 2.
      Simple style changes for consistency.
      Rename executable.
      Refactor main executable.  Some further refactorization will need to be done
      Rename executable.
      The size parameter is unused outside the constructor; also, commit this change
      Actually calculate score and base case for first node combination.
      Comment normalization.
      Refactor to be stricter with types (arma::Col<size_t> instead of arma::vec).
      Point out that there is a known bug.
      Some notes on some things I've done.
      Additional things that have changed.  I incorrectly wrote in the last commit
      Ball tree tests for EMST.
      Initialize reverseStepCount to 0 to avoid memory issues.
      Fix an uninitialized value.
      Increase tolerances a little bit, because they were failing in some cases.
      For each random dataset, ensure that the size of the implied user/item matrix is
      Patch from Sumedh: fix some uninitialized values.
      Patch from sumedh: Mat::row_col_iterator
      Patch from Sumedh: more tests for SVD
      Patch from Sumedh: tests for row_col_iterator
      Propagate HISTORY.txt change to trunk.
      Update documentation.
      Propagate documentation fixes to trunk.
      Merge in changes from release branch.  I guess I should have done all this
      Fix warnings.
      This warning only appears on i386.
      Fix botched LaTeX formula.
      Set date of release.
      More comprehensive tests.
      Fix typo.
      Don't do base cases before recursing.  This is slightly cleaner code and will
      Extremely minor changes.
      Refactor KMeans so that the actual Lloyd iteration step is separate, since there
      Add some comments.
      Refactor test for changed API.
      Further refactoring of KMeans.  Fix MaxVarianceNewCluster, and also change it so
      Fix changed API.
      Explicit cast for older versions of Armadillo.
      Explicit cast to arma::vec for old versions of Armadillo.
      Yet another reverse-compatibility fix for Armadillo.
      Return statements for operator++() and operator--().
      Fix out-of-order initialization warnings.
      Fix error in random sample generation.
      Add LaplaceDistribution to the list of default-ly included distributions.
      Minor code cleanups.
      Remove duplicate declaration of ReadFile() to fix the failing build.
      Remove const identifier since it gets ignored and throws a warning.
      Minor formatting changes for row_col_iterators, mostly to adhere to the
      Test sparse iterators, when we can.
      Fix incorrect check (how did this happen?).
      Oops, I fixed this backwards.  The actual error is the output.
      Add header comments and clean up BiBTeX citation a bit.
      Add header comments, fix header guard naming to be in line with the rest of the
      Add some const and fix some formatting.
      Change names of functions.
      Some formatting fixes.
      Simplify a matrix calculation.
      Set ARMA_USE_U64S64 in hopes that the types of problems Gilles is having on the
      Return *this for operator--().
      Fix odd tabbing issue.
      First pass: make lines 80 characters long, tabs to spaces, and bracket surgery
      Typing failure.
      Don't add row_col_iterator support after 4.349 (currently svn trunk) since
      When Conrad took the patch, he stripped out a lot of compatibility between
      First pass: make things 80 characters, minor style fixes.
      How did I accidentally remove two lines?  I'm not actually sure.
      Minor formatting change, and use zeros() instead of fill().
      First pass: try to make things 80 characters (I didn't touch the big long type
      Typedef to the rescue!  Much easier to read now.
      Simplify some loops.
      Significant test refactoring for style.  Also, use BOOST_REQUIRE_CLOSE and
      Use templates to significantly simplify code and remove multiple versions of the
      First pass: make it 80 characters, fix a few coding conventions.  No real
      First pass: line length, bracket surgery (similar to rocket surgery).
      First pass on R* tree split code; make things 80 columns, use convenience
      Some brackets and stuff like that.
      Only depend on automatic linking when MSVC is used, and prep for OpenMP support.
      Add HRectBound<>::Volume() and a test for it.
      Clarify some difficult ternary operator operations (the compiler should give
      Revert most of r17065, since my testing was actually on the R* tree and not on
      Inline HRectBound functions.  Minor to negligible speedup, but certainly no
      arma::prod is faster, in this case.
      Avoid math::Range copy, although realistically gcc should be avoiding that
      Simplify methods a little, and use int& instead of int*.
      Don't use auxiliary structures; find the best node with O(1) storage.  Minor
      Formatting fixes for GMM conversion utility.
      Remove trailing spaces thanks to vimrc, and fix comment correctness.
      Spacing issues and remove apparent debug output.
      Standardization of comments for doxygen.
      Comment normalization for doxygen, and remove no-longer-relevant comment.
      Convert tabs to spaces.
      Convert tabs to spaces.
      Resurrect Phi tests from gmm_test.cpp.
      I forgot to add Udit to the list of contributors!
      A first draft of a smarter FindArmadillo script, which takes into account
      Be quiet when finding things so as to not duplicate output.
      Use FATAL_ERROR instead of FATAL.  Also find ARPACK quietly.
      Display base cases and scores for single-tree mode.
      Refactor CalculateBound() and improve to fix regressions noted in #365.  This
      Correctly handle SortPolicy abstraction.
      Workaround for the fact that BallBounds may have larger furthest descendant
      Minor formatting changes.
      Forward-port fix for usage of log2().
      Note that the Armadillo code is MPL-licensed.
      Backport another sparse matrix constructor for softmax regression.
      Update HISTORY.txt.
      Switch int to size_t in order to fix a very large number of warnings.
      Fix some more signed/unsigned comparison warnings that I introduced with the
      Fix even more warnings that I've introduced.
      I fixed a little bit, but I know this doesn't fix everything.
      Comment out XTreeTraverser test for now as per #368.
      Add comment pointing out that there is a bug.
      Move MAX_OVERLAP to be a member in the mlpack::tree namespace to fix errors on
      Add explicit declarations of template function specializations for linker fixes
      Tabs to spaces.
      Spacing and line length fixes.
      Fix a couple bugs pointed out by Francois Berrier: SGD isn't actually shuffling,
      Refactor k-means significantly.  Remove overclustering since I think nobody is
      Implement Elkan's algorithm for k-means (it's pretty fast).
      Remove comment about overclustering.
      Remove references to overclustering from tutorial.
      Refactor test to remove overclustering parameter.
      Update and clarify build tutorial, since DEBUG and PROFILE are OFF by default in
      Refactor for different KMeans API.
      Refactor for API change... forgot to check this one in.
      Add a warning if the user wants 0 clusters, because the thing is probably going
      Explicit std::sqrt() call.
      Add implementation of Hamerly's algorithm.
      Refactor input arguments so --algorithm is an accepted parameter, which provides
      Refactor ElkanTest and add a test for Hamerly's algorithm.
      Fix distance calculations, and fix residual calculation.
      Fix a bug; now this algorithm is much faster.
      Add Pelleg-Moore k-means.  This implementation is faster and prunes more tightly
      Add test for Pelleg-Moore k-means clustering.
      Refactor: only track distanceCalculations, not scores and baseCases.  Also
      Clean up an unnecessary sort, and remove spareBlacklist.
      Comment the Rules class a little better.
      Better comments for the PellegMooreKMeans class.
      I suppose we should exercise at least some caution in the destructor.
      Don't ignore distance calculations during cluster-moving calculations.
      Force C++11 support for future versions of mlpack.  I wouldn't be surprised if
      Allow std::cout << mlpackObject, as per #319.
      Test std::ostream << mlpackObject.
      Now we have C++11, but there's no constructor copypasta problem anymore.
      Oops, include ostream_extra.hpp.
      A prototype algorithm for k-means clustering, which probably works best when k
      A test for the DTNN k-means algorithm.
      Safer includes, for the situation where the user does something not smart.
      Yet another instance of me failing to commit all my changes.  Add a BaseCases()
      Fix a bug that meant that centroidsOther was copied only when it shouldn't have
      Properly handle the case where the tree doesn't rearrange points -- like the
      Add test for CoverTreeDTNNKMeans.
      Make the Mahalanobis distance a true metric by default.
      Fix -Wreorder warnings after reordering of data members in class declaration.
      Minor formatting changes and streamlining of Armadillo expressions.
      Minor formatting fixes: tabs->spaces, etc.
      Minor spacing fix.
      The const gets ignored (-Wignored-qualifiers).
      Fix use of uninitialized value; this should help segfaulting SVDBatch tests.
      Increase number of samples and give debugging output, in order to try and track
      Fix logistic regression tests by enforcing a tighter tolerance for SGD
      This is an experimental method that I am working on.  Right now it is not very
      Add DualTreeKMeans files to CMakeLists.txt.
      Add DualTreeKMeans as an option to the kmeans program (and also DTNN with cover
      Add a simple test for DualTreeKMeans.
      Be explicit with calls to arma:: functions.  Although gcc accepts this as-is, we
      Add a semi-hackish breadth-first traverser.  The tree abstractions will need to
      Add breadth first traverser.
      Here's the file I forgot -- include the BreadthFirstDualTreeTraverser class
      Use FATAL_ERROR instead of FATAL, so that CMake will actually crash when C++11
      Refactor code for better comments and better adherence to coding conventions.
      Fix incorrect class name.
      Refactor Elkan-type prune into its own method, for simplicity.
      Add Pelleg-Moore type prune.  This improves performance -- at least a bit.
      Loosen tolerance until a better solution is devised (currently I am waiting on
      Remove debugging random seed.
      strlen() returns the length of the string but you must account for the null
      If gradient2 or gradient1 are zero, then BOOST_REQUIRE_CLOSE will fail, so use
      Not sure how I missed this spelling error...
      Smarter handling of HDF5 dependency search, especially for Debian systems where
      The calculation here was actually incorrect.
      Refactor CountMostFreq() so it is faster, simpler, and doesn't sometimes return
      Better handling of the weird case when includes are needed but the library isn't.
      Slightly loosen tolerances for NMF tests.
      Fix -Wunintialized, reported by govg.
      Pedanticism: return a value at the end of main().
      Nope, turns out I am wrong.  C++03, C++11, and C++14 all assume a program
      Fix uninitialized memory issue (dsPredictions was never set).
      Don't test on Armadillo 4.300.0 through 4.400.x because there is a bug in
      Issue a runtime error if the user is using Armadillo 4.300.x through 4.400.x and
      Refactor GeneralizedRosenbrockTest to deal with intermittent failures better.
      Refactor for cleaner code and avoid storing WH explicitly if possible.
      Minor code cleanups.
      Somehow this never got added to the CMakeLists.txt.
      Remove debugging output.
      Refactor test with negative elements to decompose the random matrix into its
      Disable C4519 errors entirely.
      Include prereqs.hpp for compiler definitions and adjustments.
      Disable C4519 in prereqs.hpp not core.hpp.
      Handle setting seed properly for Armadillo RNGs past 3.930.
      Significantly shrink size of test dataset because this test was taking 10
      Fix memory leak.
      Widen tolerance slightly.
      Widen tolerance slightly.
      Widen tolerances slightly.  Maybe this test scheme isn't the best?
      Check frobenius norm overall instead of just for one element.
      Comment out NoCholeskySingularityTest in accordance with #373.
      Reduce noise slightly and increase dataset size, which will slow down the test
      Tighten convergence tolerance for RastrigrinFunctionTest, since it doesn't seem
      Slightly loosen tolerance.
      Better handling of small gradient values.
      Minor tolerance widening.
      Accidentally checked in unstable code.
      Slightly widen tolerance.
      Handle negative gradient values correctly.
      Fix convergence criterion according to Nishant's suggestion.
      Loosen tolerance a bit, since it seems to fail once in a while.  It's definitely
      Tweak SGD parameters a little bit.
      Remove random seed to make test reproducible.
      Widen tolerance for norm difference, and tweak parameters a little bit.
      Minor style fixes.
      Use maxIterations for Newton method loop instead of nested Armijo line search.
      Fix memory leak, although I'm not sure it's responsible for the i386 failures.
      Adjust tolerances.
      The failure probability is already small, but not small enough it seems.
      Better handling of Armadillo configuration files, since ARMA_USE_HDF5 may appear
      Update with 1.0.11 release notes.
      Update notes; more has since been added to the k-means code.
      Merge changes to mlpack-1.0.11 tag.
      Why did I merge that change in?  It broke everything.  Revert...
      Slight readme update to point to main website.
      Merge pull request #5 from ajkl/master
      Merge pull request #362 from stephentu/sparselrsdp
      Merge pull request #371 from stephentu/master
      Merge pull request #372 from stephentu/testcase
      Merge pull request #373 from stephentu/testsensing
      Change to BSD license from LGPL.
      Switch to BSD from LGPL, and update a few things.
      Remove extraneous licensing information.
      MLPACK -> mlpack.
      Update version number as a bit of a workaround.
      Fix failed build.
      Remove Covariances() and Means(); fixes #346.
      Add -lm for failing clang build on some systems.
      Comment out parameter name instead of (void)ing it.
      Comment out parameter name instead of (void)ing it.
      Style fixes (trivial).
      Add header guards.
      Fix all -Wunused-parameter.
      Don't initialize random seed in test.
      Fix -Wunused-private-field.
      Remove MRKDStatistic; its functionality is gone.
      Merge pull request #376 from stephentu/master
      Minor style changes.
      Merge pull request #374 from stephentu/matrixcompletion
      Minor style issues.
      Some changes for the sake of Doxygen.
      Style fixes: capitalize method names.
      Probably needless const-correctness.
      Add some backtracing output to CheckValues().
      Asleep at the wheel?
      Merge pull request #383 from stephentu/pgo
      Merge pull request #382 from stephentu/master
      Merge pull request #384 from rcurtin/tracedot
      Update history with recent changes.
      Merge pull request #389 from uditsaxena/master
      Fix spacing for include warning.
      Minor syntax fixes.
      Minor syntax fixes.
      Update bug tracker to Github.
      Merge pull request #390 from stephentu/master
      Properly handle old Armadillo versions.
      Merge branch 'ip' of https://github.com/stephentu/mlpack into stephentu-ip
      Merge branch 'stephentu-ip'
      Refactor to access SDPs through LRSDP::SDP().
      Better commenting of the SDP class.
      Slight code cleanups for style.
      Merge pull request #398 from jaskaran1/master
      Refactor notice about LD_LIBRARY_PATH.
      Add new contributor.
      Merge branch 'master' of https://github.com/jaskaran1/mlpack into jaskaran1-master
      Merge branch 'jaskaran1-master'
      Fix documentation, thanks to Squalluca.
      Revert "older versions of arma do not support unary minus on sparse matrices"
      Remove tab character.
      Backport operator-(sp_mat) for Armadillo <= 4.000.
      Standardize name of test suite.
      Fix syntax.
      We're not using Java.  There's no need for new.
      Fix #400 -- remove unneeded specializations.
      Fix documentation; thanks to Kumar.
      Fix minor misspelling.
      Code cleanup; better documentation.
      Fix stray forward-slash.
      Refactoring.
      Fix incorrect variable name.
      Refactoring and code cleanup.
      Remove unneeded semicolons at end of namespace.
      Code cleanup.
      Refactor and code cleanup.
      Suppress non-bad warnings; they confuse people.
      Force high-precision Armadillo saves.
      Merge pull request #407 from hritik25/patch-1
      Merge pull request #409 from apir8181/issue-344
      Non-important spelling and style fixes.
      Merge pull request #408 from VladimirGl/Issue#203
      Merge pull request #411 from VladimirGl/master
      This isn't warning output.  Make it "info" instead.
      I've concluded that this test isn't useful.
      Merge pull request #410 from VladimirGl/randoms
      Remove references to Boost.Random.
      Armadillo 3.930+ supports inplace_trans() too.
      Fix documentation, pointed out by Marcus.
      Add new contributors.
      Merge pull request #418 from apir8181/issue-332
      Add new contributor.
      Trivial spelling fix (why am I even bothering?).
      Change API slightly to match other code.
      Note that softmax regression is done.
      Fix commenting before patch application.
      Refactor to perform allknn on the clusters. This is done at the start of each iteration. This allows Elkan pruning without an additional distance calculation.
      Fix all -Wunused-parameter.
      Perform the top-level scoring too.
      Some fairly serious refactoring, but it works.
      Use ClosestQueryNode() not MaxQueryNodeDistance(). Eventually MaxQueryNodeDistance() will not be reset to DBL_MAX every iteration.
      This output is less useful right now.
      Don't accidentally take results before finished. We have to wait until all clusters are pruned, not all except one.
      Avoid calculating distances after an Elkan prune. Slight, nearly negligible performance gains.
      Don't calculate MaxDistance() unless we have to. Fairly significant time savings on this one.
      Count the base cases and scores of the kNN run.
      Remove unnecessary check; that can never happen.
      Try to do an Elkan prune not at a query leaf. It doesn't seem to work right now, though.
      Fix warning for unused parameter.
      Fix typo, which actually gives a speedup. A fairly trivial speedup, but a speedup nonetheless.
      Set FirstBound() after the allknn. Now, checking if FirstBound() == DBL_MAX is unnecessary, although this doesn't (yet) seem to give any additional prunes.
      Update FirstBound correctly. Trivial speedup.
      Elkan pruning can't prune the best query node. Bugfix. Trivial slowdown.
      New stub method for (hopefully) good Elkan prune. This allows us to prune without even needing to recurse.
      Oops, bad parameter name.
      Rename to Hamerly-type score. Because that's what it is. Although Elkan's algorithm has a type of score that's sort of like this, it's Hamerly's algorithm that only keeps track of the second-closest cluster distance, and that's what we're doing here.
      Add second bound.
      Fix invalid memory access.
      Avoid uninitialized owner field.
      A first attempt at a working Hamerly prune. The bounds tighten too much and don't reset, so there's not much speedup, but it's a start.
      Add debug output; don't adjust second bound. This provides another minor speedup, but this still is nowhere near as fast as it should be with a properly working Hamerly prune.
      Handle SecondClosestBound() a little better. Debugging information is still there, and it is going to need to be seriously refactored. We still don't have properly working Hamerly prunes; they go away after a couple iterations incorrectly.
      Be more careful about when to take the last SCB. This gives a trivial speedup, but hey, speedup! Hamerly prunes are still not working properly, but I'm getting there.
      Remove unnecessary check for parent's SCB. There actually isn't a need to take the parent's second closest bound preferentially, and it was preventing some valid prunes. This gives a little more (but not enough) Hamerly pruning, and provides (as usual) trivial speedup---but more than none!
      Um, I made it faster. We're well into the land of confusion. Confusion will reign until eventual refactoring. Hamerly prunes still don't appear to be working properly after a couple iterations.
      Comment out most of the debugging output. It still shows you what's been Hamerly pruned and what hasn't, which is what's important right now.
      Count number of points that are Hamerly pruned.
      Fix compilation warnings. secondClosest will eventually be removed but is commented for now.
      Unset Owner() after failed Hamerly prune. This is better than setting it by hand when we're checking if we can prune.
      Remove some debug output we don't need anymore.
      Don't set CQN to NULL before recursing. This was an error in TreeUpdate() that caused... some problems that I'm only vaguely aware of as problems. Also refactor one of the second bound rules and comment it so that it makes some semblance of sense.
      Fix second bound to not be the first bound. In some situations, MinQueryNodeDistance() was equal to SecondClosestBound(). This fixes that. This also resolves an issue where SecondClosestBound() wasn't properly updated after an Elkan prune.
      Last changes for a little while.
      I don't think this is worth saving. It also doesn't work very well, but I learned a lot about the bookkeeping I need to do.
      Refactor into UpdateOwner(), instead of an ugly loop at the beginning of TreeUpdate().
      Remove debug output; implement Pelleg-Moore prune. Now this is faster than the regular dtkm branch. Sometimes starting over is a good thing.
      Better speedups, provide more output on prunes.
      Add some debugging output. This makes it a bit easier to figure out what is going wrong.
      Correct Pelleg-Moore prunes that finish a node. There were cases where a Pelleg-Moore prune would happen before committing the point. This is actually getting pretty fast in terms of base cases, so I am happy with that (for once).
      Remove vestigial code. After all, this code isn't generated by genetic algorithms. (Maybe it should be?)
      A start at implementing pointwise Hamerly bounds.
      Shitty implementation of Elkan-type prune. It makes things faster... a little...
      Slightly tighter prune.
      Refactor to use new set of rules. How many times will I restart writing this algorithm until I actually get it working well?
      Add a StatisticType for DTNN.
      Revert back to one point per node.
      Refactor UpdateTree() to sometimes Hamerly prune. We aren't properly retaining pruned nodes between iterations, but this is definitely a start and it's basically as fast as any of these attempted algorithms I've written.
      More reasonable handling of bound updating. This speeds things up.
      Better handling of cover trees.
      Run NNS on the centroids. No prune yet.
      Apply another prune, but it isn't very effective. Maybe that's an artifact of the datasets I'm currently playing with.
      Cache mappings from new to old. Slows it down...? Not sure why there's a slowdown. Doesn't make much sense to me.
      Perform prunes on individual points. Significant speedup with respect to number of calculations, no real speedup for runtime. But there is still time to optimize it.
      Also use between-cluster-distance prune for points.
      No need to reset the bounds when un-pruning. They've been updated correctly all along, even when the node is pruned.
      Prune parents when children are pruned.
      Refactor: do tree update before kNN search. This will allow us to make tighter prunes.
      Recalculate upper bound before giving up on prune. This is done by Hamerly's algorithm and we obtain minor speedup as a result.
      Prune a node when all its points are pruned.
      Mark parent as pruned if its children are pruned.
      Force four-point leaves. This is generally faster than one point. More points are probably even better (to a point... hah) but that requires a large k.
      Refactor BaseCase() to apply mappings. This reduces memory usage.
      Refactor to re-use distances to clusters. This is better than setting the distances to DBL_MAX every iteration, and provides reasonable speedup.
      Use tighter bounds for distances. More speedup. Only increase the distances by the maximum amount those particular clusters could have moved.
      Use distances instead of upperBounds. Remove upperBounds entirely. Minor speed improvement (not 100% sure why).
      Refactor: remove unnecessary temporary.
      Refactoring to reduce runtime of tree update. It speeds things up in terms of distance computations too, a bit.
      Refactoring, and tighten a bound for minor speedup.
      Coalesce the tree before kNN. Speedup! This is a fairly significant speedup, actually.
      Compute max cluster distance after failed prune. This gives us another chance at a prune, and gives very minor speedup.
      Make the 'clustering' timer encompass everything. Including the tree building time.
      Allow autodetection of number of centroids.
      Update reference to Github.
      Use existing bounds, if we can.
      Try to keep the query and reference levels equal.
      Use default leaf size.
      Round four. Start over. This time, I proved that the algorithm is right before implementing it. This should help make debugging a lot easier.
      Test with regular kd-trees and cover trees. The test conditions for the cover tree need to be adapted a little bit.
      Handle cover trees. They don't have two leaves. This still won't work *quite* right for coalescing/decoalescing though.
      Refactor DTNNKMeans according to the new algorithm. Lots of stuff torn out. It'll go back in when the time is right.
      Make DTNNKMeans work again. Next up, tree coalescion. (Is that a word?)
      Do mapping correctly; handle cover trees right.
      Refactor to apply mappings earlier.
      Basic static pruning. Minor speedup.
      Fix a bug. And LastUpperBound() doesn't work. The bugfix speeds thigns up, too.
      Add static point prunes. Fairly significant runtime improvement.
      Avoid iterating over every point when pruned. Cache the amount the upper bounds and lower bounds must change when the node becomes unpruned.
      Coalesce and decoalesce the tree.
      Perform tree update at start of iteration. Cache some variables inside DTNNKMeans.
      Start applying prune on intercluster distances. Not quite done yet.
      Unmap intercluster distances (oops). Minor speedup.
      Don't perform cluster 1-NN unless we have to.
      Update lower bounds when possible. Surprisingly, no speedup anywhere?
      Prune nodes whose points and children are pruned. This gives significant speedup, and on my little test dataset, this is the fastest algorithm yet that I have created.
      Implement Rescore(). Minor speedup.
      Pre-emptive prunes. Potentially a slowdown. Not always, though, I don't think. I may revert this.
      A tighter, but random, prune. Minor speedup. Also add a commented-out check for the lower bounds, and fix a minor bug that screwed them up.
      Use one-leaf trees for better performance.
      Make the search *actually* breadth-first. Significant speedups result!
      More accurate counting of calculations.
      Fix a bug where we pruned too tightly. Provide a little more debugging output for errors, too (but this debugging is commented out by default).
      Make traversal depth-first in the queries. This results in less memory usage, and some amount of speedup.
      Always mark the owner. This fixes some unusual and unexpected floating point errors where the owner will not actually be set.
      An attempt at making things faster. Might work?
      Revert "An attempt at making things faster. Might work?" It didn't.
      Comment out failing tests; to be fixed shortly.
      Undef max first (thabks Joseph for pointing this out).
      Attempt 2: avoid min/max definitions.
      Minor cleanup of backtrace code; all style fixes.
      Don't include inside the mlpack namespace.
      Link mlpack against backtrace, but not everything.
      Include default unconfigured backtrace.hpp file.
      Update comments.
      Refactor CMake to get version info from git.
      Add a comment, and fix macro name.
      Refactor tests to eliminate random failures.
      Tiny misspelling fix.
      Reference Github ticket numbers, not Trac.
      Merge pull request #429 from HurricaneTong/latest
      Remove trash bloated not-working DualTreeKMeans.
      Rename DTNNKMeans to DualTreeKMeans.
      Fix uncommitted class name change.
      What?  What is this file?  Why is it here?
      Remove tab characters; use spaces.
      Preliminary refactoring of RangeSearch.
      Update links to Github.
      If we are using Armadillo 5+, ARMA_64BIT_WORD is implicit.
      Fix warning.
      Add Range::Serialize().
      Refactor and add Serialize().
      Add Serialize() to MahalanobisDistance.
      Clarify comments, fix accessors.
      Add BallBound<>::Serialize().
      Some serialization changes.
      Add arma_config.hpp so that it gets installed.
      Add Predict() method for predicting individual ratings.
      A struct is better here...
      Add a tutorial for CF.
      Remove unnecessary period.
      Fix filename.
      Add batch Predict() method.
      Remove 'metric' member; we can use it statically.
      Add header guards.
      Style overhaul, and clarify some comments.
      Style fixes for main file. Also give a bit of informational output when running.
      Specify namespace.
      Set radius in initialization list.
      Minor speedup.
      Fix -Wreorder and simplify AllkNN type.
      Fix merge failures.
      Adapt to new NeighborSearch API.
      Revert to older Armadillo syntax.
      Allow the dual-tree traverser to be changed easily.
      Refactor BinarySpaceTree to use instantiated splitter.
      Make sure the tree doesn't split on the same dimension over and over again when there's a tie.
      This wasn't actually mean split before.  Now it is.
      Oops, did not apply changes to other overload.
      Count base cases and scores correctly.
      Add a BoundTraits<> class for template metaprogramming.
      Refactor to use BoundTraits.  Remove nextDimension.
      Fix memory leak and bug.
      Add methods for counting distance computations.
      Refactor LSH.  Don't used squared distances.
      Remove pedantic ;s.
      Add midpoint split.  This often produces better trees than mean split...
      Use MidpointSplit by default.
      Fix header guard.
      Don't specify the exact type; that's superfluous.
      When BinarySpaceTree was refactored, its traits were not.
      Merge pull request #438 from jahabrewer/master
      Adapt to trees that aren't just binary.
      Remove self-flagellation; no longer necessary.
      Only unmap if necessary.
      Fix includes.
      Fix centroid calculation for cover tree.
      Refactor UpdateTree() to pass parent bounds.
      Fix typo.
      Remove debugging output.  Cover trees work.
      Fix unnecessary copy.
      Fix include ordering.
      Fix include ordering.
      Fix unnecessary copy.
      Reinclude dual-tree cover tree test for k-means.
      Add new tree trait.
      Document new feature.
      Add new contributor.
      Add new utility functions for coalescion.
      Remove unnecessary debugging output.
      Merge pull request #437 from sumedhghaisas/master
      Refactor to use SFINAE for both constructors.
      Refactor input a bit.  We don't take dense matrices for CF.
      Slight refactorization for speed.
      When coalescing implicit nodes, be sure to rebuild the statistic.
      Optimization: don't needlessly tighten point bounds.
      Update children before pruning points.
      Refactor to precalculate variances.
      Refactor to avoid issues with empty cluster action refactoring.
      Adjust to new EmptyClusterAction API.
      Use a sane strategy for normalizing variances.
      Don't give up if the residue is NaN or inf.
      Oops, bad paste.
      Make a note that feature-sign search isn't used.
      Refactor EmptyClusterPolicy to use both the old and the new clusters.
      Fix changed EmptyClusterAction API for the tests too.
      Add another test to mean shift, which should cluster 4 Gaussians.
      Format fixes for mean shift.
      Minor/trivial speedup: preallocate the matrix.
      Update documentation, and fail on invalid algorithm.
      Update code style.
      Switch to residue termination, because it's *much* faster.
      Print iteration and residue for tolerance termination.
      Add as-of-yet untested termination policy.
      Add tests for MaxIterationTermination.
      Add MaxIterationTermination to list of files.
      Add Index(), and make convergence occur for all iterations after the maximum iteration.
      Refactor CF program to allow specifying the maximum number of iterations.
      Time the factorization.
      Allow the random seed to be set.
      Switch to random Acol initialization by default.
      Include acol init.
      Use correct signature.
      Merge branch 'serialize' of https://github.com/rcurtin/mlpack into rcurtin-serialize
      80 columns max.
      Merge branch 'rcurtin-serialize'
      Remove SaveRestoreUtility.
      Remove libxml2 dependency (awesome!).
      First pass at Serialize().
      Remove hmm_convert, since boost::serialization makes it unnecessary.
      Remove old load/save utilities.
      Remove save_restore_utility*
      Refactor serialization shim to handle static methods.
      Don't include SaveRestoreUtility.
      Remove Save() and Load() calls.
      Remove tests for SaveRestoreUtility.
      Add Serialize() to KMeans and related classes.
      Add Serialize() to GMM and refactor to not use references.
      Add (mostly empty) Serialize() methods to classes related to GMM.
      Refactor main program to use boost::serialization for saving.
      Remove deprecated conversion utility.
      Allow default construction, and fix syntax for Serialize().
      Remove gmm_convert from list of targets.
      Refactor HMM programs to use boost::serialization.
      Fix particularly subtle bug that tried to free statically-allocated memory.
      Alias properly.
      Fix type error.
      Refactor GMMTest for boost::serialization.
      Refactor HMMTest for boost::serialization.
      Remove unused bool.
      Allow access to 'naive'.
      Minor style fix.
      Fix typo in documentation.
      The beginning of a document about the TreeType API.
      Fix somehow truncated comment.
      Remove some crufty unused functions from BinarySpaceTree.
      Add policies/ to Doxygen output.
      Refactor to use Center() instead of Centroid().
      Use Center() instead of Centroid().
      Refactor to use Center().
      Re-add Center() to the API.
      Fix typo (thanks Ryan Birmingham for pointing it out).
      Add a constructor that takes ownership of the data.
      Remove stray space.
      Update Doxyfile generation and list of trees.
      Merge pull request #446 from trungda/trungda
      Fix linkage discrepancy that produces a clang warning.
      Compress if statement.
      Apply Marcus' suggestion for better template template parameter template parameter names (that sentence is not redundant).
      Add new contributor.
      Add documentation for tree typedefs.
      We transitioned from svn to git a long time ago...
      No need for non-functional @defn command.
      Fix some non-compiling Doxygen Latex documentation.
      Fix weird formatting.
      Add a Predict() method to LARS.
      Allow passing a row-major matrix to Predict() to save time.
      Add option to predict values on test points.
      Mark down the changes I made to lars.
      Include stdexcept (compilation fails on gcc 4.7 without this fix).
      Update obsolete reference to svn trunk.
      The collaboration graph is confusing.  Disable.
      Reduce namespace cruft in output.
      Hiding scope names has a bug: https://bugzilla.gnome.org/show_bug.cgi?id=676971
      Document the MetricType policy.
      Make sure doxygen picks up info on typedefs.
      Reference the MetricType documentation where possible.
      Add an actual example.
      Add documentation for the KernelType policy.
      Do some documentation refactoring.
      We use C++11 now; update the comment.
      Switch to struct to be in line with other trait structs.
      Revert "Switch to struct to be in line with other trait structs."
      class instead of struct.
      Make build directory Doxyfile update itself when root Doxyfile changes.
      Document TreeTraits.
      \b -> **, \e -> *
      Compile in non-debug mode for faster tests.
      Feel-stupid moment of the day: these unintentional loops have been here for months, causing tests to fail, which I never investigated.
      Add Serialize() (unimplemented) to the perceptron.
      Refactor perceptron to not modify input dataset.
      Refactor weight vectors to be column-major.
      Simplify expression.
      Split biases into separate vector (speedup).
      Fix bug introduced in previous commits.
      Rename weightVectors to weights and simplify API.
      Refactor to make instance weights optional.
      Rename iter -> maxIterations.
      Require specification of number of classes.
      Merge pull request #450 from thirdwing/master
      Fix Adaboost executable for Perceptron API change.
      Add non-training constructor and write Serialize().
      Add Load() overload with DatasetInfo.
      Refactor perceptron program to load/save models.
      Add Serialize() to LogisticRegression.
      Wow, this was an incredibly stupid bug.
      Refactor LogisticRegressionFunction to work with arbitrary matrix types.
      Refactor so that OptimizerType is only needed sometimes.
      Add and implement Train() methods.
      Refactor logistic_regression to allow persistent models.
      Add another Train(); remove templated constructors.
      Add tests for new LogisticRegression functionality.
      Refactor main executable.  Still needs documentation.
      Note the changes that have been made.
      Update documentation for logistic_regression.
      Fix bugs in logistic_regression.
      When the user requests single-tree, actually do it.
      Implement the Gini impurity.
      Add tests for Gini impurity.
      A base class for information after the split has been made.
      A pass at VFDT implementation.
      Simple tests for the HoeffdingCategoricalSplit.
      Incremental check-in so I can work from a different system.
      Make NumMappings() const.
      Fix build with newer Boost versions.
      New boost versions don't take kindly to comparing DatasetInfos.
      Fix compilation with newer Boost on OS X.
      Actually create the correct number of children.
      Add Range() to GiniImpurity, and test HoeffdingSplit.
      Clean up Evaluate() and fix test.
      Use explicit mlpack namespace.
      Fix test input.
      Make sure training propagates through the tree.
      Refactor so that dimensionality is a parameter.
      Deal with newer Boost versions nicely.
      Fix unused parameter warning.
      Handle empty datasets.
      Add Train() functions to NeighborSearch for consistency.
      Test empty NeighborSearch objects and Train().
      Add unfinished serialization test.
      Add empty Serialize() methods to initialization policies.
      Add Serialize().
      Fix AllkNN serialization test.
      Include std::vector serialization support.
      Refactor to add Train() and empty constructor.
      Refactor tests for changed NBC API.
      Refactor for new NBC API. Not yet tested.
      Fix incremental single-point training.
      Add tests for Naive Bayes classifier.
      Merge pull request #456 from stereomatchingkiss/softmax_enhance
      Style fixes.  Remove constructor that takes a file.
      Add test for new constructor, Train(), and fix compilation error.
      Add tests for new Train() functions.
      Add serialization test for SoftmaxRegression.
      Add new contributor.
      Add separate Train() method.
      Merge pull request #457 from stereomatchingkiss/softmax_enhance
      Minor syntax and formatting changes.
      Make sure that we don't run out of samples.
      Set majority class when making children.
      Refactor main executable.
      Mild refactoring; Split() instead of CreateChildren().
      Eliminate redundant classCounts.
      Add (unused) test set parameter.
      Avoid copies of dimensionMappings.
      First pass at serialization.
      Backport unordered_map serialization from boost 1.56.
      Revert syntax for older Armadillo versions.
      Fix include for typedef.
      Don't set MLPACK_USE_64BIT_WORD when on a 32-bit system.
      Add serialization to DTree.
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Fix failed merge.
      A first pass at a better numeric split.
      This appears to be a failed merge; fix it.
      Refactor so holding a dataset internally is possible.
      Add Serialize() to CoverTree and tests too.
      Remove using declaration.
      Minor style fix/change.
      Refactor to hold dataset internally (for serialization).
      Serialization for RectangleTree. Not working---committed in order to work on another system. Also has debugging output.
      Refactor Serialize(); don't duplicate the parent.
      Remove debugging output.
      Clean up memory afterwards.
      Remove unused field.
      Refactor to avoid duplication of root during serialization.
      Don't check localDataset because sometimes it is NULL.
      Fix uninitialized values.
      Allow specification of dimensionality.
      Sometimes the template recursion during builds goes very deep...
      Re-initialize DatasetInfo on load.
      Fix backwards initialization.
      Don't save observations we haven't seen yet.
      Fix tests that rely on DatasetInfo.
      Smarter serialization; modest size decrease in output.
      Only serialize the necessary split.
      Shorten names to reduce file size.
      Refactor to use template template parameters.
      Allow large speedups by not requiring split checks every training point.
      Add support for the BinaryNumericSplit.
      Add access to the reference set.
      Add a helper class for knn model saving.
      Fix extraneous template parameter list.
      Add move constructors.
      Test move constructors.
      The minimum Armadillo requirement is now 3.6.0.
      Add rvalue reference constructors.
      Add rvalue reference constructor.
      Fix casting error.
      Make some test sets smaller for speed.
      Fix mappings for rvalue reference constructors.
      Add std::move constructor for datasets.
      Use rvalue references to prevent copies.
      Update test API.
      Fix initialization.
      Handle zero-size cover trees... sort of.
      Complete refactoring of allknn program.
      Give name of tree in output.
      Add ball tree support to NSModel.
      Fix -Wunused.
      Add 'ball' option for -t.
      Fix definition.
      Fix grammar issue.
      Fix function signature.
      Refactor allkfn program.
      Fix tests to new API.
      Merge branch 'vfdt' of https://github.com/rcurtin/mlpack into vfdt
      Fix for new DatasetInfo API.
      Split correctly on comments too.
      Add a harder ARFF test.
      Allow access to number of base cases and scores.
      Initialize baseCases and scores correctly.
      Allow ownership of data matrix.
      Add Serialize().
      Minor style fixes.
      Serialize number of classes correctly.
      Fix invalid accesses by reordering loop conditionals.
      Use a const datasetInfo.
      Fix #464: the assert was not valid.
      Comment the HoeffdingSplit class.
      Add some documentation (finally).
      Refactor: HoeffdingSplit -> HoeffdingTree.
      Fix names of constructor/destructor.
      Fix -Wreorder.
      Update include paths.
      Add (unimplemented) batch training functionality.
      Remove unnecessary dimensionality parameter.
      Use Row for labels.
      Slightly better documentation.
      Fix API; prepare for deletion.
      Remove StreamingDecisionTree; refactor main executable.
      Update configuration.
      Refactor HoeffdingTree to replace StreamingDecisionTree.
      Take ownership of DatasetInfo struct when needed.
      Don't use StreamingDecisionTree anymore.
      Refactor tests for new HoeffdingTree API.
      First pass at batch training.
      Add batch mode and a test for it.
      Add batch training option.
      Update documentation.
      Add a function to create a random basis.
      Fix documentation.
      Add move constructors and Train() functions.
      Add Serialize().
      Add RSModel (not yet tested).
      Fix formatting.
      Fix casting issues.
      Add tests for Train() and move constructors.
      A better attempt at batch training.
      Add separate split info for binary splits.
      Make sure the split improves things.
      Clarify where splitting actually occurs; fix bugs.
      Fix tests for changed APIs.
      Make query set a parameter to Search().
      Add Serialize() for RASearch.
      Serialize all search preferences, not just some.
      Check for correct neighbors correctly.
      Add minSamples for splitting.
      Add information gain and tests.
      Fix -Wreorder.
      Add flag for using information gain.
      Make children pointers, so serialization doesn't copy dimensionMappings and datasetInfo.
      Refactor EvaluateFitnessFunction().
      Refactor for changed EvaluateFitnessFunction().
      Fix -Wuninitialized.
      Remove extra space.
      Merge pull request #466 from stereomatchingkiss/softmaxExe
      Minor style changes; no functionality changes.
      Merge pull request #472 from Kirizaki/master
      Tiny minor documentation changes.
      Add new contributor to copyright list.
      Move timerState to Timers, instead of the static Timer class.
      Add breaks in switch statement.
      Serialize tolerance and initial states.
      Use CLI parameters correctly.
      Add the number of passes to the program.
      Make parameter name unambiguous.
      Handle non-new DatasetInfo objects better.
      Actually take multiple passes over the data when streaming.
      Yes, this is the problem I've been chasing for weeks.
      Check the feature size.
      Use Row, not vec, for predictions.
      Refactor main program, add documentation, slightly improve functionality.
      Add changes to HISTORY and document new program.
      Issue a warning when observations are not given for all classes.
      Fail when invalid labels are specified.
      Fix #478 and add tests.
      Use a pointer to the reference set, so it can be changed.
      Add Train() method.
      Fix typo.
      Handle the k == 0 case without crashing.
      Add empty constructor.
      Add some accessors to internal LSH fields.
      Fix ownership bug: we don't own when we Train().
      Add some warnings, and make some minor fixes.
      Add Serialize() and test for LSH.
      Test the empty constructor.
      Merge pull request #481 from arnike/master
      Force re-Precalculate() when we run out of points in one cluster.
      A smarter splitting criteria that works right.
      Merge branch 'vfdt' of http://github.com/rcurtin/mlpack into vfdt
      Add min_samples option.
      Print test and training error.
      arma_config.hpp is auto-generated; don't keep it in the repo.
      Remove build artifact.
      Formatting fixes.
      Revert DETTest.
      Open .bin models in binary mode on Windows.
      Add new contributor.
      Don't transpose columns on save (#484).
      Merge pull request #465 from stereomatchingkiss/visualizeEncoder
      Cast to fix std::min() call.
      Rewrite and elaborate on documentation significantly.
      Fix -Wreorder.
      The positivity check is unnecessary -- it's a size_t.
      Fix -Wreorder and provide better documentation.
      Document what the file is.
      Standardize terminology.
      Refactor main program to allow saving/loading LSH models.
      Update history for LSH changes.
      80-column maximum.
      Refactor DecisionStump significantly.
      Add serialization to DecisionStump.
      Always resize the labels vector when Classify() is called!
      Clarify or fix documentation for API changes.
      Add tests for empty DecisionStump constructor and serialization.
      Change 'attribute' to 'dimension' for consistency.
      Refactor decision_stump to allow saving/loading of models.
      Remove superfluous semicolons for -pedantic.
      Style and documentation consistency fixes.
      Refactor AdaBoost constructor to allow default parameters.
      Add Train() and a test for it.
      Make tolerance private; add accessor/mutator.
      Initialize size of predicted labels correctly.
      Performance improvments.
      Don't use finalHypothesis.
      Remove unnecessary BuildWeightMatrix().
      Code and speed cleanups: make things column-major, etc.
      Fix segfault.
      An optimization to speed up the binary split -- but it's still slow...
      Merge pull request #488 from Kirizaki/master
      Trivial style fix.
      Clean up documentation.
      Minor style fixes.
      Add file header.
      Braindead refactoring strikes again.
      Add error handling when streams fail to open.
      Be more clear with error message.
      Remove data and codes members from SparseCoding.
      Refactor so only the training is templatized.
      Use double, not size_t.
      Fix Classify().
      Refactor tests to avoid finalHypothesis; use Classify() instead.
      Remove finalHypothesis.
      Add some more documentation.
      How did I forget to add Shangtong to the list of contributors? :(
      Add empty constructor, rvalue reference constructor, and tests.
      Add Serialize() and other accessors.
      Allow this constructor to be a default constructor.
      Test Serialize(). Clean up test, too.
      Refactor serialization tests; add SparseCoding implementation.
      Remove tab character; reformat.
      Syntax fix.
      Add RAModel.
      Add test for RAModel. (does not yet work, still debugging)
      Remove tab character; reformat.
      Syntax fix.
      Add RAModel.
      Add test for RAModel. (does not yet work, still debugging)
      Issue an error if config.hpp is not found.
      Print the number of nodes in the tree.
      Use Row instead of Col.
      Use Row instead of Col for labels.
      Reorder template parameters for consistency.
      Refactor main executable.  Allow saving models.
      Fix transpose issues.
      Add default parameter.
      Fix transpose issues.
      Add Serialize() to SparseCoding.
      Move Serialize() to _impl file.
      Add model save/load support to sparse_coding.
      Rename OptimizeCode() to Encode().
      Merge pull request #492 from MooNDeaR/patch-1
      Merge branch 'no-to-string' of https://github.com/rcurtin/mlpack into rcurtin-no-to-string
      Merge branch 'rcurtin-no-to-string'
      Add new contributor.
      Make lines 80 columns wide.
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Okay, so it turns out I'm not very good at git merge.
      Remove unnecessary includes.
      Remove extra line.
      Fix documentation typo.
      This constructor actually does not initialize the dictionary.
      Remove unnecessary parameters.
      Finish transition to Row<size_t> for labels.
      Refactor LCC to same API as SparseCoding.
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Add _impl.hpp file and serialization.
      Refactor lcc program.
      Better casting, remove std::.
      Add additional parameter validation.
      Rename Estimate() to Train().
      Rename Estimate() to Train().
      Update documentation and use Train() not Estimate() for distributions.
      Update tests to use Train().
      Use Train() not Estimate().
      A smarter strategy for checking positive-definiteness.
      Fix syntax.
      Refactor GMM: only use FittingType template parameter for Train().
      Add more useful GMM programs.
      Update lists of programs.
      Use right call to chol() depending on Armadillo version.
      Relax tolerance for test.
      Loosen tolerances to reduce failure rate.
      Loosen matrix tolerance checks a bit for floating-point errors.
      Relax tolerance.

Shangtong Zhang (1):
      add can network

Siddharth Agrawal (15):
      Removing old cosine_tree code.
      Adding new cosine_tree code.
      Combined CosineNode and CosineTree classes.
      Adding QUIC-SVD.
      Removing files added by mistake.
      Removed a few tabs.
      Adding Regularized SVD Code
      Adding tests for Reg SVD.
      Made Reg SVD work with CF.
      Minor documentation changes in CF.
      Added code example for Reg SVD.
      Added QUIC-SVD code example.
      Added Reg SVD to CF executable.
      Added help information in CF executable.
      Adding Softmax Regression module.

SreudianFlip (1):
      commit 2a96324ffd3fb514184a32a6e8c1c95e8b13fcc4

Stephen Tu (100):
      WIP: first cut at sparse LR-SDP solver
      remove superfluous inline
      Rename variables to be consistent with rest of codebase
      fix compile errors
      fix bug in test initialization
      temporary hack: remove the last edge constraint
      don't hardcore Evaluate for the lovasz theta objective function
      add small max-cut test case
      use a better starting point than all ones
      Merge remote-tracking branch 'mlpack/master' into testcase
      Add matrix sensing SDP test case
      cleanup sensing test
      Use a deterministic starting point for max-cut test
      First cut at matrix completion method implementation
      Add matrix completion test case
      Comments
      add comments for sensing SDP test + remove redundant data
      Merge remote-tracking branch 'mlpack/master' into testsensing
      don't let the compiler infer matrix result types
      Warn if ratings of 0 are found
      Address some stylistic issues
      move matrix_completion_impl.hpp to matrix_completion.cpp
      only use PGO when compiling with GCC
      WIP: a compiling, but non-functioning primal-dual IP SDP solver
      WIP: a compiling test case
      WIP: hammer out a few bugs, still doesn't work
      WIP: fix a few more bugs
      add a check for dual feasibility
      WIP: commit missing data file
      restructure the primal-dual tests a bit
      error checking of initial matrices
      lovasz theta SDP test
      Add log chebyshev approx testcase
      add a comment on why the MVU test fails
      comment out MVU test case
      add correlation coeff sdp test from wiki
      minor cleanup of comments
      Add some comments/TODOs to the primal-dual implementation
      distributions now offer LogProbability() in addition to Probability()
      WIP: gaussian distribution caches covariance factorizations
      WIP: fix one test case
      fix some distribution test cases
      some more distribution test fixes
      ensure random covariance is positive definite
      fix HMM load/save tests by ensuring covariance is positive definite
      remove stray commit
      implement the mehrotra's predictor-corrector rule
      refactor KKT solver
      more refactoring
      sparse svec
      primal dual method now takes adv of sparse constraints
      use glibc constants
      make the SDP objective matrix type a template parameter
      iteration check is now iteration != maxIterations
      Port LR-SDP to use the new SDP problem object
      fix up PrimalDualSolver::Optimize() return value
      Merge remote-tracking branch 'mlpack/master' into ip
      invert the lower triangular matrix the right way
      remove unused variable
      expose SDP object directly for LRSDPFunction
      use builtin diagmat
      Inline alphahat into alpha
      iteration=1 to allow maxIterations=0 to work
      some comments for the algorithm implementation
      Add a relative objective value termination criteria
      Set the default starting penalty to 10
      add back missing edge constraint
      Add matrix sensing SDP test case
      add comments for sensing SDP test + remove redundant data
      Update naive_method.hpp
      Update naive_method.hpp
      older versions of arma do not support unary minus on sparse matrices
      cov matrices should be symmetric- fixes error in gaussian test case
      Comment out SDP test which is failing randomly
      SDP primal-dual: use a more numerically stable starting point
      iterator counter was off by 1
      WIP: test out this travis.yml
      travis.yml: add armadillo dep
      travis.yml: maybe this will let us get the right version of arma?
      travis.yml: add libboost-dev dep
      travis.yml: add a newer version of boost
      travis.yml: hopefully this includes all the relevant boost libs
      travis.yml: cat arma_config.hpp for debug
      travis.yml: we really want config.hpp
      travis.yml: add custom config.hpp
      travis.yml: don't die when diff reports diff
      travis.yml: i hate you
      travis: try ARMA_64BIT_WORD
      travis.yml: make test
      travis.yml: pwd for debug
      travis.yml: log level all for tests
      travis.yml: try travis_wait
      travis.yml: don't use travis_wait
      arma::inplace_trans is not available for older versions of arma
      Remove un-necessary string copy for GetTimer()
      Cleanup: remove trailing whitespace in source files
      Merge pull request #419 from stephentu/master
      fix unused parameter warning
      add notifications to travis.yml
      the CMake flags are newline sensitive

Sterling Lewis Peet (81):
      setting up build server packaging scm directories
      [svn-inject] Creating hudson/tags/ directory.
      Creating trunk directory
      [svn-inject] Applying Debian modifications (1.388-1) to trunk
      final hudson packaging cleanup
      [svn-buildpackage] Tagging hudson 1.388-1
      corrected mistake in README
      [svn-inject] Creating jenkins/tags/ directory.
      Creating trunk directory
      [svn-inject] Applying Debian modifications (1.415) to trunk
      update jenkins package rule get-orig-source to put the tarball in the tarballs folder if it exists
      original source tarball for packaging jenkins
      comment out unused file installation
      svn-bp:origDir property allows svn-buildpackage to figure out where the original source tarball is found
      [svn-inject] Creating armadillo/tags/ directory.
      Creating trunk directory
      [svn-inject] Applying Debian modifications (1.2.0+dfsg-0ubuntu1) to trunk
      Fix dmangle to properly convert the local version of the package to the upstream version format
      Update README for debian packageing to reflect the correct way to call svn-inject for this repository and add a note about how to make obtaining the original source tarball easy.
      runTestBins.sh runs all the test binaries, finds boost test results, then renames those results for jenkins to pick up for test result reporting.
      Remove svn-buildpackage artifacts mistakenly committed to the repository
      Update watch file to use new jenkins war file packaging script
      Modified jenkins package changelog to reflect our packaging situation
      update maintianer address in control file to comply with debian standards
      update maintianer address in control file to comply with debian standards
      Update jenkins packaging to more closely match upstream packaging
      Tagged from Package-Jenkins #27.  Jenkins package is successfully being built but still has some lintian issues.  Does not grab the plugins yet, nor does it automatically build a new package from a new upstream release yet.
      wrapper script to convince jenkins not to mark the upstream source checking build as failed because there are no new upstream changes
      forgot to make uscan-wrapper.sh executable
      Strip non-XML compliant charachters from the test result files before xUnit pukes on it
      Remove non-sed compliant option from the regex string
      Tweak script output to make determining Unstable build condition more reliable
      Replaced sed with more appropriate tr invocation
      another fix for uscan-wrapper
      [auto-packager] updating packaging to reflect new upstream release
      Fix update made by buggy script
      new automatick packaging updater script
      [auto-packager] updating packaging to reflect new upstream release
      Tagged from Package-Jenkins #33
      Fix some lintian complaints about the packaging
      script for generating the sloccount results
      fix output file
      only run sloccount on the library, and not the contrib
      remove line that was meant for testing only
      new post commit hook to notify build server of repository commits
      fix report directory collisions
      auto-packager updated to use a secret file on the build server for subversion access
      remove debug lines
      next rev for jenkins package
      Tagged from Package-Jenkins #35
      increased script robustness
      fix authentication problem, i hope; it worked fine on my machine.
      fix issues with interactive prompting in a non-interactive script
      fix another issue with interactive prompting in a non-interactive script
      fix typo that broke the script
      don't fail out of svn-upgrade ust because it can't perform its own _svn up_, because the script just did that
      Add some notes and changes, functionality does not change but I can debug from another machine
      convert to uscan/sed/awk/dch instead of using svn-upgrade
      make the rquired directory if it doesnt't exist
      add forgotten $ symbol
      fix build hang when calling dch
      allow auto-packager to update the repo, now that it appears to work
      [auto-packager] updating packaging to reflect new upstream release
      Tagged from Package-Jenkins #47
      [auto-packager] updating packaging to reflect new upstream release
      Tagged from Package-Jenkins #48
      Tagged from Package-Armadillo-stable #10
      Update to upstream version 2.0.2
      Actually use the DATA_DIR after making it
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      Tagged from Package-Jenkins #50
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      [auto-packager] updating packaging to reflect new upstream release
      update version and soname

TrironkKiatkungwanglai (13):
      I added in logic to remove duplicate flag parameters in response to Ticket #231.
      #164: Any objects passed into a prefixedoutstream that contain a std::string ToString() const method will write the results of the ToString method instead of simply being passed directly into the prefixedoutstream.
      #164:
      Added more documentation to sfinae_utility.hpp.
      #147
      Implemented the ToString SFINAE pattern.
      Implemented ToString methods for the math folder.
      Working on implementing the ToString functionality for the tree folder - getting a seg fault with the cover tree class.
      Implemented tree folder ToString methods. Anything involving a mrkd_statistic, binary_space_tree, and cover_tree are encountering segfaults with when they are being destructed, though.
      Abbreviated the Range ToString method to return one line.
      Resolved tests to compile with ancient versions of boost.
      Standardized code style for DiscreteDistribution's ToString method.
      Initializing MRKDStatistic's leftStat and rightStat fields and standardized cover_tree/cover_tree_impl.hpp

Trung Dinh (1):
      Fix build failure with clang.

Udit Saxena (31):
      Decision Stump added
      Fixed armadillo issues, along with removing uninitialized and unused variables
      Perceptron Added
      Decision Stump test fixed
      Rewinding the code review
      Fixed subvec calls.
      New test added. Improved entropy calculation.
      Entropy calculation improved.
      IsDistinct() improved.
      Changes are part of perceptron code review, as discussed with Ryan
      Minor improvement. No major functionality changes
      Minor updates
      Adaboost design issues, to be discussed, then changed later on
      Minor changes
      Minor changes to the macros in the *main.cpp files.
      Adaboost and Perceptron modified (improved constructor), going for tests on one Weak L
      Changes to implementation of adaboost. Implemented adaboost.m1
      Adaboost.mh implemented
      BiBTex added to adaboost_impl.hpp
      Adaboost improved. Tests for the UCI iris dataset added.
      Adaboost test improved and now works. Improved adaboost.
      New tests added for adaboost.
      More tests for Adaboost added, with tolerance for change in rt also provided.
      Adaboost now works with Decision Stumps; added tests for the same and extended tests for Perceptron too.
      Refactoring and optimizations on Adaboost.
      Decision Stumps modified, along with adding Classify() function to AdaBoost. Other minor changes (renaming).
      Changes to Decision stump and AdaBoost.
      New tests added for the AdaBoost classification function.
      Style changes. No code changes
      Comparision-type warning sorted out.
      Tests updated and new datasets uploaded.

Vladimir Glazachev (4):
      Adds inplace transpose method and some tests. This method used in Load() now.
      inpace transpoce moved to load_impl.cpp
      use std random module instead of boost
      added vim temp files to gitignore

Yash Vadalia (3):
      Incorporate patch from yashdv to move splitting procedure to a different class.
      Contribution from Yash to solve #250 and make BallBound usable.
      Tests for ball trees and BallBound<> by Yash, to solve #250.

abhimanyu (17):
      Checkpoint1 contains the pointer based implementation of tree creation without storing the tree in the database. The tests seem to show correctness. The Euclidean distance functions have not been tested.
      This is check point1.
      This checkpoint introduces median computation into the system.
      Changes:
      This is the first working version of dual tree nn. It also includes the master sql table and things like that. dual is working and seems to be giving correct answers for a few random tests. it needs to be optimized for its taking about 1.5 secs for 5000 queries :(.
      This is the tested correct Parallel KD tree construction.
      This is the tested correct Parallel dual tree as well as parallel KD Tree construction. Now only code cleanup and commenting is left. Also implement the file write and read option.
      Pointer based Dual NN. Is working correctly for single tree. Runtime for 400k points is about 16 seconds.
      This is the final. All file functions have been tested. They are good. Now just clean up a little.
      commit b01837dc4fc88f68d1ea0d7ca074638b5112cc5d
      commit 12938cacdafd1830de840dcac7282e5a31805446
      commit fe34bc360970cd836d75ae3e778ea18a592104cb
      commit be4bc6a1b9f7d1272fec1eb87e53233ef88f92b9
      commit 28a2fe0db058a944d5f48c67d3c25fc83042eb2b
      This checkpoint introduces median computation into the system.
      Changes:
      commit f4d2bd0131c0257a727fab56ed729d3fe7bd7ca0

agray (1):
      changed chapter 1

andrewmw94 (58):
      Add files and some preliminary code for R tree
      readability changes to BinarySpaceTree::FurthestPointDistance()
      added more code for the rectangle type trees
      remove the silly folders I added when I meant to add txt files.
      now add the actual files the way they are supposed to exist.  No real code yet.
      added comment to base case.  Some more preliminaries for rectangle trees.
      add a short and hopefully useful explanation of what different files are for, focusing on BSP trees.
      add a description of statistic
      more code for the RectangleTree.  Still not built yet.
      more R tree stuff.  Still no build
      more R tree stuff.  Still no build
      more R tree stuff.
      more stuff for R Trees
      more R Tree stuff
      R tree stuff
      added code for accessing immediate child nodes (need to think of a way to rename this to be less confusing).  Some more quasi-code to split nodes and insert points.
      Fix/update some comments, almost finish the splitting algorithm.  Several miscellaneous changes.
      change name of leafSize to maxLeafSize.  more stuff for the R-tree.  Some name changes, some more node splitting, a start on traversal.
      a few miscellanious small changes.  Added to CMake.
      add the missed files.
      require kd-trees to have leafSize of at least 1.  Add an assert to ensure that the SingleTreeTraverser isn't called on a tree with only one node.
      Rectangle Tree Traversal implementation.
      change a comment to be more accurate.  Add on --r_tree option to the knn_all program.  Doesn't do anything yet.
      comment out compilation.  Some small changes to support R tree in all_knn
      fixed some mistakes.  Still commented out to allow build.
      more fixes.  Compilation still commented out.
      more of the same.
      More bug fixes.
      more bug fixes
      keep the root node at the same address.
      bug fixes
      bug fixes for memory leaks
      bug fix.   had n_rows when I needed n_cols
      Rectangle tree and tests.  Construction seems to work.
      memory leak fix
      change the tree to store size_t in the nodes and keep the dataset together.  Other misc changes.
      rectangle tree traverser
      fix build
      commit to ease debugging
      work arround for CMake bug.
      tree traversal
      R tree traversal test code.
      R tree now has dataset and indices
      Point deletion.  Massive refactoring of Children()[i] to Child(i).  Really minor point deletion test.
      more tests.  Really silly bug fix.
      point deletion.  bug fix.  more detailed test.
      R* tree split and descent heuristic.
      R* tree split.  Default to using the R* tree in allknn
      Bug fix.  Node splitting tests.
      R* tree bug fixes.
      code cleanup for R tree
      R tree clean up.  Change Child() to match BSP tree.  Copy constructor takes a second argument to specify whether it is a deep copy.
      Point deletion bug fix.
      X tree commit
      X tree
      Dual tree traverser.
      dual tree traverser bug fixes.
      Dual tree traverser bug fix.

angi (25):
      Initial version of n-point. Contains code for matchers, metrics and naive n-point plus a few handy datasets for testing.
      Minor improvements to the metric and matcher plus new utilities for the general multi-matcher problem
      Removed datasets
      extra info
      commit 94939288246d967a4aef2d8e2266c7c9f1b57348
      commit fbf9aa21812e79477817cc507a12a946f769abd5
      commit 3e99cdfbae3b0e9986551c85eac8315330dce027
      commit 4841686d0b01a45ef025d39c6a70bddd60bb92c5
      commit 016699c78c77e9e58b74707dc7f73bdbea4dee23
      commit 734594d858765c5cdb13b8771efc688ba751473c
      commit 5120ad330c3740793f9636819e54dffc96a0aca4
      commit a86bd06b5de228f726044685cccf09ec54558e92
      Fully functional weighted and unweighted naive npoint.
      added auton npt
      commit 57c77373bb636ba8836f88c1764d81be2d2d8784
      commit b720d927db98939629062a0a3be9e8065868e326
      commit ddec7afe8246c77e50b8e47abfd08bfc2f00ac42
      latest debugging version of auton npt
      commit 9854ec3103559a9a735e5a40d0b5e2f9462723ab
      commit 4ae53b9718f0d721024bd97ebfb0ba6bc519d4cb
      partially debugged npoint
      commit 7b7c2f4a4ef47731a6fb2e93c2bd2bbfac60a571
      commit 9e849f0ba6380744aff1ebdaeee23cb1789fdd2e
      commit 7deca9b87fac110833f2766168f54f4c0702a573
      commit 6a97374573586c7e7d8b2d50f95df16670248366

apir8181 (2):
      better boost test output
      add intercept term to softmax regression

archana (2):
      added archana's code
      Added a sample datafile

arkadas (4):
      This will be used for proposals.
      Added brinson proposal
      created for my tex files
      working on wedgeHF

ashish (11):
      Added PLDI 2009 paper.
      Minor updates to PLDI draft.
      Added several new modules, and INSTALL, README, and Makefile.
      Minor update to Makefile.
      Added prerequisite information to INSTALL file.
      Rearranged and added several files.
      Implemented build system.
      Fixed conflict with my working copy.
      Added Lines module.
      Added About module.
      Added About module.

birm (30):
      Added ToString() to core/dists, core/kernels, and core/metrics
      Updated Test for working optimizers
      Added Tostring to SGD.
      Addes Tostring here early, mostly because SGD required it.
      Changed so that "dimension" is not declared, to avoid compiler warning.
      Changed so that "numPrunes" is not declared, to avoid compiler warning.
      Added L_BFGS
      Added ToString to LBFGS
      Fixed AugLagFunction Test; working on AugLag proper.
      Added ToString method
      Added ToString for AugLag Itself.
      Fixed AugLag Test
      Fixed my own error in ToString of AugLagrangian
      Fixed Test Error
      The Problem was the Test; Added ToString to AugLag's Test.
      Added BallBound ToString test.
      Fixed Positive Def Constaint under gmm; previous error was "/gmm/positive_definite_constraint.hpp:28: error: expected primary-expression before ‘(’ token" at lines 27 and 33.
      Added ToString to GMM
      Some ToString added, some updated (typos and indent). Test updated.
      Fixed my subversion error, hopefully.
      Fixed a Mistake in HMM's ToString
      Added and Modified more ToString methods.
      Modified StringUtil to take a number on Indent, implemented LSHSearch ToString, updated Test.
      Added more ToString, updated test, took advantage of new tab function.
      Finished toString of the methods folder ( sparse coding and rann ); updated test.
      Updated Test and pspectrum_string_kernel
      Updated Test and some info for ToString.
      Fixed arma_traits by removing duplicate template instantiation, so that visual studio would be able to use it too.
      sparse_autoencoder_function lines 55 through 58 modified so it would build. It doesn't pass the test, but it builds now. Please fix.
      Added check to solve ticket 347. Note that this does not changeany functionality, just adds a warning.

cmappus (7):
      infomax ica code
      update fix for the change to SetDiagonal
      updates to align with style preferences
      edits to align with style preferences
      edits for aligning with style preferences, convergence threshold stopping feature
      infomax_ica updates for fastlib2
      more infomax_ica updates for fastlib2 release

gcolon7 (13):
      Changed calls to math::Pow and math::PowAbs to std::pow and std::abs
      Changed math.h to cmath, math::Pow to std::pow, and math::PowAbs to std::pow and std::abs
      Change 2 to 2.0 in divisions to enforce float division
      changed math::Pow to std::pow and math::PowAbs to std::pow and std::abs
      changed optimization_utils.h to std::pow
      changed lbfgs_impl.h to std::pow
      removed math::Pow and its relatives
      This contains the implementation details for the deprecated math::Pow and family
      added <cmath> to the list of general includes in fastlib.h to provide for methods such as std::pow
      Fixed optimization/lbfgs/lbfgs_impl.h & optimization_utils.h so that they use std::pow instead of math::Pow. Also added a cmath include in fastlib.h
      Missed a math::Pow to std::pow in optimization/lbfgs/optimization_utils.h
      changed math::Pow for std::pow wherever it was called in the mlpack and contrib directories
      Undid a horrible mistake

gmravi2003 (177):
      made my home directory
      Added allknn directory (initial checkin)
      commit 45b884baee9b9936c2819c2c1a7624febe603f1d
      initial checkin of allknn
      commit 068ef7e4cfb0af0917a53aca050824572eb7706d
      regression bugs still not fixed
      removed main
      buggy partial regression code
      This code is working fine. It does B^T WY usin kd treesregression.h
      This code is working fine. It does B^T WY usin kd trees. Made just a minor change wrt the previous version
      Code is working, but is still not gold standard
      This code is buggy. Looks like the inversion is not happening properly
      Still buggy. Transformation is no working in regression.h
      Perfectly working code
      Buggy code. Trying to incoporate the order of permutation of the regression estimates
      regression code. slightly buggy
      buggy regression code. Segfaults during tree formation
      regression code sligtly buggy. faults at tree construction
      buggy regression code. faults at tree construction
      working code
      build file
      commit 9b1aaa78085375654d83441c03700699d7fe3f94
      fully working regression code. TRake care of permutations of regression values now
      regression code. Perfectly working about to incorpate NWR stuff
      regression code. Perfectly working about to incorpate NWR stuff
      These files are perfectly working. Will now incorporate code to run executable multiple times
      Fully working files
      Slightly buggy
      the partial main file for the new regression code
      commit 2438aa8d39f0e881e839decefc2d332c3c4a2b77
      Working. Will now add B^TWY code
      Working B^TWB code
      data file
      commit 604173ea10e0c4fd7d5d2f98ed3326cb6f367f4b
      data file
      build file
      commit 5fe779ac3cf0a0f2161b40628241a355f4d050af
      commit 535e9f2b683130c140bbd9bdea507cb4e6f6e2a2
      working cde with comments
      commit 95ed1ba0fa14b730c71e990fcd505c9f0d9aeeac
      commit c1ced13f719c84cbb9ca006fdfe9afdb71198d00
      commit 782ceb28bd62f53dcf7d8957e71a4cde1e180a07
      commit 0e0e13734cec83d34d391d8513993deb4f82d1d5
      commit 80940aa0ae32b390ea4efde311ae5b46c5dfbb93
      These are the files that have been thoroughly commented, for code review
      commit a3181b37e9cb9c4d105f65a7445487067e16fd40
      commit 5f557ed9d250ddaf1f3da62ae6ed6c1555db7f02
      Fully commented oh i meant
      Fully Commented and refurbished
      commit 0756d748cef567617d0fe291d139c32fbcc7c70a
      commit b276326e3d1a55bf35f8a1f61038a0c2f46261d9
      commit 7199ee17ad96db34278b63f02092be7b2c809b96
      commit c886f254b04c355eb2cad838f02fbbb9c2065179
      commit bd99c4f2e9f4560fa544375450612571de3bb7af
      These are fully functional files. Now I am about to change the code for component wise bounding
      Partially completed diles
      Partially complete codes
      This code is buggy and incomplete though it works for tau=0 case
      Complete code. Calculates BTWB and BTWY component wise. But still buggy
      These files are perfectly working
      SVD Code incoprorated. Will go on to write the frobenius norm pruning now
      Perfectly working pieces of code. They do both component wise and frobenius norm pruning. Will add SVD now
      SVD code incorporated. Fully working
      This is the function which caclulates the pseudo inverse of a matrix by SVD
      Buggy. Couldnt debug it
      KNN Based regression. Confidence Intervals are still being added
      Fully working without adaptive BW
      Looks like working.Havent tested it completely
      Looks to be fine
      Partially complete code
      partially complete
      Complete. Will need to do a small final check
      Fully working. However there are mem leaks
      Slightly modified. Still workingb but with mem leaks
      Fully functional. No leaks
      commit fb24c64dd03a3076a3aae39612ddcc6ce599b152
      density estimation usign erf kernel
      Everthing is working. but has to be cleaned
      Fully working. Need to make some more changes before I run full scale experiments
      Tester file for special la
      Predictor corrector main file
      Repaired code
      Fully written code, but still doesnt give desired results
      Plain code. That is the code has hardcoded values for the vectors
      Still not working, but better than previous version
      Code before changing cholesky factorization to dynamic stuff
      Code before changing cholesky factorization to dynamic stuff
      Code before changing cholesky factorization to dynamic stuff
      Working codes
      Working codes
      Working codes
      Working code
      Working code
      commit 0d83d082f0fa2582d1d77bfd00113bab7300bb23
      commit 7494bc09ec9bf7ad5e17865425486e4e9f9a58a4
      build file
      Fully working code
      Fully working
      commit 4f635067087c11d850e467e9e06ec3fe5294f5dd
      code written as per smola's book
      Dont remember if this is useful file. Nevertheless commiting it
      all written as per smola's code. Will need to change
      Performs incomplete cholesky by dynamically adding columns
      This is the new file, with changes to interior point code
      Working. Will now go on to change the starting point selection
      Working. Will now go on to change the starting point selection
      Working fine(atleast looks so). Will change stopping criteria
      Working fine(atleast looks so). Will change stopping criteria
      Fully working code for 1-D setup.
      Fully working code for 1-D setup.
      Perfectly work. Commiting before I make changes for multidimensional case
      Perfectly work. Commiting before I make changes for multidimensional case
      Perfectly work. Commiting before I make changes for multidimensional case
      Perfectly work. Commiting before I make changes for multidimensional case
      Perfectly work. Commiting before I make changes for multidimensional case
      fsdfsdf
      commiting after long time. Will add classification experiments
      commiting after long time. Will add classification experiments
      local kernel machines
      commit 089bb18ef16496bd7ef33e63e5e4aa76e28dafaa
      commit 73d59a9ddd5f5e8619d8bbb634164b9d7c05c718
      commit 89a51c3b63dc612cdaf7279d28413528fe28ccf1
      commit bbeb78a8d5a57bc04ca6e46503072f91dee6ab1e
      partial
      commit 626e898432537843795a309556f889f466f52924
      commit a4626148e5f29b9108620286d0d78c93cdefb3e4
      commit 61a948f0ff3f9659afdb85009478414b02988f1f
      commit 16c21ac6b6c0c1bfd3fb89634ccee55c94c0ee0a
      commit e1a35412b4566e41aef66b8945c799d0e564fa41
      commit 96cc4f032dd9fffaa764b59f863cf0ac26ceedab
      commit 8aa58e45466571c7d011f0297ef590d61880a316
      commit aedbb764096f64de24463d1f60b49d29176e118d
      commit 12f5ee4b9ecbdf673a49ff343f98abab50fd808e
      commit d5fbf749ea74380e97721ed42f27f68c3ce1edc4
      commit 15722a77d2d57a261a7e1c246862390358622c60
      commit 5d27a2a3f11f00b42c4e1e584974459737f61c59
      commit eef920730d618c0c2ba592b6a66505bcd4f7144e
      commit bef179d655b8ea04391a35668df235b8dd57f156
      relevant files
      Working set of files
      untested code
      works for 1d
      stil buggy
      Seems to be working with a 2-d setup also. Need to test even further
      Seems to be mostly working
      Tested and certified 1
      Tested and certified 1
      Tested and certified 1
      Tested and certified 1
      Original version. Will make it simple
      Tested and certified 1
      original version
      Looks working 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Looks fine 2.0
      Working version 3.0
      working version 3.0
      working version 3.0
      working version 3.0
      working version 3.0
      Not fully correct 4.0
      Not fully correct 4.0
      commiting before crash
      commiting before crash
      Seems to be working 5.0
      Seems to be working 5.0
      Mostly working 5.1
      Mostly working 5.2
      Mostly working 5.2
      fully working

gtg931v (6):
      1st commit of kalman
      commit 0f0eef79f081d502b8a2d20b4a4acd67aa9c4a82
      deleting old things
      deleting old things
      deleting old things
      time invariant kf dated jan 23

hjiang (5):
      first check in of jiang's directory
      first check in
      added 2 utilities to access the trees and made the tyupedef publicwq
      Huijings code for getting the centroids and nearest neighbors
      delete accidental insertion of a binary file

houyang (200):
      commit 74df495c6671bf4eb8c2fccf41103ae07b5ae63d
      Multiclass SVM classifiers, using SMO.
      Multicalss SVM classifier
      add a readme file to multiclass svm classifier
      commit 80d71f2e2b267abddb253d9e2b0bfba62100e5c8
      commit 6ebd4223e4c89bc731db577f3bca93860b9ca9bb
      Add two functions:
      build.py modified. minor bug fix in svm.h
      fix bugs on model file loading
      add toy data
      bug fix for sv_indicators
      add/modify docs, add 2 and 3 classes toy datasets
      DOS's CRLF-> UNIX's LF
      doc modify
      final doc modify before freezing
      commit 1cc18bf8e3a661e6250e58647ee1d28093df5a77
      commit 85bdf9a69fe40cb0db3e7ef4ab768b22be1593ec
      commit 45d581b7a488d9e3874b86dca54ac04dedbf351e
      commit f849e3f7cdabaad022351e630b4370453118d484
      Add a general cross validation class, which can be used for classification, regression and density estimation. Alpha Version. Still under construction.
      SVM regression
      Add a statistics module. More functions to contribute.
      Relevance Vector Machine (RVM)
      rvm classification
      commit 0e9327bef9126ed005ce0a326c7176d805dffd75
      commit 1203f4905e08258143a1988d00833f14421928d1
      commit 72b6fc056a37ed3d118c1e8bc68a6805876c7e33
      commit 0b15bc65c268417918dcf0762d0fdaf553ad3f4d
      commit 0aa61016347f5edbd6b2d902054590bed213d7ea
      fix bug in getlabels, delete (int)
      commit 3a4232411f856692b5ff74e6a841262e9b1ce54b
      Addback -> Addbackitem
      bug fix in crossvalidation.h
      In GetLabels(), all the input parameters are required to init beforehand. GeneralCrossValidator() is modified accordingly.
      New SMO implementation. Support vector machine for regression now functional.
      minor bug fixed in SMO
      Shrinking, Caching added
      minor bug fixed
      CalcKernelValue_ updated
      Add statistics module, more functions to contribute.
      Add GeneralCrossValidator class which support k-fold cross-validation for classification, regression, density estimation and user-defined learners. Alpha version.
      Move everything in my folder(houyang) from fastlib to fastlib2
      Replace deprecated functions in crossvalidation.h and dataset.cc. Update svm code under mlpack with the updated version. It now supports support vector regression.
      Replace deprecated functions in RVM with new ones.
      update for fx_ functions
      svm documents added (partially)
      crossvalidation.h bug fixed
      add solvers for general eigenvalue problems (for both symmetric and nonsymmetric matrices)
      allknn_balltree and allknn_kdtree added, support single/dual trees
      Add stochastic gradient descent optimizer for linear and nonlinear SVM classification
      bug fixing for multiclass SVM based on opt_smo. New implementation for stochastic gradient descent solver for SVM: opt_sgd. Experimental codes for hierarchical propagation solver for SVM : opt_hcy. UCI_iris data sets added.
      updated implementation for opt_hcy. In kdtree construction, right child no longer contains the splitting point.
      bug fix for opt_hcy
      code consolidation for opt_hcy
      New algorithm: greedy approximation for large scale SVMs
      Stochastic Conditional Gradient Method (scg) added
      FW algorithms updated
      display testing accuracy
      iteration information removed
      bias update for nonlinear sgd
      display gap on termination
      display gap
      mimic online senario using random permutation
      implementation of Pegasos in opt_sgd.h
      infinite max iterations for sgd
      1. rename: opt_sga.h -> opt_fw.h
      minor modify on shrinking of SMO
      minor update on shrinking and n_iter stopping criterion
      modify unshrinking
      max_n_iter<- 10^8
      max_n_iter<-1e8
      n_iter->ct_iter in calculating portion of away steps
      do w_scale in training session
      added L2-SVM using SMO
      remove usage of w_scale
      separate pegasos from opt-sgd
      commit b9eb9359bd02cbf56dfb90e4facdb0c01669c2f5
      add no w_scaling option for pegasos
      pegasos with bias
      commit 95815d6882dd49fa09b5287b96245bf0dcf50944
      add n_epochs option for SGD and Pegasos
      Coordinate descent for linear SVM; L2-norm regularization option
      in online algorithms, permute data set within each epoch
      modified epoch scheme
      CD working now
      DCD sqrt bug fixed
      add bias for pegasos
      opt-pegasos.h: amortize w-scaling to prediction session
      1.move pegasos's w-scaling to training 2. add projection option in pegasos
      display projection for pegasos
      commit 048c68ca6048c8b4e7c6995f8a401221b62c158b
      display gap on termination
      add an option to calculate primal objective values
      add opt_sgdwb.h
      fix bug in sgdwb's prediction
      opt_pegasos.h: fix bug in calculating obj values when no scaling
      opt_sgdwb: fix bug in calculating obj values
      fix bug in do_shrinking
      add implementations for LASVM and Robust Ivanov
      ID_FREE etc
      Now support L1-SVM-C (hinge loss) and L2-SVM-C (squared hinge loss)
      1. add SPARSERE solver; 2. regularization_ -> hinge_
      normalize=0 by default
      %f->%g for coefs
      %g->%16g
      experiments for SDM
      remove msfw, since it's integrated in opt_sfw.h
      display portion of away steps
      if-> else if
      remove redundant init for grad_bar
      speed up kernel calculations for NORMA
      commit c619b48d4138bbf924360f88ad7c5baebacc7059
      commit 5189604f5513a675e05f977039cbf1cbf58e82cf
      speedup kernel calc for ct<n_data_ cases
      speedup kernel calc for ct>n_data_ case
      Initial release of "regularized risk minimization" project
      commit 055cf29184a1fbde2a9b4b7e727842e2cf388537
      commit b8e832be8cad722c1631f9a0dbfbea5093065411
      commit bcf2a987addab6b2c5ca648066952a00499a9bd7
      commit b1c86bea058ea5625d5f4a0672882cf88fa96214
      commit 3df37126c99e7acc11f4d80e136fa1df4f209c20
      commit cca607d888f92949ff91b7208a355869f8e2e770
      commit 5ddb98ce25795139f014eb59766f7f46a32a14b9
      commit b6e3eff1884c5efa0201eee6da5a2c9e13a7b1ac
      commit 1cd7b1ef4a0d2e17570a92071001344e294778eb
      commit 51339efd85d0fd35394d0689e96cf7457e6f0a16
      commit 9e3ec57a5f575aa186dc13c728391f8a452866fc
      commit fac397eda7e3352d99b85d09050f496d8b9e06eb
      commit 51fd553b27ca8ac5678f47678806a8cda6d9fef6
      commit 711a5df8919d2da70bdfd9e6c51ec4ae22d174d8
      commit 1156414a3241afdea3a591e9955064ed6e5a5504
      commit 9b6e8a73ba4767a549b481c72b1176a886c5a54c
      commit 2db893ab9e282a61fc96c16983ad1df034476147
      commit db9c7fc368849009d1a7a6926c759fdb81487408
      Hua Ouyang
      commit 15875deb94e71911ad64c60588b970f066c666e2
      commit fc6f572c1a1b922f7f9378cae77822c62fbaf472
      commit 770705ab07127019055225d46cf83d1c5b762562
      commit 47ed2f616891a9bf57504c6f5836aa4526394da4
      commit 68f3d03a60756e5e2dc7a0073a7d71b842d2ed96
      commit b91e19f00784cbfb31995b52661f253808c5aaec
      commit c73ad6a4f989e585b93d7bbeb286b59bc18f6238
      commit 60d574d1066ce335bb0b38cc95b4690a56e01c1c
      commit 72166a116b9a2980b40ea0d923f7acfb3b57929a
      commit 0212c6d7c860d6e03f633d6bffbac6434c1ee60b
      commit 71756c2219144accb3668adb0eae09fce27ab752
      commit a3231fdce905b6f44d4f1a414480859971f42506
      commit a2286ad406bfe307a23c81da7006df935dd5f581
      commit 132da1b87f32979fbf50a761380210ff06cf6f91
      commit 198982263bb25aa4baa952d7f76d4146ef97702d
      commit d5679c83c07198f28270de64e60ea51f8e677f6d
      commit 703e2b964b83c56730a8b27c1918c35f49416b3c
      commit 4b74732ead68924f073b6e7e99e04ee9455ad259
      commit c56ecab8cd2268c4d5a8a52e29fbdd55e809c0dc
      commit 58a595b67dc80702eb6c68ab6836c79f5237af99
      commit 56105c94571984bf13cc18dee4ae5b50ce7620e1
      commit 1e9506e944307a431281a1b83ed061bd5d2555df
      commit 81721bef6ba432142584ce24bf194c1c00f167ee
      commit 4f773f24edcaf7dae20e3bcfc6a5895cc587b30c
      commit baf1c7d65cd11ded870e1d596a45f17feee455c5
      commit 68a0ebdeecf5e5c816477567c7a9137da35a1f53
      commit eeda162091807ce4b2a8168a4d1322fe36e70ce4
      commit 68a471b928edc396af7da437b452e76212d94b8a
      commit 39cd2508ab0d4752c9271ead2ee28d0f42bdb007
      commit c856f4432cbc24d0308a60fbb21671a77a0ef3be
      add dense version for pole
      commit 429780dc0e7cacc0e076c1613c49263ed573ba54
      commit 964be4d9d576e3488574954ca57c08948a500941
      commit 7646b6ce54aeee1676da7953e87012834c90dc1e
      commit f84543848ae1dd7a77267f5525783c910e0e6dda
      commit 9c77e9e0eec166394d4b51c6fad6c0c7bc4234b7
      commit 43c8d5c4e73de98c45be89c84e5de3fbead44ccc
      commit a7e871126130e4f7b67de7aa6323674f6a1bb5eb
      commit 4db38df2275cd1c2f22ea9e6dadadd88e990f815
      NASA added.
      commit 90d4b33967cbf10e499dddb31d3edc7660badb5d
      commit 97475932486749424a37f4ae9b449909b8f0df9f
      commit fc58da3380c5225de6a0ecab33370d8cdf45a8bd
      commit 374d2dd043dbf8456de213bba0df3da9eb688df9
      commit c3712a35c9a834ce659710e76b4e721786a744c4
      commit 1dbb3a96a537675da1be15feeb2e5cd89909e10e
      commit 2c3c75240619ece225498efce58315ece1ee6ba6
      commit a70e183f826aa85e007f010ab3b24f32e0a5ebf1
      commit 127941253b508ebfc2cc4770707144e5f8d376fc
      commit add45864209940bf5dfee843b958bdd2b1b0ad86
      commit 2f96c5aca50c4626c57b1f6d41635582ddf5a5fe
      commit 519ac5b439d66bc38d77e12ee109139748ea99a5
      commit 24612413d35aa5824bc2174af1e07c8c6662c078
      commit 215fa7d26022b5bdedc0cf9321a739e1d3afaf7d
      commit ccebecf8413665405cc499f47d1803319b9ef2e5
      commit ba3cf73227d82831825682d86543358074f4b149
      commit 3b2e01dcfb0ebfd68431636570d54e3f8682af68
      commit 5b92fcad728f9a0f5c0be1bbf9b6df26a5e63587
      commit a932507bd99e9662a8591a8ba585c883e4d105b5
      commit ea165c83143b71fadcd577c84d87123a3688a067
      commit 445864ee40d794b406fd7d7320f9752595fe174a
      commit 587f0efa296de764412ded3cb593537174313015
      commit 31c7b435540d14b4a22dfdcc783228b767a47fe6
      commit d8fd17017b64e1565b8d41c7cad06fdd1c203130
      commit 0e6f22d0a57382765e02b004c930f0feadef8edf

hritik25 (1):
      Update TREE_EXPLANATION.txt

jwaters6 (63):
      First upload of molecular dynamics code
      commit bca971af53850951781e609df78ff56d5e5cd9fc
      M    md/build.py
      commit d9543472bdef9de528836a0b730ce16bb009c8b2
      commit 5674d3a1a2bee591c206a436a687fe7c00273a63
      modified bounds code to accomodate coordinate offset
      commit 388453d9438fa40d4fe77728aea43a43e3034694
      commit cd553320249402f307e15f9219658178ce6ebeeb
      Revised kdtree & bounds updates to merge changes
      Changed kdtree_impl functions to pass by reference (when applicable)
      Added periodic max distance
      Added CART code from Alex's class Jwaters 11/28/08
      commit d6b28167679a2e5e8a5522164335066d45a8faa0
      commit aeb44d4565c0ef2e4ca765929072234231df2dfe
      M    cart/cart_driver.cc
      commit c3b33e03c4c96fff9077e798ce5c5de4a5cc7604
      commit ac3b1d573e6489a1d54a4e1aab0308e1c1049a78
      commit cc6bba4857088cb6e9cb2ac827b943a78e8e0588
      commit 7649a24498207818775497bd136c4ad21705bb4f
      commit 22ca2757408c492dec4e67c8f3ece560f35fb10c
      commit 4ed9185aa46fbc7580058c6db68f49136ca0cdb5
      commit 808cb6e084542b4411aa820fc6193a9b0bcd5e0c
      commit 1814d829f012a91afc271e010804ef7f6dee263c
      Added MD code to fastlib2 repository
      commit 553e5b53fe80b3bb781bc2d1c9214194e29c58ea
      commit c8233ec49dff0c3c86f0b2015291a10ce905b519
      commit d00281f5b51acf5972456abd2271f43d9217d333
      commit 11fb7f21e51bb186902c164051df12f7afb7ea50
      commit c183a65350a69d032ae00da51d67c3994e5e8ca6
      commit ca77348b7e1fbe5387be07b28602f25925ed5286
      commit 67aa2840c1662fd9c5ddd409668310252c75176b
      commit 3f43cd04ba3062fb9f66b492c4bc645a74d31de5
      commit 0b5995ec0dc5e55a80da20d2839706b5a0c7f4e1
      commit 2dd7a67c8185fd463ab29d3b24caedbcc6168f91
      commit be55ad955f9c65343562a8d03a47430008e580ce
      commit 31c0a925902ea86eacd58fc9dbce9510355ff527
      commit 4c543f44038b3ce7fae3094f4036e48e137d5512
      commit 19ae306451685d4c07d18454bcff73062d5bc791
      commit 1bcb33691e08d12aa3bcae91595816124048087b
      commit 933a67ceb23fb4ff269566edbaaa86194052bec7
      commit 362ab759db260c0a4fd6985b532cb21caef996d5
      commit 75c4edf05fd35bcd701ea864fb399b79adfcb1f1
      commit 8a6c9419beed384ceb77d12ae455a6a078ce6f2f
      commit 8b0c37c3858e2d7991d8aed8fa544e50844f393e
      commit 16f56e11062a4470d5fb09d3d25f28466dd73e5a
      commit 6e925a2aefdbc0f3d7cfd5f35037af60fa2a71dc
      commit c52383ff6d56424bed205998d620fb632e16fcc5
      commit 843d1050bf98a3df4a4c03f508b9e88952924598
      commit 4cad44539766aff308d0e79b20be9d88a9a27783
      commit ba9a8695631219e64e6a939ad320562566bb4a00
      commit 2b83fa37017041b037fc7234e64d19dabd29006d
      commit c829f7b8995c0e3a0802b3103821a9be24d33282
      Modified multi_physics_system.h to
      commit 1601d63456a316247dc561730dc4001ff4065f03
      first commit of thor_md for parallel molecular dynamics
      commit bf29a8f074ca7dc2448ac0afb29bf71412a6041a
      commit ff3dcb40e71fba7dd8555c7509f65e3cc64c8ff9
      commit f130231108349b115738f2875e16c436f3543e8f
      commit e5c738fb2e426832e2e98e8751cea92013ab430b
      commit d353a7ca1d4a6b081cae136739f9a33fb003de26
      commit 06475daf142052bce032ee8f49d5146e1255454c
      commit 2019d30115cb4df27c72c33bce3e4b98f3746328
      commit 4a997e9441cc1bdcaa95003359b7781225bd046a

leif (31):
      Initial upload of the open-source CMakeified fastlib
      Oops.  Wrong version.
      Correct version of OS, CMake-ified fastlib this time, I promise.
      Add branches subdir
      Add tags subdir
      Identified bug when reading Mac files (eol = '\r')
      Added Mac eol bug to docs to warn people direly.
      Removed manual flag-setting that was messing up CMake automagic build_types.
      Optimization half-working
      added note to narrow native fastlib optimizers' deps
      fixed typo in opt++, removed test code unwittingly checked in.
      Moved optpp to opt++
      In a bold move, removed the README instructions for fl-build.
      Fixed optimization dependencies broken by moving files.
      Fixed some broken dependencies caused by moving around optimization code.
      Added an example to demonstrate compiling & linking with OPT++.
      Updated README to include info about OPT++.
      Removed noise from toplevel cmake file.
      Linking failed if opt++ was installed someplace nonstandard--fixed.
      Added directions on where to download opt++.
      remove annoying file
      remove annoying file
      started changing copyright info
      Fixing copyrights.
      Fixing copyrights -- done.
      Generated fastlib includes shouldn't be in svn.
      added trilinos libs to cmake link libs
      starting to update to trilinos 10.0; disabled a #define that mangled code,
      fixed many of the easy typos, most having to do with templates
      Added sparse matrix code to fastlib, added Trilinos instructions to README.
      Tiny change to fix link errors when building fastlib as a shared lib.

marcus (23):
      Add a test for AdaDelta.
      Add a test for ADAM.
      Widen tolerance slightly and disable non-deterministic behavior by setting the shuffle parameter to false.
      Add convenience typedefs (ReLULayer, TanHLayer).
      Add tests for the current init rules.
      Minor formatting change.
      Use the new optimizer interface.
      Refactor recurrent network main class for new network API.
      Add SFINAE pattern for the RecurrentParameter function.
      Add SFINAE pattern for the SeqLen function.
      Set the sequence length if necessary.
      Reset the recurrent delta at the beginning of a new sequence.
      Refactor LSTM layer for new network API.
      Use the correct number of parameters for the LSTM LayerTraits.
      We can't initialize a matrix with an uninitialized matrix.
      Add recurrent layer.
      Minor style and formatting changes.
      Refactor recurrent network test for new network API.
      Minor style and formatting changes.
      Fix the include guards to avoid the problem ofdouble inclusion.
      Slightly increased number of training epochs in the SequenceClassificationTest.
      Build the recurrent neural network code.
      No need to reset the scale parameter in the forward pass of the dropout layer.

marshall (22):
      included "assert.h" in fastlib/base/common.h
      removed periodic distance funcs from bounds.h, and moved to periodic_tree.h in my own
      commit 0dbb00491be347bd42ab2ad8c0f9461445f95eac
      added synchornization calls to thor_md.h
      commit c83602463431e874ef7b4f2e9139ceb51db57091
      commit f10639134debf8afb0e28b58f8b83d4c9eccf622
      commit 4d0c8780c8f91d3340ad40c776c97cb63295de19
      commit a95929744501addce86a66ac09703cdaacd1dcff
      commit 3126c5dfd558b987c7f136d8c3c7e468220a8ff0
      commit 285eb1ebff34524386d0cd3ff6538a6f6260d750
      commit 15e2259c24ad66149f2e3216a155229ba5173418
      commit 6018c336765aa792c8d52b34ff91175617e849e5
      commit cc5f5f54950bdc8a3818421e24eff7a526244615
      Added Inlcusion pruning in Cartesian case
      commit 76b474e1aea8cf1eef6233da2c9f4c0f6758ea30
      commit 214d2cc588cda99e8371d10ad5007eea8df5f20b
      commit 70251015fd6feca0b8b46452d713c48e9a25aa3d
      Inclusion pruning for 2pt, corrected
      Corrected inclusion pruning
      commit d4a93bef2bdf4f3c13311b58a2599d783aa6915f
      Weighted 2-point correlation
      commit 0bdf56485426a27321e20be3ebd9a20c7bc3ca05

michaelfox99 (50):
      fixed ticket #316 (hmm::Predict() in hmm_impl.hpp)
      fix forHMMTest/SimpleDiscreteHMMTestViterbi
      Removed phi, added gmm_convert_main.cpp
      Removed phi, added gmm_convert_main.cpp
      Changes to work with new, hierarchical GMMs
      Changes to work with new, hierarchical GMMs
      utility for converting legacy GMM XML files to new format
      Hierarchical GMMs store params in GaussianDistributions. Makes code clearer and simplifies Save/Load.
      Changes to work with new, hierarchical GMMsHierarchical GMMs store params in GaussianDistributions. Makes code clearer and simplifies Save/Load.
      Hierarchical model support
      Hierarchical model support
      Hierarchical model support
      Hierarchical model support
      Hierarchical model support
      Implemented Save, Load
      Implemented Save, Load
      Implemented Save, Load
      Implemented Save, Load
      Added hmm_convert (legacy file converter util)
      Hierchical model support
      Implemented Save, Load for hierarchical model support
      Implemented Save, Load for hierarchical model support
      Added legacy file conversion
      Legacy file conversion, deprecated old SaveHMM, LoadHMM functions
      Legacy file converter util
      Added Save, Load tests
      Updated Save, Load tests and updated tests for hierarchical format
      GMM::Save() now adds type information to XML files
      phi.hpp no longer used, see GaussianDistribution::Probability()
      removed #include <mlpack/methods/gmm/phi.hpp> which included only unused functions
      added Save(), Load(), Type() to LaplaceDistribution
      intercept no longer penalized and can be turned off, observation weights now supported
      intercept no longer penalized and can be turned off, observation weighs supported
      typo in comments
      New distribution (a combination of LinearRegression and GaussianDistribution) for implementing HMM Regression.
      Implementation of HMM Regression
      Added HMM Regression files
      Added Smooth and Filter functions
      Added Smooth and Filter functions
      Added regression_distribution.hpp/cpp, removed hmm_regression
      Rename hmm_regression.hpp
      rename hmm_regression.cpp
      now regression_distribuiton.hpp
      Now regression_distribution.cpp
      transition now protected, not private
      HMM regression method
      Implementation of HMMRegression class
      hmm_regression.hpp and hmm_regression_impl.hpp added
      Dimensionality() now returns proper values
      Re-ordered initializer lists to fix warnings

mohanrajendran (10):
      Added a compilable version of NMF code. Test cases need to be written
      Basic implementation of NMF
      Add nmf directory
      Move everything into the NMF directory from PCA
      Move NMF out of PCA
      Revert to PCA CMake configuration
      Unit test for NMF added successfully. Validation conditions need to be tuned
      Added Aleternating Least Square method to NMF. Require some testing
      Wrote all the NMF test case and updated Alternating Least Squares method with pseudo-inverse function'
      Fixed NMF Test

mudit3774 (6):
      CF framework and ALS added
      Adding Cosine Trees
      Added tests for CosineTree and CosineTreeBuilder
      Added tests for CF Module
      Converting row-major to column major
      Removed an older version of tree test and added a new one

nadeem (12):
      Adding beginning stub code for parallel EM
      Very early draft of a document that should eventually become the FASTlib Manual.
      Updated documentation
      updated directory structure
      A brand new repository with the new directory structure.
      removed a useless file
      commit f4a7dfa773162c0547ca8635bcc4c4bb44789227
      A brand new repository for the new directory structure.
      commit e2d6f7a3a5fdacb4bab983ab01e5b26485803a4d
      commit 3357ce9c91e87646a36b9ec11afbe65ce36b8ad7
      commit c09df3247f8a1425956a42f091504f174d48c0dc
      moved from the old fastlib repository

nkauffman3 (48):
      Add io.h to default include
      commit 8b2b64e298200416b1ae0fcf6a1daf3418b6ee3e
      --Converting fx-style output to IO output
      commit ae35b9b0725f5d27d36dc70e3abf04ada949fbda
      --Convert FX Style Output to IO Output
      commit b38999bf1bc3f5703bc171ec6ad52730e5387eae
      --Convert FX Style Output to IO Output
      commit af3a50e87aedf3521d9c8c668b9217a7a0d59e47
      --Trivial Remove Copyright Notices - ticket 84
      --Ticket 85 -- Convert tests to Boost Unit Test Framework
      -- convert to boost unit test
      -- convert to boost framework
      -- Convert to Boost Unit Test Framework
      -- undo changes from last build
      --Conversion to Boost Unit Test Framework
      -- Try to unbreak build
      -- FX Conversion to Boost Unit Test
      --Conversion to Boost Unit Test
      -- Convert to Boost Unit Test FrameWork
      -- Convert to Boost Unit Test Framework
      --Convert to Boost Unit Test Framework, Still Needs Macros Removed
      -- Conversion to Boost Unit Test
      -- Convert to Boost Unit Test Framework -- this might break build
      -- Convert to Boost Unit Test Framework - Ticket 85
      -- Convert to Boost Unit Test - Ticket 85
      -- Convert to Boost Test Framework - Ticket 85
      --Convert to Boost Unit Test Framework -- Ticket 85
      --Convert to Boost Unit Test Framework
      --Able to build, but running test case throws : run-time error: qr(): need LAPACK -- on my machine.  Want to see if this fixes build (meaning i need to update lapack)
      -- Undo infomax changes --- will redo tomorrow
      --Undo changes for kernel pca -- will fix tomorrow
      -- undo ridge regression changes -- will fix tomorrow
      --Convert to Boost Unit Test Framework, Ticket 85
      --Convert to Boost Unit Test Framework -- Ticket 85
      --Convert to Boost Unit Test Framework
      -- Convert to boost unit test framework
      --Convert to Boost Unit Test Framework -- Ticket 85
      --Convert to Boost Unit Framework - Ticket 85.  Code is causing issue with new test cases that do not use pointers.
      --Convert to Boost unit Test Framework -- Ticket 85 - will remove test_infomax_ica.h in a sec
      --FX Convert to Boost Framework - Ticket 85
      --Convert to boost unit test framework - ticket 85
      --convert to boost unit test framework -- ticket 85
      --convert to boost unit test - ticket 85
      --convert to boost unit test -- ticket 85
      --convert to boost unit test framework -- ticket 85
      --Convert to Boost Unit Test Framework - Ticket 85
      --Convert to boost unit test framework, ticket 85; replace reserve with resize()
      --Convert to Boost Unit Test Framework, Ticket 85

nslagle (51):
      branches/fastlib-stl: fix #63; remove several warnings
      branches/fastlib-stl: undo the insertion of Wall until I can address the additional warnings
      branches: fastlib-stl: fix #70 (for now, with hopefully minimal damage...)
      branches: fastlib-stl: commit a few space changes and function replacements
      branches: fastlib-stl: attempt to fix #72
      branches: fastlib-stl: remove some unnecessary whitespace
      branches: fastlib-stl: eliminate a few new warnings
      branches: fastlib-stl: remove Dataset and Matrix dependencies in nnsvm
      branches: fastlib-stl: mlpack: nnsvm: reorganize the code slightly
      branches: fastlib-stl: mlpack: nnsvm: adjust some spacing
      branches: fastlib-stl: remove a couple new warnings
      branches: fastlib-stl: mlpack: nnsvm: add initial testing support
      branches: fastlib-stl: nnsvm: commit the latest changes for RC to examine
      branches: fastlib-stl: hide code that generates warnings
      branches: fastlib-stl: remove a couple constructor related warnings
      branches/fastlib-stl/mlpack: remove the Dataset dependency from svm; modify some formatting in nnsvm
      branches/fastlib-stl: shamelessly hide the broken tests for now
      branches/fastlib-stl: remove a few warnings
      mlpack/trunk: modify the clamp function
      mlpack/trunk: modify the clamp function
      mlpack/trunk: fix the ClampRange mistake; the previous functions need more intuitive names
      mlpack/trunk: delete an extra space
      mlpack/trunk: per bug 131, add a SaveRestoreModel (and abstract Model) class(es)
      mlpack/trunk: eliminate the newer call to clear breaking the build
      mlpack/trunk/src/contrib: create my directory
      mlpack/trunk/src/contrib/nslagle: copy the kde code base from D Lee
      mlpack/trunk/src/contrib/nslagle: continue updating kde
      mlpack/trunk/src/contrib: revert changes to the CMakeLists.txt
      mlpack/trunk/src/core/tree: revert the statistic.h for now
      mlpack/trunk/src/contrib/nslagle: commit fledgling kde kcde
      mlpack/trunk/src/contrib: hide PRam directory until the missing file reappears
      mlpack/trunk/src/contrib/nslagle: add and modify more of the KDE code by DL
      mlpack/trunk/src/contrib/nslagle: remove my directory from compilation and testing (damn you Jenkins)
      mlpack/trunk/src/mlpack: rearrange and restructure the save/restore mechanism; clean up some code
      mlpack/src/mlpack/core: remove files I accidentally re-added
      mlpack/src/contrib/nslagle: continue modifying the KDE code
      contrib/nslagle: newest, not yet working KDE code; multi-bandwidth, dual-tree
      mlpack/contrib/nslagle: add the multi-tree base function
      mlpack/contrib/nslagle: add the multi-dualtree function
      mlpack/contrib/nslagle: commit more changes
      mlpack/contrib/nslagle: commit a possibly working version
      mlpack/contrib/nslagle: correct for bounds; track the success level for each bandwidth
      mlpack/contrib/nslagle: commit more tweaks
      mlpack/contrib/nslagle: commit the latest changes; the binary tree apparently is not full
      mlpack/contrib/nslagle: I wonder if the algorithm ever really worked...
      mlpack/contrib/nslagle: the algorithm almost works...
      mlpack/contrib/nslagle: KDE almost works, again...
      mlpack/core: apply some changes to HRect, Log, and BinarySpaceTree
      mlpack/core: undo an unnecessary change; remove a pesky warning
      mlpack/core: add std::vector as a save/load valid type (so long as the templated type is basic, for now)
      mlpack/core/kernels: add a couple of kernels appropriate for the forthcoming KCDE/KDE combo, per #200

pagarwal (8):
      start building wrappers for Numerical Recipes
      moving the directory
      adding directory of numerical recipes' code
      test file for numerical recipes.
      added 'pagarwal' directory.
      developing optimizer wrappers from Numerical Recipes.
      test if NR is working and start quasinewton optimizer
      Take out Numerical Recipes from the repository and save the lab from potential license violations! :)

pmason8 (4):
      commit dfa9fddf07781e1160f27cf193f27950aa46245a
      added range_search and gmm; CMake updates for kmeans
      lars, nca, nmf, pca, kernel_pca
      cleaned up commented code in allknn allkfn. adding the incomplete hmm binding

rriegel (135):
      commit bd7b5d66bd375cba96141d02664da5a36c64eb4f
      finished GNP section
      finished GNP section
      section 4 added
      proof of all-nn
      all-nn and nbc proofs
      proofs, theorm format
      docked intro
      starting affinity revision
      starting affinity revision
      further affinity
      further affinity
      most of affinity
      cutting nbc
      affinity damping
      mention of trees
      mention of trees
      mention of trees
      mention of trees
      pictures, bib
      intro
      reverted
      working on GNA
      working on 2pt
      working on 2pt
      working on 2pt
      working on allnn
      refreshing proofs
      refreshing proofs
      refreshing proofs
      refreshing proofs
      refreshing proofs
      some revs regarding reviews
      initial nbc: upto Algorithm
      first pass nbc
      nbc compiles
      first stab at bichromatic/LOO
      numerical problem fix: clamp positive
      some problem with too small ubs
      bug fixed; appears operational
      something wrong with not labeling stuff, maybe
      fixed commutative -> reflexive for distance metric def
      fixed e.g. -> i.e. (my bad)
      final?
      final
      siam added
      single and multi versions
      nbc changes to THOR - breaks things
      major overhaul of base directory
      minor style changes in base
      removed cursed using namespace std
      forgot base.h
      reverted changes to success_t
      DEBUG_SAME_INT -> DEBUG_SAME_SIZE
      removed a few Makefiles
      guide added
      minor changes to base
      allnn_main.cc documented
      allnn.h minor module fix
      platonic allnn complete
      correction to ot::print comment
      added Init checks; bug fix
      OT_DEF comment, removed dumb DEBUG test
      fx_get_result functions
      mem past-tense names now present
      formatting, dos2unix
      looser mem::BitCopy typing
      fixed dir example -> wwong
      svm appears to have moved to u/houyang
      fixed build.py deplibs
      added deprecated includes
      restored example
      sed tabs to spaces
      fixed Nick's weird tabbing
      exclude trilinos in Doxygen
      DEBUG_SAME_DBL -> DEBUG_SAME_DOUBLE
      removed compiled manual
      revised introduction
      final draft
      more revision
      copying revised, formatting
      THOR updated
      documentation for fx modules
      fixed unit tests include
      removed Makefile; limits.h; ccmem out-of-memory messages
      LOO by index, not dist
      fixed non-BLAS LengthEuclidean
      some memory optimizations
      templatized matrices
      fixed test suite, fixed arraylist ambiguity
      beta revised ot, ArrayList
      rectified missing ccmem.cc
      added deprecated debug macros
      removed loads of test results
      major fx update
      general overhaul for fx update
      added kda
      store -> output for compatibility
      better matching by --help
      todo at top of allnn.h
      fixed Copy -> InitCopy change
      Simulated kdB-trees in THOR experiment
      fixed fx silliness
      fixed config.py header
      spelling
      single tree support
      single tree modification
      bad percent sign
      comment typos corrected
      ENABLE_DISK_MATRIX option, default off; fixes to fx includes, uselapack index_t usage
      parameter type fixes
      fixed cflags for basic_types
      advanced to new fx
      changed ENABLE_DISK_MATRIX to DISABLE_DISK_MATRIX
      DEBUG_DESTRUCT_OK added; DEBUG_ONLY enhanced
      fixed thread.h DEBUG_ONLYs and kde's VERBOSE_MSGs
      fixed QRInit test for new LAPACK
      revert to best working THOR
      reverted to old, better working THOR
      revised nbc for demo
      Rejoice!  --fx/no_docs_nagging now available
      Dataset no longer compiles with warnings in gcc4, THOR no longer uses deprecated functions
      fixed some accuracy reporting bugs in q \neq r case
      fixed emst clust
      preliminary NBC commands
      fixed gcc4 not found issue
      and fixed fl-build-all
      fixed checking for gcc4
      fixed fx/no_output_types name disagreement
      added query point ref node prune
      fixed potentially bad printf
      fixed a much outdated Copy -> InitCopy
      fread/fwrite retval checking
      removed added links and fixed #define LT -> LTSC for OPT++
      removed fl-build's use of j except when specified; corrected some #include's to use explicit paths; other minor fixes to mvu and lbfgs

ryan (305):
      Tabs to spaces (trivial commit; testing gitdub email notifier).
      Minor tabbing fix; still testing gitdub.
      A (potential failure of an) attempt to use alternate headings to make things easier to read as flat text, and also to use relative anchor links, and also to convert 'MLPACK' to 'mlpack' for consistency.
      Conjugatin' da verbs.
      Add download link, for people who come across mlpack via Github but might be better served by a stable version.
      I meant for this to be bold, and vim even told me it wasn't going to be, but typical me, I did not listen.
      Minor change to test gitdub.
      Clarify the warning.
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Slight style changes, and comment utility functions and put them inside the relevant namespace.
      Simple change to test Jenkins webhook.
      Change build status URL.
      Minor syntax change for Jenkins repo testing.
      Simple spacing fix.
      Add .gitignore file for build directories.
      Add new contributor.
      Trivial capitalization fixes for style guidelines.
      Modify tolerances for NMF tests.
      Loosen default tolerance: accelerate convergence.
      Remove some RandomSeed calls for reproducibility.
      Minor capitalization fix for consistency.
      Minor style fixes.
      Use accu(a % b) not trace(a * b).
      Change trace(a * b) to accu(a % b).
      Ensmallen dataset; test speedup about 25x.
      Slight refactoring of dual-tree k-means rules.
      Beginning to refactor dual-tree k-means. So far the Pelleg-Moore rule is properly refactored (well, sort of, at least). Try to move IterationUpdate() into DualTreeKMeans::TreeUpdate(); for now this will make the algorithm simpler: instead of updating on the fly, update after an iteration. It may make more sense to do updates on demand later, but let's make the algorithm work first...
      Add new(ish) executables to 'make man' target.
      Don't forget the perceptron.
      Refactor CoverTree to allow sparse datasets.
      Put the documentation in a more relevant place.
      When compiling, see if ARMA_64BIT_WORD is enabled.
      Check arma_config.hpp when compiling with mlpack.
      Ignore auto-generated files,
      Make sure we use the complete type.
      Use complete type, which simplifies code too.
      Take different types for each kernel and metric argument.
      Don't overwrite arma_config.hpp unless needed.
      Allow Centroid() with sparse vectors.
      Make sure traits are active for all cover trees.
      Refactor FastMKS to allow sparse datasets.
      Add a test for sparse FastMKS.
      Remove unnecessary splitDimension and maxLeafSize.
      Fix change I left in that I meant to take out.
      Don't call exit(1); throw an exception.
      Make Assert() throw an exception too.
      Update documentation for functionality change.
      Update output for Log::Fatal crash.
      Add wrapper for boost::serialization.
      Update documentation: program no longer exits.
      Add list of formats we can load.
      Update CMakeLists.txt.
      Convenience function for extracting extensions.
      Add Load() and Save() for models.
      Move serialization shim to data/.
      Fix syntax and include errors.
      Add boost::serialization to dependencies.
      A few first tests for serialization.
      Add serialization for arma::mat.
      Add serialization for sparse matrices.
      Refactor includes to include serialization code.
      Add Serialize() to distributions.
      Add tests for distribution Serialize().
      Add Serialize() to kernels; not yet tested.
      Allow serialization of linear regression.
      Add shims for arrays.
      Fix typo.
      Comment out unused member.
      Fix memory misuse.
      Add shims for pointers.
      Update comment for serialize() interception.
      Add Serialize() for empty class.
      Be safer with memory usage.
      Add Serialize() for HRectBound<>.
      Add some more tests.
      Update documentation.
      This constructor doesn't take a set.
      Remove unused class member.
      Fix bug where query set gets modified.
      Add sameSet parameter.
      Refactor NeighborSearch like RangeSearch.
      Refactor for new NeighborSearch API.
      Fix traits, other slight bugs.
      Refactor tests for NeighborSearch API.
      Document API change.
      Refactor executables for new NeighborSearch API.
      A first pass at refactoring BinarySpaceTree.
      Refactor tree test.
      Merge branch 'master' into serialize
      Refactor NeighborSearch internals to deal with the tree holding the dataset internally.
      Refactor tests to deal with modified NeighborSearch.
      Document when singleMode is useful and add SingleMode().
      Refactor FastMKS to take individual queries in Search().
      Tiny spelling fix.
      Refactor RASearch to take queries in Search().
      Refactor test.
      Update history.
      Merge branch 'master' into serialize
      Fix glaringly obvious memory leaks.
      Fix #406.
      Add serialization for statistic.
      Fix memory leak when overwriting bounds.
      Add BinarySpaceTree::Serialize() and tests.
      Fix some style.
      Remove unnecessary LastDistanceNode().
      Add Serialize(); remove unnecessary LastDistanceNode().
      Provide per-iteration information; avoid W*H.
      Add sanity check for #428.
      Fix typo that caused rank to be 0 by default.
      Allow the Intel compiler too... not that it works.
      Allow calculation of RMSE.
      Old Armadillo versions needed a second parameter for norm, it seems.
      Refactor to match TreeType API.
      Add typedefs for common tree types.
      Refactor to take a MetricType.
      Make Power and TakeRoot available for other classes.
      Refactor to handle new HRectBound API.
      Further fixes for new TreeType API.
      Refactor DTB to use new TreeType API.
      Specify metric:: namespace.
      Specify metric:: namespace.
      Refactor for new TreeType API.
      Refactor FastMKS to new TreeType API.
      Refactor NeighborSearch to new TreeType API.
      Refactor CoverTree to new TreeType API.
      Minor refactorings and fixes.
      Include template typedefs.
      Add default template arguments.
      Update documentation.
      Update documentation.
      Missed a function for the changed HRectBound API.
      Refactor for new TreeType API.
      Refactor for new TreeType API.
      Refactor for new TreeType API.
      Refactor for new TreeType API.
      Refactor all tests for new TreeType API.
      Add convenience template typedefs.
      Refactor utility functionality into RAUtil class.
      Refactor to handle interally-copying trees correctly.
      Refactor test to handle internally-copying trees correctly.
      Refactor for non-modifying TreeTypes.
      Refactor for non-modifying TreeTypes.
      Document the KernelTraits struct.
      Fix two FastMKS bugs.
      Allow .tsv extension too.
      Update documentation.
      Add DatasetInfo class for categorical features.
      Add tests for DatasetInfo.
      Rename to match other enums.
      Stub of new Load().
      Count lines by hand; and trim whitespace from tokens.
      Flesh out tests for DatasetInfo Load() functions.
      Rename .txt to .csvs where necessary.
      A first pass at the abstractions for VFDT.
      Add a basic comment.
      Finish Range test.
      Fix compilation warnings.
      Remove debugging output.
      Fix epsilon calculation.
      Add some more tests for HoeffdingSplit.
      Get HoeffdingSplit and StreamingDecisionTree to compile.
      Add numeric split info.
      Fix test number of classes.
      Add test: equally good features should not split.
      Implement numeric feature support (though stupidly).
      A more complex test for HoeffdingNumericSplit.
      Fix build warnings.
      Set initial parameters correctly; restore tolerances.
      Add another test for the numeric feature splitting.
      Add a command-line program for streaming decision trees.
      Handle numeric and categorical attributes simultaneously.
      Force splitting after enough samples.
      Fix ambiguities and use of at().
      Fix serialization bug.
      Fix compilation issue.
      Serialization support.
      Add serialization prerequisites.
      Add Serialize().
      Test HoeffdingNumericSplit<>::Serialize().
      Add test for HoeffdingCategoricalSplit.
      Fix (kind of) serialization for HoeffdingSplit.
      Fix a really, really stupid bug.
      Hold a pointer to the dataset info, and serialize accordingly.
      Allow serialization of dataset information.
      Serialize correctly.
      Don't overwrite majorityClass.
      Save the tree.
      Test StreamingDecisionTree::Serialize().
      Add a way to get the probability at each node.
      Revert unintentional commit.
      Fix -Wuninitialized.
      Add convenience typedef.
      Make sure memory is initialized before loading/saving.
      Better main executable.
      Fix compilation errors; add a first test.
      Add better test; fix bug.
      Add NumChildren() to use instead of Bins().
      Add test for binary numeric split.
      Remove debugging output.
      Use easier-to-understand isnan().
      Check isinf() too.
      For monochromatic dual-tree search, the bounds may need to be reset.
      Add a test to ensure that doing monochromatic dual-tree search resets bounds.
      Handle when we have both categorical and numeric features.
      Add a primitive ARFF reader.
      Add a test for the ARFF reader.
      Add another test.
      Test Classify().
      Fix bug that could cause a hang.
      Don't issue a warning for one-column CSVs.
      Use a pointer to the dataset.
      Add Serialization() to NaiveBayesClassifier.
      Fix collision of variable names.
      Do unmapping correctly.
      Test RSModel.
      Be more clear with the warning.
      Refactor range search program.  Allow model saving/loading.
      Force settings of --single and --naive.
      Refactor to allow passing parameters of splits to children.
      Allow specification of the number of bins and observations before binning.
      Remove ToString() from everything.
      Update HISTORY.md.
      Remove special handling for ToString().
      Rename Regress() to Train(), and allow retraining.
      Update API, and add tests for retraining.
      Update for API change.
      Add Serialize() and a test.
      Refactor executable to allow saving/loading models.
      Refactor constructors; rename Encode() to Train().
      This is a more correct implementation.
      Fix bug in test by initializing leafSize.
      Merge branch 'master' of https://github.com/mlpack/mlpack
      Refactor main program.
      Add newline after message output.
      Install the hoeffding_tree program.
      Refactor nbc program to allow loading/saving models.
      Don't print "Required options:" unless we need to.
      Standardize options.
      Better documentation of save failures.
      Better program documentation.
      Refactor main det program.
      Better documentation.
      Only use template parameter for training.
      Add default template parameters for Train() overloads.
      Add tests for Train().
      Add tests for Train() overloads and empty constructor.
      Remove unused rating matrix.
      Update documentation.
      Add Serialize() implementation.
      Add serialization test.
      Fix dependencies.
      Refactor main CF program to allow loading/saving of models.
      Don't use a reference internally.
      Add empty constructor and test.
      Add Train() and tests.
      Update documentation.
      Fix memory leak.
      Remove unused amf program.
      const Serialize() functions don't get picked up right by the compiler.
      A better memory leak fix.
      Add Serialize() and tests.
      Allow access to naive.
      Add Train() with a tree.
      Add a model for FastMKS, to be used by the command-line program for serialization.
      Add tests for FastMKSModel.
      Fix -Wunused.
      Add tests for FastMKSModel.
      Refactor main executable.
      Fix bugs; add KernelType().
      Fix #229.
      Update tutorials.
      Properly list all available algorithms.
      Merge branch 'master' into vfdt
      Use mlpack_ prefix.
      Add mlpack_hoeffding_tree to list of targets.
      Add PROGRAM_INFO() documentation.
      Update HISTORY.md.
      Outline the versioning policy.  (This can change, of course, but I think this is a good start.)
      Bump version; everything from here is 2.x.x or higher.
      Fix dependency documentation.
      Fix build bug.
      Standardize: 'mlpack' instead of 'MLPACK'.
      Use .csv extensions not .txt extensions.
      Fix test condition.
      Wait for long tests with no output.
      Test with arma::chol() not arma::det().
      Loosen bound since it is probabilistic and we have many tests.
      Initialize dsPrediction to fix failing test and uninitialized memory.
      Further loosening of tolerances to increase probability of success.
      Fix test filenames.
      Loosen test tolerance slightly.
      Make Newton tolerance larger so the method actually converges most of the time...
      Ensure a larger set of original singular values.
      Fix -Wmaybe-uninitialized.
      Due to technicalities, the tree we load back may not be exactly the same.
      Update required dependency versions.
      Add headers for files missing headers.
      Add header.
      Add license information.
      Add date of release.
      Remove unreleased features.
      Update version numbers.
      Compile without debugging symbols.
      Remove ANN tests.
      Remove build artifacts / git artifacts.

sooraj (90):
      Initial import
      Removed .mlpack files, which can be auto-generated by bin/mlpack
      Fixed a typo in the comments
      renamed module Syntax to Ast & updated test.ml to reflect this
      update mlpack script to ignore .svn dirs
      minor revisions to AST
      commit baa29d45ef84223500c92022cada0ae956a2bea7
      commit 92b4a2cd0378ced259fa4b255c36681227a55cc2
      added freeVars stuff
      commented out portions of interfaces, updated _tags
      commit 07cfba6ad2d33bdfffeebbd15c160451d75f0019
      commit db297fec3578af3636c702fee210d8bfdd21acb1
      simplified everything to more closely match the thesis
      commit db8f0db1f611afe604557760c0c2e20ffdf2799d
      final simplification pass
      commit 3fa2dd0279b363b6fea297f468c2f5bf1619f301
      commit 13c40bec17d922d1800b9826fdc41597ce722097
      added CNF stuff
      refactored and cleaned up a bit
      toying with interval stuff...
      added the first of compilation transformations
      commit 621aeb9eea32f4f5bc835b955afe4e4e8b5719b1
      added almost all compiler transforms; added an EDSL
      in progress changes...
      all done except compiling disjunctive propositions
      commit 3ef29b017bb563d2f34788d8e31e1989d55e2571
      started on pretty printing
      commit ee0c16258d90420ad3f553ef40b17bd16d97823c
      commit 5814b0bcf28880cf3cfb0176f8203794bb5321d4
      moved files to 'mp'
      commit 2375168d014807f30a311835a338da1c2313b79d
      finished moving stuff around; everything builds
      fixed _tags to be less promiscuous
      commit 470fd776eebd26fe6a39dcc3b781e80f710adcad
      added examples
      fixed a bug in isProp
      started on the disjuction compiler
      commit 86021f88c4070d8ea9055a7976e7af01b4fa8839
      finished chapters 4 & 5!
      fixed minor big in scalee
      added a disjunctive example
      initial checkin of RV writeup
      commit b03f5c8a36e03c1fd6e7bc439099e29d930b1b4f
      commit 23b64b809e91400c4232f2d3c250e82a863dd5d4
      added conversion to prenex normal form
      commit e8a7a311c5e13ba90f38dd509278c72b5a943805
      added some utilities
      commit 0c8acaea1a7c07d11c4a29578f47e778bdc2ab75
      added smallcheck
      commit dc5ef9e87e1db8f9d35422f5a0db1a71f21eed7c
      first sane version of smallcheck!
      removed redundant function def
      moved Show stuff to one place
      commit 9ddb3a7c77db07b3ee44c1066e5c3e4c76ec2433
      refactoring some printing routines
      renamed pretty printing functions to be more accurate
      stable build with a more sensible dir layout
      commit a9e4aafb105c01a07cb66e57e1f92dd31f08d673
      commit 8f6ce0dd08b821d087eeab1e529a6c66f58b2539
      removed [the beginnings of] difference lists...decided not to use them
      fixed the build :o)
      commit 1d79fa5a2eb3a717715ce6a476230b89649a0004
      added a functioning SmallCheck.forAll
      commit c19805b0dd81d3258e0d8e3490865f459d33f85f
      new import
      new import
      fixing botched tylesBase import
      fixing botched tylesBase import
      fixing botched tylesBase import
      commit fbb586fefcd4d61188e006a4d28bc72473bd234d
      switched away from -pack and towards my new idea for hierarchical moduling
      commit f0fedf1a684e7a5f97e1990aa972fa50b49cb8d3
      switched SmallCheck to a new representation
      merged conflicts
      started on Big-M compiler
      renamed 'mp' to 'mathProg'
      fixed build errors
      moved 'pprint' to 'pPrint' for cosmetic reasons
      moved utilities from mathProg to tylesBase; will refactor further
      commit 48137e11261b5f813c622a6940580153e4b78b3e
      moved utilities from mathProg to tylesBase
      commit 897a1cc90bb346b09fd046c6bc4db3e70a71c26e
      commit 173d2246597de0576ac5974bab263c858a07e386
      commit 327fdd5a4121a72fbfa53a2e507b263abd875e33
      cleaned up everything to use TylesBase
      removed util.ml
      commit 932f80828af3d17d63e6e7310e0365f92e726b46
      commit a19650e504084e10444efe461d6eb01ffa47327f
      fixed a pattern-match warning in smallCheck.ml
      added Option.map2

soyeon (172):
      Made it to run on cygwin yeeeee
      I added Soyeon as a user
      Added the LINE_MAX macro so that it works with CYGWIN
      Nick introduces sophia in the world of CS wisdom
      Added the build file that I had forgotter
      Added a more advanced result
      update
      update2
      It compiled
      review&add comments
      10-29 in progress
      update
      Our first attempt to hit the problem
      commit a23d6c923f7ef8cf9df4ac104291434fbf5f0a17
      objective function calculation
      commit 5cb390e7169a5499c84d96b9ddefc6db7a1c16bc
      objective2 is added
      updated
      update
      update
      update
      until 1st&2nd derivatives w.r.t beta
      updated
      until w.r.t. beta, p, and q
      until w.r.t. beta, p, and q
      until w.r.t. beta, p, q, pbeta, qbeta, pq
      sampling
      commit 0de957af5801ff9a7915af80106f046f564cf0e9
      update
      update
      update
      Beforre nick leaving
      ready to debug for the calculation of objective fn
      it compiles
      error
      commit d303e1c909b00f405347a2fe902c63c303ce4179
      commit 3c8e60060e8719318939434e1ae3366db242a027
      commit 9107af7c6c3208feab201de0f9e627ac9aa13571
      done with debugging until objective fn calculation
      commit 686ff00841ad84bd43258cf85b4765b5fead20b4
      commit 73d9a75a9fb6a2ef5fccdcb9296ac17cb5e7242e
      error correction
      compile
      commit c484aa0b6c2be9a62c7ac7d9f31b6c171fae472a
      commit 7d2c981f1e721acd8db16d9a98874de642a13cf8
      commit 4af13e79fa411f081c0fb62b3368995697a4aeb1
      commit fa031e9bb4b5bd04c6e81a9537347272fc8eeb8a
      commit d835be499f331b326dc12c891b978ae8cdd0b9d6
      commit 00224372f039d98fe6fdbea3852e8c82a61c1aa1
      objective fn and gradient vector Done
      Completed objective fn, gradient, and hessian calculation
      commit dce0acf79faa8924c1f234c2f59aee69e46f55f1
      commit f53edc52444a70a28c55f474dd5ca413c9eeb31c
      commit 0fb0c40f864ab5103e984e4c8d4dd8853319b9e5
      commit ee9848b14e3c48f3c30090b3238b3bd0dc67d757
      commit f653688093bf390bd4141d6c5dc1a2d7e32fea25
      sampling compiles
      commit e1d975a9d64fd4f6919d28927ebde93cc622f39d
      commit f60ba2cbaee1f8393bdd4e6fa7aba667b3cb80dc
      sampling works
      commit d90207578dcf26d942878fb9a522438d9a7a5624
      commit 54861cb1f973aba9eb10948c772b1c30de313cf5
      commit 460792ececd733a62e022748aec04047ceb1b61f
      dogleg
      dogleg works
      Steihaug works
      commit 128165463135d83e40d1b0aef43907a143e598af
      commit b9136cfdd857eab598886a853992c1beb30e05d6
      commit cac39504818f8ef693f28bfa1b91e5e3366dfcdc
      commit b23b388576c5419211e77db9020ea731e2e3bee9
      it works
      commit 6e47b28dc0d9bedbc17d54657f8fd5e25e252272
      commit 727e3fb127138614ed443630c06572426f709f98
      commit a8b5b92aac21acacd247ae3b3a95a8dd758c2a4f
      commit 96a01094ef705a8b23f874dfe43d017982fd7d7e
      commit bf9906a194fd7015110c764aca405971bdb71a99
      commit 97c7a0d0f426c76c0f1092943efec0a3391f7ce0
      commit 61004afce88e45f1267702a68bd50aaceb3ef357
      commit 6e177ab8a74d92a0ebc5ac4571c609c842e4efde
      commit 17777fbf79888f42adff387ea241ade03d6d5efb
      commit ba75f060010132fa3817fed1a7f96207cb75fb98
      commit 9a883a25b0eabfef6e59b9ca264fa92f53e160fb
      It is working
      commit 6ecd2d1840cdd1a63a20099a25d1408956fe5609
      commit 22303c2a19ed1367d31904d7db84f05f6088addc
      commit e59c0497fc88e2b5896f517c86701ef843b376ff
      commit fee606d334c0cf197dd053f567cc68e7bb2579fb
      commit bc8465e05d16e30f56896fdbbeedec5647036590
      commit 32ce2f2728c355c9d965e2211a08025228db2623
      correct hessian
      before scaling
      correct one error first_stage_y[n]-1
      trust test
      commit 05ee6a875a9cd787c37908db38a0f0e5ef019b70
      commit e4f40333e208ad0ccf495d9075aa3ce836717b08
      commit 7d2e45f4d76b188bd37f06e9933f6b76f95f34ab
      commit de910cb8d36e15e40845dbb07a9402509a388108
      correction before objective
      correction before objective
      objective correction
      commit 9759005bc72e6a077a225f7dc5d683652bb221e1
      gradient correction
      before handling scaling
      scaling
      check term1 objective
      objective check completed
      gradient for beta checked
      gradient for beta checked
      gradient corrected
      gradient checked
      gradient/hessian checked
      correction completed
      commit a6da3a852a7fbc570636866d586079e1f43dc346
      objective2 correction completed
      checked and before adding hessian update
      middle of adding hessian update
      commit a5412461512432d63428478b99a10f934ce311ad
      commit 30838ed0026785e72419abf9ec0b2f0cbc594503
      commit d82a4903fee2412231136fccb573e1e56a4ceb67
      commit 5afc2e3d71132668d1650c0f89c61434f074df91
      commit 8981c0eab28b6b4f86c33f7c18d949e36892df16
      commit 95977e6103fcce42cc1a102cb7c3a56b13721fec
      test convergence
      gradient check
      approx_hessian
      commit cbb220c1e36056bc8b2d04b55904febb01e36c34
      commit faae4c0047353b39c6b4ab0b396e1550aa2c686f
      hessian update
      hessian update
      hessian update test
      commit 97249f6d556fdd8ca0dd3628ec5c30af269c4576
      commit d6575a076190dbf4cc3788a782e522e205fdfd41
      commit 7ae5733b2e3b08c7ba6b8e664323be2dfd6f1ae0
      commit 278c0d82686c06fb0030af357948f73ea67ed91d
      commit 3d22888899ce6a2c1202a3a22675d91c6147aa6d
      commit 22830dea6228b2bafcbd5aaa7ba99c348aeada4a
      commit bf55cd32826cd83f6b7bdf4f56e62bae8143d24a
      commit 6419f7596e31bc0650659442ed0b29ad8d1440e9
      commit 673253d409fcc254b0d0b0b873dbe216609fa70f
      commit ec2a18f24a38c38dd52acf65acc731a19460487c
      commit 8097297df8e5856aa96cd577a4c79d59bf22e08f
      commit face384930cb26b5e6a3ac50c34fe5137b3d73b1
      commit ca851d8b2e558d4ddb39eb2dc7d13bbd8dd5f2b2
      commit 100592cad6475addd910f0d8023b16db127ca8a8
      commit f62f202a1392db4c45c1acd6216ec3feebb19cc5
      commit 462f898ac6d1233dd922cd3bddfe2ef2455d27f9
      eval added
      commit 314643a89906652e7e5db7555c1d17e533e492ba
      commit d8b01ff8ef81662ff63b0e5ea446830515dc8784
      commit 3b1bd11dc100424cb51629c9443044e914d30ac6
      commit 9747c63ea5d3726074995472a16236bb10b98ef7
      commit 7d0d93392abc6b589e564ba4b44bd7f63f0d01a5
      Some changes in opt++ for soyeon trust region
      getting closer
      now it compiles
      commit 5cb66d44a1185baf76c8b9d9e88446a5a6bcf4e0
      commit 456335121b1826728349d499d6723c1ef47bf933
      commit 6a2e2e5d77c13dafa2f467c8ba889a7216ebac1d
      commit 2d6fbb8da94d84a78971a4244abf5782638fe1da
      commit 8aca707be86231c103f87ea0fe9e73b67136af52
      sgm2
      09_04_09
      commit e1eee3912d544e17f62fc2aa754f8293f57cbe8a
      commit 850657c502162114d3a806a2024114ebc696ece8
      grad_norm 0.001
      09/08/09
      ddcm det alpha
      ddcm2_01_23
      commit 83f51a63ab5fa6209ff3747a4494a2bdb944be23
      commit 28e6fe2dc8ac2a002f0bdae1b48d615b4d2d29f9
      commit 00a42f17001b5af6a2e866323cde280d2521ac54
      commit 3d24c74d43446b6ded8bbf3ded70f5a7bf1ba7a7

ssharfraz3 (14):
      Added Boost program options for command line
      Added Boost program options for command line for allkfn
      Added Boost program options for command line for allknn
      Added Boost program options for command line for allknn
      Added Boost program options for command line for naive_bayes
      Added Boost serialization for ArrayList
      Added Boost serialization for series_expansion
      Serialization to fastlib/src
      Undoing serialization for matrix as of now
      commit 574ed5246be72ad6a1a32193244f981bed01030c
      commit 52445dd863b5d9147a2c626aa862e1ee3d6ae4a5
      commit 848718dc300af49d70de45956c9ea26876dce816
      commit f4d43965c81471fccd45cf8e2f09039d491ecabb
      commit 1d9d3c1cdf47752c1af777debd145ce65d3770fa

stereomatchingkiss (40):
      1 : add function Serialize
      make codes follows the style guide
      1 : remove inputSize from the constructors and data member
      refine test cases
      1 : add read only function FeatureSize
      fix bug--return wrong feature size
      fix vc2015 compile issue
      fix constructor bug
      remove data member epsilon since it only needed by constructor
      fix bug--forgot to initialize parameter scale
      adjust format
      first commit
      add example
      add example
      add the link to UFLDL
      add the link to UFLDL
      refine comments
      1 : Transpose the input
      can adjust the output range
      adjust format
      extract the part of encoder
      use arma::uword to replace int
      implement command line programs of softmaxRegression
      refine messages
      1 : change file name
      1 : change the option name of command line
      make MaximalInputs become more general
      fix bug--range error
      fix bug--sign error
      first commit
      fix compile error and comments
      Merge https://github.com/mlpack/mlpack into visualizeEncoder
      1 : add function Ratio to set the ratio parameter and set the scale parameter
      change Predict to const function
      const correctness
      1 : change ColumnsToBlocks from function to class(place in core/math)
      first commit
      refine test case
      able to set block width and block height
      add new test case

sumedhghaisas (28):
      added module 'lmf'(Latent Matrix Factorization) to accommodate SVD based update rules alongside NMF based update rule. CF module is updated to use LMF module.
      Changing LMF(Latent Matrix Factorization) to AMF(Alternating Matrix Factorization). NMF and CF modules are updted.
      * Modified AMF module so that now it uses tolerance checking rather
      * fixed include error
      * Added momentum to SVD batch learning
      * Templatized termination of AMF matrix factorization
      * Changes in AMF abstraction, Termination policy is made first template parameter
      * faster implementation of SVDBatchWithMomentum
      * modified termination policies
      * error in SVDBatchTest resolved
      * added SVD Incomplete incremental learning
      * added local minima storing functionality to termination policies
      * Added convergence test for SVDBatch and SVDIncremental learning
      * added svd incomplete incremental learning tests
      * remaned SVDIncrementalLearning to SVDIncompleteIncrementalLearning
      * added plain SVD factorization - wrapper of arma::svd for CF module
      * added tests for PlainSVD
      * changed row_col_iterator::operator-- implementation
      * modified PlainSVD module to return normalized frobenius norm
      * minor changes
      * changed PlainSVD to SVDwrapper
      * added documentation to all update rules
      * added AverageInitialization to AMF
      * added NMF, SVDBatch, SVDIncompleteIncremental and SVDCompleteIncremental to CF executable
      * added AMF tutorial
      * added AMF tutorial to index page
      * Adding support for user cleaned matrix in CF
      * Refactoring CF module

tekhnofiend (711):
      added dir niche
      changes in .../u/niche
      changes in .../u/niche
      added .../u/niche/entropy
      moved some stuff, nishant
      moved some stuff, nishant
      updated .../u/niche/tree
      minor
      updated strategy.pdf
      added bi_fdkde.cc
      minor
      minor
      updated niche/tree/bi_fdkde.cc
      minor
      changed strategy.tex to entropy_l2e.tex - nishant
      del
      added tree -niche
      cleaned up stuff - nishant
      added more spacing entropy estimators
      updated jackknifed_m_spacing.m
      nishant, added efficient jackknifed m spacing estimator
      added spectral project - nishant
      added nn_cube.cc -nishant
      nishant
      nishant
      added functional_ica.tex -nishant
      added .../entropy/scratch -nishant
      nishant
      updated functional_ica.tex -nishant
      updated functional dir - nishant
      nishant
      nishant
      nishant
      nishant
      nishant
      added fMRI sign SGER
      updated fmri sign sger
      added niche/fastica
      added stuff to niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated funcica.m -nishant
      corrected funcica.m -nishant
      added s1s2.mat -nishant
      updated niche/fastica
      updated niche/fastica
      moved stuff from u/niche/functional to my local matlab toolbox -nishant
      updated niche/fastica
      added niche/fastica/TODO.txt
      niche/fastica now has symmetric and deflation versions using logcosh, gauss, and kurtosis contrast functions
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      added fastica_full.cc -nishant
      updated niche/fastica
      finished coding fastica -nishant
      updated niche/fastica
      deleted unnecessary files - nishant
      updated example
      updated niche/fmri_sign
      delete stuff from niche/fmri_sign
      delete more stuff from niche/ASL_sign
      changed assert to DEBUG_ASSERT in textfile.cc
      updated niche/functional
      niche/functional - changed names, added test script -nishant
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      added centering function to niche/functional
      added get_scores.m to niche/functional
      niche
      updated niche/functional
      updated niche/functional
      added s1s2_10.mat to niche/functional
      added smoothing.m to niche/functional
      updated niche/functional
      updated niche/fastica
      updated niche/fastica
      polished niche/fastica
      updated niche/fastica
      added niche/RADICAL
      updated niche/RADICAL
      updated niche/fastica
      updated niche/RADICAL
      updated niche/radical
      updated niche/radical
      updated fmri SGER
      added niche/fastica/fastica_stylish.cc
      updated niche/fastica
      updated niche/fastica
      deleted old fastica -nishant
      updated fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated documentation for niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated fmri sger -nishant
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      updated niche/fastica
      finalized code for fastica -nishant
      really finalized fastica -nishant
      deleted old_fastica.cc
      removed Doxyfile in fastica
      deleted test_lin_alg.h
      added a verbose message to indicate what IC we are on during deflation approach
      updated fastica_main.cc
      updated fmri
      updated fmri
      updated fmri
      updated fmri
      updated fmri
      updated fmri
      updated fmri
      added tbi to fmri -nishant
      updated tbi -nishant
      updated temporal ica -nishant
      updated temporal ica -nishant
      updated temporal ica -niche
      updated functional ica -nishant
      updated functional ica -nishant
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional;
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated nmf -niche
      updated nmf -niche
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      added results_gene to niche/functional
      updated niche/functional
      added k_fold_fpc_cv* to niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated niche/functional
      updated
      commit e1228503789ddce6cff5a7a0ef9c8c2071a9fb29
      commit 7f6cdcd037e2124d1aae08b05851a4f7882ed13f
      added pica
      commit 42b1f704e1405a662b99707e55fa59a70e95fdbd
      fixed
      commit dfd10bc6598d0fbc2d9753dccd4cacc256794731
      commit 802468d0178b26a4466f9f2b8e97c90b3a670071
      commit 27f49df779681ad7d589ffdf8a0dcab8726f604a
      commit ec9137c0fc0fbfed26ff5b5526e3ca9065a4cfc2
      commit 2054175fb905ca93e9c4efbb2cdeee5cd7308756
      commit a763d683bab6eb155cc5458a63b70c960974595a
      commit 4f2a5b6a4abd5185f259718ee46fca277a9454b8
      commit 94606e8fbb79b35d1a9d6ea8d2bce98ef7358df0
      commit 037815ef02ac02f45864bac2df541198e6d408a3
      commit b0ea040a889189f475c1b54803e2c5a78f8f5f69
      commit ee5d80d333368e3c105cb74fdf9bbf1ced85869f
      commit 868fae04aa9543c51ac23e37589f43c4e96f1aa9
      commit 536423756bb7a4d3c1b85d7fed999d744aef8915
      commit 8da0c621691340e825718e08956990d22839b4b4
      commit 42e38e81930b5ecee1bdff090524dbe1b70954c8
      commit 83b2874cdc067b694a318e96f400c4b96c922856
      commit 2811f7847f88e0202539431ce6b070bfb0f8bba9
      commit 977d43c337a71270dd53540e69ce8c54c8496019
      commit 659bae2af4148eaf82d1adc255a64d473f112539
      commit ca8a0510834df8586af5ff7252d79a73b852762f
      commit 07ae88c052a465e5d40aaa57a5f65edc97459e22
      commit 27f129ce202f6e9316a3c4617e513844506d7e61
      commit 0aea22a156265d4814bb1c74f452c2d570107786
      commit df32d8f7239e68bb6ba1c499821e2ea1a1d5bca6
      commit c60b25fa82642f738afadaab86d751d82e24367a
      commit 3fd5d7dfb29e76314b3ded7169dde93701fa23ed
      commit 22d4437713298a3b5343e84b9d4381155d4a5c8b
      commit 04723d37860ad55fcd539cf4c176d153319ae061
      commit 16b213d9880ebfd79753997db268ca5757579e0a
      commit f258d1ae30a9df5c426b4a1fcee8c646ee651c93
      commit 0be3de5cd0a38869a7ac79ce6dae2f693cf2d87e
      commit 9513eb4ef255364fdc51c1858e720c54eb349095
      commit 94c2f9889aebfb7acf27caebb83ab84bb904bbf8
      commit 705b52b2af2af01cb703370389f4994acbe5573f
      commit 479cdf1f7d50ae0e72f8a50b1dc7717db502dc1a
      commit 3acb8f4d0fbb37e44f1bc35c1dee2717d4d8ea4d
      commit a0105abd5a0a07355d6bac7de7e0efd2ebe4310b
      commit 1a2646a46456c86b9cd3f8fc5b6285947c563408
      added niche/spam
      updated fnmf
      commit bec053e9b460fcea454e37789e33f2e82b70415f
      commit a1cc3ae531b89e1d0c8bd60fcf346492a805f1da
      commit 9d0046aac8b9a2402b2a3f8c743d47a0f1b544bf
      commit 6989db828a068887701365a234022b897f98d0f6
      commit b5ec42b29be85fdb1b191ae6bd313a41e331e205
      added benchmark_ica.m
      added benchmark ica scripts
      commit cc524a570edc2522f064e241a701b1e52ea9e651
      created kkf for niche
      updated l1reg_klr
      updated l1reg_klr
      removed kkf
      added documentation
      added contrib/niche/hshmm
      updated hshmm
      commit 20ed118450cd6b0a2e44fdf52fb485ce93c461d1
      commit 8f8afd17974064f16a86976f3ed7081e1e497ead
      added code for ObservableKernel
      commit b42bbfb9e4cf33ed537b6ee704127c9bb57a12bc
      commit 924b15c82501060fe3b075557727d155d72ffa67
      commit 151b2ea9a5cf9e24891fa86af5b7fa7088c9c780
      commit 7d2d108433247a251843d22e15e4ee9e209201a1
      commit 47dea76c5c6f93f2474fd78fee63081235c59906
      added niche/lds, preliminary
      added code for multiple lds sequence generation and calls to zoubins stuff
      commit 9698f87545dbca4fc533640b0676b01cfe09f22c
      commit 8445d8806fe92b348ee4d8dd76a689236c307afd
      restructured MMK code, templatized HMM, and added Multinomial distribution
      commit 88fe1bad40c645aff9f832a96a6702664aa0397c
      commit 33d9175118a1e16d5e3b532dc1c90132e938c872
      commit 9831634b0b575ad5bc6d50d90965238803ff696d
      finished load_profile and modified test_hmm_multinomial to compute kernel matrix from file-specified hmm profiles
      commit 7ddee6c6292c1a4f1840027a3c58a2a7a044e26a
      added stuff for hmm data
      commit 9de1b9a6fcf896c06f4eb8c982238302eacf9098
      commit 1c5f55d8c98de626843e88151c97a51a2eb00c26
      commit 96ece25b87b36735644c88d8e0528c203a43da55
      added kernel kmeans
      added hmm_testing
      commit c2c0db744b7bfc59577a9677a047c349f0c2002d
      added niche branch of mmf
      added niche branch of svm
      commit 5f24de754f69f15a22bb9fcf4cfb158a24f1f6b8
      commit d59772e32fb12c4042c0a104f0201766c7283323
      commit ee34110437842a1d78fa3b9b0900f9dc7f00d042
      commit 5a0f65de4a3f1fee67724e3febc428726cc31957
      can save and load data for good testing
      small changes to reflect rbfkernel->mmf
      commit 1f43b62b0268065fd4d509bb90b0b24cd165636f
      changed format of results
      commit e573c744837bbd999d7c968f1178ce8a1fde34e0
      massive speedup for mmk
      commit a1e1e0663c7e5fcab458fa9d21d1c13835a4a9a7
      added testing for array of C regularization parameters
      made parameters member of module
      commit 9668e15166ffb65feb56fc2676368d904a03d3c3
      commit 072c97b485844d2e9a899ad01b1f8b2d2a6730ce
      added kfold cv
      changed documentation and minor param stuff related to cp and cn
      commit c0e75ff15da158e44ba802602ad317e5a5d26aca
      commit 1ad08b7331c606ff4dc861811079b58b690f34f1
      commit 2e1b60b70f6fe5fd51d1f60097a3297130c550fc
      commit f940f0a98aef3c5c5ba831c8dbc177768a123d4b
      commit 3fbe96a298e3692ff3c3f17f6786e3ffdb17de18
      commit fc288616746841ae96fde786f481edddce45004e
      added hmm_generative_classifier
      commit f3928b5cfad9b80dd3fafe303054a54510abd160
      commit 874f8000f5af0a97ed6c7b37274ce88a41762ac8
      commit 24266adafa8c5e40cad3a72a21273a6b503ab8b5
      commit 5b76eddaf6394573d254a423c4f4ab25031c64a9
      modified GenerativeHMMClassifier to save learned hmms
      commit ed53fdc53300a121423971660ca02f25d5f6f13b
      commit 58881f153b2f858ca2b3ba772f6ec07c0ca1054c
      changed tolerance for smo to 1e-6
      commit 9d58532b9899828293cc1b747d89aa9b768fe57c
      commit 2ff6946a675edda5493593381415e30dfb7054cf
      commit 65d0f513ea497dd32d4ce95db9478cb3a7e229a9
      added niche/spike_train_dependence
      commit 62f560365150017622b8d2beb5bd0961192137ae
      finished code for creating points
      commit d2d28baf8ff6f3edb99f57c564cfd67fa3e443ee
      commit d873cf6b70665e51fba1c3b2bea0d54481efb1d8
      niche - started new, nice hmm code
      commit 6a3f62e548abcc9b82a436d8ef6e4066a04b9010
      commit e1108fefc1c3fadd35f5359bba47a9335bc688ee
      commit 0b9336877a942ff0234555b5030d05678297b404
      zhmm compiles
      commit b7ca883325a79b4dcaf8bc3fe9902342c8970378
      commit 1054e79551e15b990b3d75e86ce1a663e2589389
      commit 3dea7a9d32bf9a553701cc6da3486484789b1434
      prelim testing for mixture of 1 complete
      added diag_gaussian.h
      added la_utils.h
      commit 1e9c0b0a856a623067fe4c384eba95608b6a53ad
      finished baum welch with testing, onwards towards viterbi
      commit d744f40381bc5a740680fe9477a70358a0f3e5e4
      commit a0390a4ca52fb054d88f8dfcf45fb0f48dff5961
      finished first final cut of kmeans_nonempty code that uses MCF (minimum cost flow) solver from ZIB
      commit 39a6b21690bfd46c27774558e010fb9daaf172ef
      commit 6d1eeb757c64a0d94a2e7e99d58abf8dd8685575
      more final version of kmeans_nonempty
      commit afaccca0363cec349b371f348cddc7572c5f2cb6
      commit d4bebeb52e04f1d405a9e5c4cd5a382edc9cf3b9
      changed last argument of both CopyColumnFromMat functions and CopyVectorToColumn to const
      commit d3166a4bb807a929cf8539e21b2657c79a75b4da
      commit 8eae721ee2101bb31c8aa9171175b4e8ec6978dc
      fixed memory leak in mixture.h
      commit 621fe6211e41fae13b355a1d799428bb684796b3
      I think the HMM implementation is complete
      I think the constrained kmeans implementation is complete
      commit e6998a3e16150a43b7a823b16be75048ba6d7649
      commit 5b241ab3f08b815e8758685bd17e06a0e589c230
      commit 01b75c375c2c72790e376342ab99850a0ab744ab
      commit c7e1834293706805eed2427c560fa79d9a673adc
      renamed zhmm.* to hmm.* and removed the junk
      commit 5a975a97732a6277eea50d51e0aa73598625ef5b
      commit 573cb1741d7375d1368783c85d72a1eef64684c5
      commit a5e9713ad16601c89285223036ca20f945e81e06
      prelim version of latent_mmk for discrete observations is complete
      commit fc48d6e857fbff3df696f30de28d449e60c2e395
      added generative MMK and isotropic_gaussian
      commit 6955648f0216b53cd0d82b870fe187d05851955c
      commit bc4942d1fd42b5bce66d15116061a2eb129f4051
      added test engine for mmk and svm
      added object traversal capability to HMM and Multinomial classes
      commit c078b36949082f4f2daf91dec84dd4119548cb70
      commit 523c8c03fc5bae8647dfe0ed40481c08bf51abe8
      commit e34c98bb494e753da3701650d8c0cd65c461da44
      commit 9980889cd3e76c0a6c45c701119b49276deef403
      commit b1e9f8f870073b65d023f413ba7b50fae5bf2f51
      commit 3b1a81dc3a8de411fb95b42e3d8db75150396724
      commit 8e331dfb535a0c832ff14a65db78da4729502acb
      commit 947383fcf3b9536565c393ffd24098dfc8078aaa
      commit 03cad5a3845409844b87689512eddb70b32bd3e5
      kfold cv for lmmk
      commit c504d9810576be5240018b691223352a97b2a8d2
      commit 31b1a80a84eebd256a4ee40d5c425195ddc26b7d
      added hmm_kernel_utils.h
      commit 8e6a7c55e7e95e8690417f8a78d89e01774ad666
      commit d9e4018cc5a43f629fcbad4da7feea1c32ac408a
      added test_inbio_kpca.cc
      nearly done with test_inbio_kpca
      finished test_inbio_kpca.cc
      added niche/kernel_pca
      commit 371a81be4a42c52c86cefee2a187b7afa9c81aef
      commit faf223c5970bbee3f2908b38ed068be5d321c375
      commit 4cead5a785fb3a2dd1aaae562b17b82baac52d36
      commit fb81e4a9cda83122a19d2b77e26ddbcbc3d68fae
      commit 053b938e9521252cba2b2fc65f7b273e3701b98b
      commit 08afbfaed42d0f92efe149ee2d0426a71aadb18e
      commit f400e523283a5ebe2cf6d73ae96c2aa33d69371d
      commit 92cc972bf4ec1d03e77ee6711a30826fc38a8058
      added .../niche/bayes_net_kde
      commit 3016f8c36559c367d8d051beefcf00beecf39cce
      commit 0b79411a2e8d14c7adfe972cdcbb87a8244e6071
      fixed bug with Init functions of AllKnn which do not take module_in parameter - now module_ is set to NULL
      commit 65ef1f57cc3b8c535efa909b579b33c0631f34f3
      added loghmm.h - it awaits compilation and testing, added fmri programs
      some updates to loghmm.h - nearly debugged
      commit 0f9d8e8dd0ab9e6197631fa1f314d516f0b7499e
      commit 1c0ad3615159d40e9ae882aca7ec80bef6bcd63d
      commit 76f83dbc0fdd80bb687d1aa9e1b9dafbf3e8a1bb
      commit 8b836cd3f8c8bd9c8865087574991e9c3b91b5d4
      commit f33fd0175d7f941d5eaec24b1fe5eabfe6a29922
      commit 4fbfb437dd2a1d1b1e21b33bc6131bb3e7a9ce16
      commit af768cf62763a27a7ddff9e5ac7e59ca6dbd366d
      commit 6bffca6804e6016622a546522631d7ae33008d15
      commit 061c5601f18185ec85dac6c1c724aa41a1740e52
      commit 44104f9f3fc43d74301680e553794bf5ec1db724
      commit 297b9376bba1be231ffacdf6be52332dc232d47c
      commit 62a98d5b30adbc31e3271ee42355f5648dc7fb7f
      commit dd0fc509f6678035c30a473128dd21775faa6f69
      commit c83427ba68011cb78873c2e7137cd2018cc45020
      commit 09c3e7ed6bcd105a27ea14c5a28adabb37bd70d9
      commit 78a8ae9c57ab094337ff8735a911a4d8220de49e
      commit 90df6b09ca9fefe43ebd96e401f08f6a8163af78
      commit 95eeef07170cc0eeab0240ba9ca5da5519507280
      commit 05d28d25d577a8a4a6b0807b439abb739912380c
      commit f08e72b6ec54438850513b441a4f4b5bf5f31097
      commit b6af4b75e6f6d1d4cc46f5a24ce8e1fd10918fc1
      commit 802da070e92f8a98dcde3eff07e2326366ba8f87
      commit fa85253958f1cdb4ad172a14fe752452e29d09e9
      updates to ppk
      updates to ppk
      hopefully corrected bug in ppk of diagonal covariance gaussians
      added .../contrib/niche/regularizedISM with mvu example of csdp
      added write cvxmod program -niche
      commit 74684d5b2dd19505aedec45e169c7ab279706023
      commit 4315c824d460b05bd0ec148c085bc002718671ff
      update to kernel kmeans
      various updates to new_hmm
      updates to spike train dependence
      updates to regularized ISM
      added initial dynamic time warping code - needs debugging
      holy shit dont use arraylist with capacity version of Init
      commit f20f3d76158386a8a36ae6c021a7f7b245936c44
      fixed InitRaw member function of ArrayList to allocate memory for capacity, not size
      changed dtw metric to normalize cost by path_length
      dtw - final checkthrough
      added dtw visualization tool
      fixed fucking retarded bug in dtw code that was due to hard coding of time series lengths
      commit 3e921bd2a6f2449bcadfd28ab51f3e30b8c25a2e
      finished first cut of multivariate dtw
      added straw man - nearest centroid classifier, yields 47 percent accuracy
      better organized multivariate dtw and added multivariate dtw to dtw.h
      moved dtw.h implementation into dtw_impl.h
      added multivariate dtw that does one global align using Euclidean distance between vectors in R^n
      small changes to how files are read in
      updated code so that user can specify number of ICs to find via num_of_IC. Also, fixed bug in very final step where we forgot to transpose unmixing matrix W before multiplying it to data
      finished with rough version of Least Angle Regression (LARS)
      changed CMakeLists.txt to include lars
      Lars class now stores beta path and lambda path results
      added LASSO modification to LARS
      fixed CMakeLists.txt by removing test_new_fastlib
      finished coding version of LARS that uses Cholesky factorization rather than Gram matrix. Still need to test and tweak
      made some variables private. improving style and modularity of program
      done with LARS and LASSO. need to add modifications for elastic net
      in process of making modifications for Elastic Net; have modified CholeskyInsert
      in process of making modifications for Elastic Net
      elastic net code seems to work!
      added missing test.cc
      fixed a line of code in CholeskyInsert function, related to solving linear system; now a massive bug has been fixed!
      restructured program into lars.h and lars_impl.h and created library
      added project directory for discriminative sparse coding - code is pretty much an incomplete skeleton so far
      file renaming and class renaming, and added disr_sparse_impl.h
      updated CMakeLists.txt
      more code reorganization
      fixed DiscrSparseCoding compilation errors due to class renaming
      added accessor for active_set() for LARS, and changed the check for LASSO early exit to strict inequality from mere inequality, to ensure correctness of active set upon program exit. This last thing requires some testing still.
      file renaming and stuff
      file restructuring
      made cholesky factor a class variable and now am able to return it
      file reorganization
      fixed some minor issues so code compiles
      added discriminative sparse coding to CMakeLists.txt
      finished preliminary version of stochastic gradient descent for local coordinate coding
      some trivial change to main.cc
      bug fix in lars; if all variables are active and we are kicking one out due to LASSO, before we would stop, but now we realize we need to keep running interations, since not all variables are active anymore
      fixed a stability issue; no longer using clever update of maximum correlation. for stability, it looks like we have to compute it by doing an actual max operation over the correlations!
      removed mlpack from library dependencies for lars
      swapped out solvers; now using triangular solvers, and using a function I made called solve_trans; note that solve_trans does not exist
      added preliminary program for experiments on MNIST
      added mnist_main.cc, oops!
      trivial change to CMakeLists.txt
      added local coordinate coding - awaiting testing
      added local coordinate coding project to CMakeLists.txt
      fixed but where in the case of initial maximum correlation being too small, we still ran algorithm and ended up returing wrong solution. instead we can return immediately without running alg!
      commented out some debug printf statements
      added CMakeLists.txt file, sorry Ryan!
      some changes to driver main files
      added local coordinate coding to CMakeLists.txt
      added mnist programs
      added tools, which currently only contains a function for efficiently removing rows from a matrix (creating a new matrix)
      cleaned up LCC code, it seems to work now
      fixed CMakeLists.txt
      fixed CMakeLists.txt
      made lcc main.cc concordant with fx_init; we now accept parameters
      added speed test to main.cc for tools
      switched call to lars to use cholesky
      modified LARS to optionally accept Gram matrix as parameter
      removed a debug printf
      modified LARS init functions so that they allow reuse of memory that originally stores input data
      changed random initialization of dictionary to sample from unit normal rather than unit uniform
      cleaned up test for removerows
      added mnist experiment executable for lcc
      moved existing lars implementation into old_lars, due to possible issues
      added newly coded lars implementation
      moved old lars implementation into isolated subdirectory
      fixed some #defines and such in lars
      fixed include file name for main.cc
      minor changes to mnist_main and some changes to lcc_impl.h to handle multiple iterations of the optimization algorithm
      added GetCoding function to lcc class, and created executable for testing synthesis quality of a dictionary
      forgot to add executable for testing synthesis quality; now it has been added!
      changed lcc implementation so that DoLCC does a final OptimizeCode step so that, at termination, we have a learned dictionary and the correct coding to that dictionary
      small changes to mnist_main and changed local_impl.h so that it correctly outputs percentage sparsity (forgot to multiply by 100 (!))
      added executable for discriminative LCC for MNIST
      fixed bug in ProjectW
      added code for Pegasos algorithm. have not yet implemented mini-batch version
      changed list of bugs. now there are no known bugs
      added pegasos to CMakeLists.txt of niche
      added mini-batch to pegasos
      changed mnist executable to use pegasos
      added function to discr_sparse_coding to set w, and changed mnist_dlcc_main to compute svm loss via a function
      changed frequency of iteration number output
      uncommented projection step
      changed prototype for LCC::SetDictionary so that passed in mat is const&
      changed mnist_main to allow specification of initial dictionary
      switched two usages of fx_param_int_req to fx_param_double_req since the latter allows the use of scientific notation
      switched a few usages of fx_param_int_req to fx_param_double_req since the latter allows the use of scientific notation
      fixed a horrendously inefficient minibatch implementation. now the cardinality-k-index-set sampler (sampling without replacement) is very efficient
      changed neighbor_counts to uvec
      changed display of loss in mnist_dlcc_main, now store loss results via fx_result, and slight tweak to SGD learning rate
      changed discr_sparse_coding files to fully implement discriminative sparse coding, but not discriminative LCC. previously, we mistakenly had implemented some weird nonsensical hybrid between the 2!
      added test files for dlcc
      added everything for sparse coding
      added sparse_coding to CMakeLists.txt
      changed InitDictionary(filename) so that it accepts fullpath of dictionary and does not assume some directory exists
      added mnist lcc test files
      added some mostly empty files for sparse censorship
      commit ad6a4e50c0859362a62e5ad1451482b2a23a16d3
      commit 43b3ef7e9673690474ac5cd740f4f7910f02e02f
      stub
      commit b14368b4932257b3adae87b210d495bca9e70976
      commit e62ef98b523a0135e3ab4b358c3836baebf9be9a
      commit 73416808e91b6001c28ce1f4c673538d1b58d6a5
      commit 03a298859958c850690ffeadf3eea28b6f2685cf
      commit 3b8b34d65e9c9deb7694372ab0a2260faec80ada
      commit 9cd4beefaa4e0f7deac89c93c38acef0dc3a615a
      commit 79aa7413e3aca83dbd93399b611a5f4418d05a3a
      commit 5a1b847337f9a53cc23d1aefb750f4c1db28eff6
      commit 5d5043f255cedabbda9ba04ae74811ec1825dd64
      commit 7bc76aa8b90e14998f43d80ee7c8eeb35a5ebf17
      commit 3c7d41bc1d9998447d959760e906cfc7e58ddca9
      commit 08c0568053c6f006aadf2e103c8a6dcdfb284301
      commit 30b92dc1da7f15ce163f2264d51705ed3a5389e1
      commit dfb7fd23c47d0371eeeb271bda9b00e322ebe895
      coded update for variational parameters for q(z)
      corrected E step (computing variational parameters for q(z)), made it work in log space to avoid numerical under/over-flow, and pushed it into a function called ComputePhi.m
      commit 3a2a40166776270d424de2176be063b70ba969a9
      commit 8bfcb9a58bf095781bbf79ed6833b7c2b98ab6d9
      commit e027796ae2223fd706e13001574ac36844b8bed8
      commit cb14d541a3df9e054c52715bf99d09a8cf75eed0
      added gradient and Hessian computation for theta
      added ThetaObjective
      changed name of sparse_censorship to SparseCensorship
      commit 606939c67759d7ae7228a6e1630ae82aafee759e
      made a start on BetaObjective - need to address issues with storing the Hessian
      changed ThetaObjective() so that it takes into account theta_bar. Also, added ThetaBarObjective so we can update theta_bar
      created EtaObjective, need to fix the parameters taken by EtaObjective and BetaObjective
      first version ready for testing
      fixed small bug in BetaObjective.m
      Fixed some bugs. It runs now, but EtaObjective runs for way too many iterations (perhaps due to higher regularization of 0.1 as compared to 0.01 for BetaObjective)
      started on exponential family sparse coding implementation from Lee et al.s paper
      Dictionary Updates seem to work; now to handle the sparse coding step
      fixed bug in DictionaryProjectedGradient and ComputeDictionaryObjective - I was doing some computations incorrectly due to erroneous notes. I still need to handle the Armijo line search for UpdateSparseCodes (taking into account subgradients, somehow...)
      UpdateSparseCodes seems to work
      added some efficiencies and added function to compute full objective
      made the code MUCH more efficient in various places
      fixed a sign bug in ComputeDictionaryObjetive.m
      added load script for tiny version of rcv1
      isolated gradient computation for Dictionary of Poisson Sparse Coding to its own function, in order to make way for specialized functions for each exponential family (for the gradient and objective only)
      added ComputePoissonDictionaryGradient (should have been added at the last commit!)
      changed ComputeDictionaryObjective to ComputePoissonDictionaryObjective
      fixed function name inside ComputePoissonDictionaryObjective.m
      made some changes so that Poisson Sparse Coding has its Sparse Codes objective and Sparse Codes subgradient moved into functions
      shifted more code over to Poisson specializations. think Im done now. Also, found major bug in UpdateSparseCodes, where we were left-diagonal-scaling the dictionary matrix by Lambda instead of sqrt(Lambda)!
      commit 009593c05034e935aafec09e6ca64359f35edc1a
      small fixes, mostly syntaxtual
      renamed ComputeFullObjective to ComputePoissonFullObjective
      made PoissonSparseCoding call ComputePoissonFullObjective
      commit c5038115df78b3913f21fb263d98616cb271e55b
      added functions for Bernoulli - need to check them for correctness tomorrow
      lots of changes, put in Bernoulli sparse coding and added option to choose whether to do Poisson or Bernoulli
      commit 0f83698a6fac1be01c60da85510c8c1ad856a7b0
      commit 5efef8a5a141bf965c56741445428327cfa5c54c
      commit ccf09e175e2e5fe682ed725ae87d908bd8c2148e
      added functions for Gaussian sparse coding
      added support in ExpFamSparseCoding, UpdateSparseCodes, and DictionaryProjectedGradient for Gaussian Sparse Coding
      found major bug, we were mistakenly dividing the l1-regularization parameter lambda by 2 when calling l1ls_featuresign, but all other computations were not concordant with this!
      mnist_sc.cc small change to shrink dataset for quick experiments on newtons method in the dual
      added Init and armijo line search for newtons method in the dual
      commit 5c436b179e313194bed39285ac0162a72b01a91f
      commit 2ec810d3562267f9514ee62180a13c0f493bd103
      commit 419134f4ca563f24d009959a4d99cda42d6017b6
      commit 9e2516ea6847d37f3042ee596252f2eb78aaca4a
      commit 374c2b26afb4ec7b169627f2f876167eff3e41e0
      commit 9737d4b05e7c080d2edfb7488f1a3fcb1e7d6491
      commit 05c0ca6a1740f7d5b0fd0ba0c5515c38667174dc
      commit ac0222ffa0222d0de1fc724a5768a3eb082ddebe
      commit 24600bb2aaa8f0c66bc8dea5e6f4380b229d17fd
      added some plotting tools
      commit 836f5d4bc666ecbc6b3199495b878099cf232bdf
      commit 836cd76f405a43af62ddabbf74e63714466c5448
      commit b9d5c53dae27ebab57bd5f245c4f1f2e334c467d
      commit 5e8525b4744df53480c41c5d39ee605625f351e5
      commit 2158a3729ab8392c5e2ec7da50f238ba12a7e5e2
      added task sparse coding directory (matlab version) with basic blocks in place (lpsvm and pegasos)
      added first version of TaskCoding optimizer
      trivial change to TaskCoding.m
      changed minibatch size for pegasos
      now passing delta parameter to lpsvm, as it fails miserably otherwise
      fixed way of sparsifying codes in generative model
      enabled projection step, although I still do not know if this is necessary
      added error computation
      various changes to TaskCoding.m
      added sparse perturbation versions of Gaussian Sparse Coding
      added some run scripts
      added code (needs to be debugged) for convex MTFL
      added argyrious convex mtfl
      commit 7fdad7cca159e354fa681461d357d80fb690317f
      fixed
      switched to LP formulation of one-norm SVM, in search of stability
      commit fde20285a41b754fee765c87606e6a54ee2560b0
      added pegasos minibatch without replacement (bouttou style)
      commit 67f0df2d6cead8f6b6f44002c6b5222556df8899
      commit 817d7334ffc466f8dd5ce05fefe7975da2169f60
      commit 617fe13affaeacba0efaa1a896251cf2364f4145
      fixed bug in Learn.m where we accidentally have the same variable name, n_iterations, to represent both n_iterations to run convex multi-task feature learning and pegasos
      commit ac986a1c3dc05aacfa46590db084ba938deeb50a
      commit ac10b79eef6f5ee2df5b11fb210f58580dfb2e52
      commit d27a1edc5e7c81fb0f49785e14ef43475856d08b
      commit 033a4f095135c3d59cc75e3cb04fdc1fda6eda3f
      commit ee2bcb15f62d971ee1e7fbf29957837285d45dc9
      commit 3ed22b5651caca29b370d0beee4c76ab78ad9c23
      commit 00ece1f666f6ed5f317fe286af9ea8a539bf44a0
      commit 41340bdebac71c851dbfd08b8ab7da36549142e8
      commit 60026104619bf1929104e8bcea9a03042050667f
      commit af6a478f1f2dc9ba16775b59248ade947990de13
      changed GenerateSyntheticData so that all atoms are unit norm
      temporarily changed TaskCodingWStep to use svm_lower_bounded_margin
      added svm with lower bounded margin
      added pegasos with lower bounded margin
      commit fb5b4004ef4726df16aca3392212795627887939
      commit d53aef601575dc43329908ceb3daa29ed0d87977
      changed some display stuff, and now normalize initial W so that each col has unit norm
      faster, via precomputation of X * diag(y)
      display aesthetics changes
      added display of sparsity and nnz for Q
      commit 47251b6d38e98f83efd2c276a0197f0f697ad276
      added preliminary version of censorship experiment
      lots of changes, including loading of bush half censored dataset
      added lars, mostly due to Karl Skoglund and Jingu Kim
      added Gaussian Sparse Coding using lars (with simpler code that does not generalize to expfam case, as well as perturbed version, and MTL version with perturbations
      added negativity constraint to dictionary perturbation
      added active set algorithms for nonnegative least squares with l1 penalty, as well as nonpositive least squares with l1 penalty (both algorithms are nearly identical)
      added same as last update but using cvx (probably a lot slower
      added function for censoring based on some proportion of occurrences of top 10 words in a given topic
      forgot to add this objective function
      added another censorship script
      commit 398825e81adc0f9ab5423aa09e59d0382f5fcba8
      commit c25fb56a7c52f40bf53b6ba391f86334da091236
      commit ebfd37f7e196a2fc9af00476ad8b8788b37cd821
      commit c85e6e40bf1388d0468b15226e110a228981bf33
      changed CMakeLists.txt for radical so that compilation works in .../mlpack
      added radical to CMakeLists.txt
      Apparently an adversary swapped every occurrence that should be data.n_rows to data.n_cols and vice versa. This has been fixed, and LARS works once again
      added LARS tests, but still need to make small changes before adding to CMake
      added test cases for lars
      commit 9d7bfce6a6865c1a827c6a792e8ece1f8295ac11
      various style fixes to radical
      more style fixes
      I think I fixed two bugs. need to check tomorrow
      we no longer store the data matrix matX as a class member, we changed the call to WhitenX (it is now called WhitenFeatureMajorMatrix), and added comments
      put Radical in namespace mlpack::radical and moved WhitenFeatureMajorMatrix out of Radical class but into mlpack::radical namespace
      added lots of comments
      small fixes to radical_main since we present radical with a n_dims by n_points matrix
      made some speed optimizations via manual profiling
      some speed optimizations
      added data needed for Radical test cases
      commit 9b236c843b5ea5760e3dea285e83b10d7938e990
      updated radical main
      added test case for radical
      added radical_test.cpp to CMakeLists.txt for test cases
      updated radical_test.cpp to use data::Load rather than .load
      fixed small filepath bug
      you can now set the input and output filenames, as well as the options, as paramters
      cleaned up lars_main and added command line options
      stylized lars
      removed unnecessary files
      removed unnecessary file
      fixed CMakeLists.txt for lars and switched from _impl.hpp to .cpp
      commit c145a37573d34b318b316cdc08debf306b6e2491
      many style fixes, made some functions private, commented out some unused functions
      cleaned up lars
      LARS no longer has X and y as class members. They are passed into the main computation function DoLars
      updated lars_test to reflect changes to lars
      increased tolerance for RADICAL test
      removed random seed from radical_test.cpp
      added some comments to LARS
      more comments for lars
      penultimate set of lars comments
      moved accessor definitions for LARS from lars.cpp to lars.hpp
      corrected elastic net / lasso objective function in the comments. I had forgotten to put the 0.5 scaling factor on the reconstruction error part of the objective
      added sparse coding
      commit 1275bafa43a1e245eba7663caf6457e4ccc8a6e5
      added small 500-point version of MNIST
      fixed CMakeLists.txt to reflect correct demo program name
      fixed small bug in lars: sometimes after kicking a dimension out of the active set, we also need to explicitly set the corresponding coefficient to zero. In that case, we were saving beta to the end of the beta path before the fix. now, we save beta after the fix. This fixes a bug
      fixed a bug in how we were checking the optimality conditions for the LASSO. holy shit, an error in the test case itself!
      added test cases for sparse coding
      updated path to mnist file
      added modifier (setter) for data X
      added sparse coding to CMakeLists.txt
      added sparse_coding_test to CMakeLists.txt
      added local coordinate coding to methods
      commit 5edaf7d77e68c5ab67542604349789394d24efd7
      added local_coordinate_coding to CMakeLists.txt
      added tests for lcc
      removed some commented code that no longer is needed
      when useCholesky=true, we now use a once-computed Gram matrix for inner product computations between points. If one is calling LARS repeatedly with the same data X (as in sparse coding), one should use SetGram even when useCholesky=true, and in particular, it is better to use SetGramMem
      Switched to Cholesky-based LARS. this version of LARS now uses Gram matrix in some places. We use SetGramMem rather than SetGram to avoid copying Gram matrix unnecessarily. Also, removed some commented out that was quite old
      added some commented out debug statements
      added back in accessor for matUtriCholFactor
      modified OptimizeDictionary to return norm of gradient of Lagrange dual (with respect to dual variables)
      fixed test for sparse coding dictionary step - the dictionary step now runs for more than one iteration, and the check is to see that the norm of the gradient of the lagrange dual (WRT the dual vars) is sufficiently small

theSundayProgrammer (4):
      Compiles on VC14
      mlpack build
      Serialisation tests pass  except DET
      all tests are passing

tqlong (127):
      commit dffbf8bacd1d69ec03d74b24989d0408810fb4b9
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM codes
      HMM README
      FX compatible update
      resolve deprecated functions
      graphical models : basic data structure
      tqlong: graphical model : sum-product algorithm
      tqlong : graphical model - bipartie graph template
      tqlong: Graphical Model: FactorGraph to be template
      tqlong: Graphical Model: move definitions to gm.cc
      Quic SVD error incremental update
      QUIC-SVD tested on small matrices
      QUIC-SVD bin rule quicsvd_main with command line parameter
      QUIC-SVD doxygen documentation added
      QUIC-SVD add timer
      QUIC-SVD add timer to fx documentation
      QUIC-SVD small changes
      QUIC-SVD add lapack svd run time
      QUIC-SVD add lapack svd run time
      QUIC-SVD add relative norm difference
      QUIC-SVD small change in comments
      quicsvd_main with exact error estimate to be compared with the algorithm's estimate
      kernel matrix generator
      kmg
      kmg
      kmg
      kmg
      quicsvd_main add S*VT to output options
      quicsvd_main add S*VT to output options
      quicsvd_main add S*VT to output options
      quicsvd_main add S*VT to output options
      add polynomial kernel matrix generation
      MMF
      MMF triple
      MMF triple states
      MMF sum to unity
      MMF sum to unity
      hmm
      hmm
      hmm
      hmm
      mmf
      graph
      graph
      graph
      optim
      lbfgs
      svm_optimal
      svm smo
      svm smo
      svm smo
      pso
      kfs
      2dPCA
      2dPCA project on major basis
      Passive Aggressive
      code separation into more cc and h files
      code separation into more cc and h files
      add cross validation
      noob test CMAKE
      noob test CMAKE
      affine NMF
      anmf
      anmf
      affineNMF image_type
      affineNMF image_register
      affineNMF CMakeLists
      tqlong CMakeLists
      affineNMF register_all
      affineNMF ANMF_test main
      optim::NelderMead
      optim:GradientDescent
      optim::L-BFGS
      optim:L-BFGS
      Graphical Model
      Graphical Model
      Graphical Model + BOOST
      Graphical Model + BOOST
      Graphical Model: variable belief + factor average
      Graphical Model: Message priority
      Graphical Model: Message priority
      commit 8aa7b267a3cf33a4da1f207320f66d9d55e5dd2b
      commit 36efdade0d5b66acc89c6f2f48662c639295a38f
      Graphical Model : message pending
      Graphical Model : message pending
      message pending
      commit ce284cfe5659e4a43f87b0d60be7c973109671e7
      commit b1e34f818912f29453973d1388fe83e4d800d0a6
      Revert CMakeLists.txt
      add parameter --method to gm_test.cpp
      Adding --iter & --ctol to gm_test.cpp
      Affine NMF: graph matching using Hungarian method
      Affine NMF: graph matching using Hungarian method
      Affine NMF: graph matching
      Template for maximum weight matching in bipartie graph
      learning Qt codes
      learnQt add KeyEvent to mainwidget.cpp
      learning Qt translator ZH -> VI, some shortcut key added
      Graph Matching: edge detector
      auction algorithm for assignment: drafting forward_auction() function
      auction max weight matching - done forward Auction
      auction max weight matching - done forward Auction
      auction max weight matching - done kd tree with median splits
      auction algorithm using kd tree completed
      auction algorithm: start allnn dual tree
      auction algorithm: start allnn dual tree
      auction using kdtree: command line parameters
      auction: kdnode
      matching : kd node with statistics
      matching: single tree
      matching: auction templates
      Nocedal optimization method for machine learning, implementation via Boost.MPI
      cross-match read data file
      cross-match calculate run time
      feature selection using submodular function inducing norm: started
      l2loss l1reg
      l2loss and logistic loss
      l2loss and logistic loss
      adaptive Lipchitz constant

vasiloglou (476):
      first scheck in
      added some more files
      removed some files
      commit 0da2d15efaa4f63819ba03879672bd31522fd66a
      Working on it still
      HyperRectangle unit passed unit test
      added a new file
      still working on it
      still working on
      node test compiled
      still working on it
      node_test passed
      still working
      Switching from TYPELISTs to stucts
      Still working
      close to compiling
      compiled
      finished binary dataset iterator
      Building trees seems to work
      Tree building works
      Single tree methods are running
      Possibly AllRangeNearest is running but unit test doesn't
      Unit tests are passing with success
      Added timit
      Added some files
      first check in seems to work
      first check in
      added to the repository
      Close to compile
      Find out how to compile sigsegv
      Ready for debugging
      Fixed some bugs
      Partially runs but the paging doesn't work properly
      Unit test seems to pass correctly
      removed some printfs
      put everything under a namespace
      Added namespaces in the allocators
      fixed it so ti can link better with fastlib
      Fixed some incompatibilities
      Added a build file
      Improved build file
      First check in
      Added a build file
      Fixed build file
      Trying to use both engines
      Making it compatible with both memory managers
      fixed the test, it is running properly
      the test is running properly
      All unit tests are running properly
      Everything is running smoothly
      Now all the tests are running fixed some major problems in the tpiemm
      I had forgotten the build file
      Fixed a bug for all nn
      more bugs fixed
      doing some optimizations
      fixed some bugs for the tpie memory manager, still the overhead from the access is very high
      I am trying to build a balanced tree
      hrect_test and node_test are passing with the new lock method
      trees are running very welllllll, passing tests
      fixed a few bugs
      fixed mahor bugs that woudl stall the system,
      fixed the bug for SIGSEGV
      Major revisions, I added the knn_node , trying to figure out whether
      Compiled
      Made major changes so that it can accomodate for different nodes, node and knnnode
      Seems to be running
      There was a fucking bug that took me 5 hours to find
      Removed memory locking from memory manager, because it creates problems during tree build
      Changed so that we can input big integers from the input
      minor changes
      fixed a minor bug in collect newarest neighbors
      Trying to make the balanced case work
      Made speed up in memory_manager_with_tpie
      Improvement in the TPIE MM now it works faster
      associative memory
      A bug in collecting the neighbors was fixed
      Haven't tested yet whether the balanced tree works but at least compiles
      Collecting results in test files
      Minor bug
      Forgot to add build file
      forgot to add it
      Garry changed the the Vector alias, temporarily not working
      Added documentation
      Something is wrong on heater
      Printing the command line arguments
      minor
      We have to set Knns=0 in the reference tree
      Compiled
      better
      first checking of the proposal
      commit 83164b34551c4a1cb7c4a2625ae0fd7285d55735
      commit 02624b75eefaf057e732969d51378836fc170f77
      added intro
      added the paper on bandwidth tuning
      more corrections
      more
      added some figures
      started adding figures
      getting closer
      have to write more on work remaining to be done
      commit e824a36e4b81dbf594adffbe37dabab7e93b99a3
      wrote more on semidefinite
      one more section to finish
      remove some temp files
      close to first draft, Speech recognition is left for last
      added bib file
      references added in the manuscript
      getting there
      tables added on cache performance
      several changes, fixed images, changed title. Looks more like a document. Ready for proof reading
      one step before submission for revision to Alex
      almost ready
      some more edits
      Added Alex's comments. Ready for the final review
      before the final review I need to fix some references
      after Kelly's corrections
      Submitted
      added the proposal presentation, still draft
      getting closer
      incorporated some of Alex's comments
      This should be the final number of slides
      after second alex's comments
      commit f1cc8f8ee759743982988b9ec6dc406c8a96c4e2
      added the flash animations
      added more flash
      converging
      almost done
      nearly ready
      corrections before the first dry run
      more corrections after the first dry run
      before alex
      integrated Alex's comments
      more corrections
      before dry run in fastlab
      after the dry run
      before the official presentation
      minor updates
      first check in
      before antonios results
      almost done
      commit cdcb526194282a47a813bcd788883db6dcafa5c1
      commit 2fd0e8fc6f034cb6ee71888b961030e8f405c47f
      commit a770c616e970f649285ba7cb31d7d8d4326b5694
      first checkin
      this version of max trace is running. We actually needed to scale the objective function with something small (a*Trace(X)) a~10^-4 so that the dual becomes feasible.
      working
      removed binaries
      added swf and wmf
      commit 9748b8b19744c2f5d05a6b956da9e9f1e76149f6
      commit 72676713b4b666fb84c27446801fdb793eef1d3e
      first check in
      First check in
      decided to add sparse vector
      close to write tests
      getting closer
      not compiling yet
      compiles but doesn't link
      sparse vector unit tests running
      :
      compiles but it doesn't link, there are some undefined links
      compiled !!!!!!!!!!
      sparse matrix works now, unit tests compile
      added einvalues but it is not 100% functional yet
      This is the first check in of the trilinos package
      removed a binary file that was accidently checked in
      This one is perfectly running
      added more functionality
      Compiles but it doesn't link because our blas library is missing
      some minor corrections to the headers
      added the clapack and cblas definitions in the la namespace so that they do not conflict with trilinos
      implemented the rest of the multiplication. I also need to implement
      added ifpack that does the factorizations that are going to be implemented
      Added complex routines for blas lapack but they compile as a separate library
      now it links with comples blaslapack  so that everything works perfeclty with trilinos
      changed Epetra_ConfigDefs so it looks for Epetra_config.h in the same directory
      Eventually working, links with all blas libraries and the headers have been corrected
      eigensolver works
      allmost running, most of the test except for basic operations are running
      fixed the copy constructor
      all running, a small  correction in the copy constructor needed
      everything is running !!!
      This package works
      added all the neccessary files with the appropriate modifications
      added incomplete Cholesky factorization
      fixed ifpack_ConfigDefs.h so that it compiles
      Trying to make things compile
      compiles
      major bug the sparse_matrix.h was linking to the incorrect version of sparse_matrix_impl.h
      It's working
      Made the autotuning for eigenvalues
      Added a simple bandwidth estimation routine
      Added LLE but not debugged it
      changed the style
      changed the style we need to fix the eignetest
      Added the allknn so that I am compliant with fasltib
      it is running
      added the test set
      close to run LLE
      runs but there is an instability in
      corrected so that MultiplyT returns a symmetric matrix
      minor edit
      minor edit
      Optimizing the eigensolver
      Seems to work although LLE gives a singular matrix
      Added a function to export to a test file
      fixed some style
      doxygen is working now
      more unit tests are running now
      1)Fixed bugs of addition and subtraction
      I changed the way get works after fill complete
      Added more documentation but I haven't fixed the code after changing sparse
      major bug with set fixed
      fixed major bug in makesymmetric
      Made sure that the pencil has called EndLoading
      Added least square fit with the unit test. It is just a simple application
      Working version of allknn
      Made it a little simpler
      changed it so that it links to the allknn library
      fixed documentation and doxygen
      final version
      Fixed some bugs in Copy constructor
      fixed some bugs
      changed the documentation a little bit
      fixed some potential bugs now that sparse matrix has changed
      fixed copy constructor
      first check in
      minor edit on the build file
      compiled
      it is running but the optimization error is increasing instead of decreasing
      major revision
      seems to run although it needs to be cross tested with a swiss roll example to
      I had forgotten to add the test
      it seems to me it is working, it is just a matter of tuning the parameters
      it seems to work
      finished the BFGS
      ScaleRows works with a matrix too
      BFGS is not running properly but we are getting there
      Fixed the query=reference case
      it is running all bugsfixed
      it is terminating now
      it doesn't give the expected results on the swiss roll
      It works suspiciously
      this one seems to work
      commit 6e2a04cb3dd6e9a038dc8aab228f46bb55d49791
      changed from armijo to wolfe and now it works it is much more stable
      commit c51e54c8a84600ed615d69428031cee894e19531
      Added a maximum cap for the infeasibility
      After a major reorganization that didn't necessarily give better code
      compiled
      uo and running
      changes in the cap
      Compiling
      Remove some binary files tha accidently were added
      test seems to pass, we have to check for the validity of the results
      It is working
      some minor modifications, tests seem to run ok
      several bugs fixed
      fisrt check in
      Some minor repairs
      Implemented the member functions
      Added some extra files
      more
      Added a recorder for the final results
      compiles
      I need to get rid of some warnings, it is running
      There was a bug with the num_iterations that wasn't initialized
      Trying to solve the submodule issue
      Eventually it worked without warnings
      Now the submodule works better
      fixed a couple of bugs in the max furthest
      close to automatic tuning
      auto tuning seems to work at least for swiss roll
      Log the lower bound for optimization
      auto tuning on
      fixed a minor bug
      fixed another bug
      fixed the initialization of LOOCV
      fixed the same bug
      added pca preprocessing
      first check in
      few corrections
      added the example for memory_manager
      Fixed some bugs and passed a simple test
      Still working on the dual manifold
      Seems to compile , I have to remove from svn at some point
      Test seems to converge.
      created an application for working with the movielens
      Removed these files that were redundant
      Making it more natural
      results seem promissing
      some minor fixes
      I have done some development on L-BFGS-B
      fixed some issues with svd
      hasn't compiled yet
      it is running
      changes the way midpoint is computed.Added a function that overwrites on an initialized vector
      development done, now it is time to compile
      compiles
      some trivial parts are running
      doing better
      still is not faster
      Getting closer
      first commit
      added more files
      close to compiling
      compiled but doesn't run properly yet
      fixed the error in the gradient now minimizes
      it seems to work , needs to add an svd on the results, svd on matlab showed positive eigen_vector
      it is running now!!!!!
      it seems to run very well for rank one only although I haven't checked the results
      Put the code in order, and ready to play with the original formulation
      It turns out SDP with rank one gives the same error with just simple NMF
      changes name
      Our last attempt to make sdp nmf work
      addded more files
      compiled
      gradient gets nan, probably because somethins is unitialized
      now it looks more stable but doesn't converge yet
      it is running for a small matrix with 31% error and it seems to me something is
      extended copy for matrices
      the convex mvu is sort of working not sure yet, the results are poor
      some problems resolved, the barrier is not working properly, there is the problem
      the bug in the gradient was found now it is working but it seems to me that the minimum has a lot of points
      extended nonconvex nmf
      Corrected some depreciations
      Fixed some depreciations
      Fixed some depreciations
      Added geometric nmf implementation too
      added a directory for disk allnn
      Introducing disk trees and advicing
      This version works and records correctly the memory_usage
      Fixed some bugs in the memory manager Advice and I fixed some bugs on the trees
      Added support for large datasets, it loads them with StaticInit that maps to mmap file
      Put it under fx_module
      We needed a code for allnn
      Added the test file in the repository
      Traditional allnn
      Minor update
      Further changes in the tree
      Median splits seem to work
      Updated to the latest fx.h
      Fixed some warnings
      Fixed a minor warning
      There was a problem with kdtree_mmap_impl.h in general this part of fastlib is not well developed, kind of hacky, it works now
      Additions for Nadeem's requirment made, they haven't been tested yet though
      It seems to work although I think the file is not a good one
      Added the golbal optimization nmf files
      Close to compiling without errors but still a lot of debugging is waiting for me in the logic part
      Close to compiling without errors but still a lot of debugging is waiting for me in the logic part
      Need to put some extra progress notifications and we are ready to test
      The algorithm iterates, doesn't crash, we need some more work though
      We have the first demo running, we need to improve on the initial boundaries, as it seems to me they affect
      Some minor modifications on the progress reporting so that it is really silent when the silent_ flag is on
      Attempt to make it mac compliant
      Attempt to make it mac compliant
      Added some documentation for the annoying warnings
      I tried several things but it is still slow
      Dummy
      Compiles
      Tighten bounds almost works, we need to take advantage of the fact that non-convex case gives a good lower estimate
      Tightening works but doesn't give any better bounds
      Improved a lot
      Compiled
      We do have a functional nmf executable running experiments for the paper
      fixed the problem with the destructor so that it doesn't cause a memory leak
      Just one compile time error and we are ready to test
      Compile passed
      Seems to run the first steps, but we need to change it so that the splits on h happen soon after w, this might give a better solution
      we are getting closer to the global optimum
      New version, trying to avoid oversplitting
      Still haven't found what I am looking for, need to work more on the last method that doesn't work
      Corrected some problems with the tree depth
      Need some more effort to compile
      Need some more effort to compile
      Compiled
      We have some progress but it is not working yet
      We made it obligatory now for the optimized_function to have a GiveInitFunction, it makes things easier
      There are still bugs but some were found
      we almost got it close to working
      It is more stable now, but hasn't worked yet
      It is more stable now, but hasn't worked yet
      We keep findingbugs here and there, scaling doesn't work yet
      Some extra flags to lbfgs so that warnings are not whown
      It's the first time gop seems to work very satisfactorily down to 0.4% error rates
      Changed the lapack installation so that people can use their own or just download it from netlib.org
      Fixed the bug so that it doesn't ask the same question when compiled outside of la
      Fixed a problem with the lock file
      Close to compilation, we just need a function to initialize the matrix
      Fixed a problem with the new_dimension
      Seems to sort of work
      Compiled the svm now I have to test it
      Still not running properly
      There is something strange the inequalities cannot be satisfied
      Added some datasets for validation
      tracing errors in the lagrangian
      "seems to be working I need further testing"
      Problem solved for the moment, the whole problem was with the lagrange multiplier. I had to increase it
      Things seem to work, but we have to put something on LBFGS ao that it shows whether the goal was reached or not
      minor modification so that it handles only manifolds
      some things that matter. I had the problem when the labels are in a row vector and not in column
      Added two more datasets
      Added a file that has the run-time parameters we use
      disabled writing on the disk
      Added an executable that computes knn, need to add documentation though
      Added a utility program that computes all k firthest neighbors
      The single tree seems to work with the tests
      Some minor changes
      Implemented the multiclass separation maps
      We extended the separation maps so that they now can accept text files with the neearest and furthest neighbors
      Fixed
      Trying to integrate opt++
      Finished first stage unconstrained optimization
      Still compiling
      Still compiling
      Compiles but doesn't link, need to instantiate the static member objective
      Now it compiles
      seems to compile, it doesn't converge to a solution possibly due to an error in the  gradient computation
      Test for unconstrained optimization passed
      Constrained optimization compiled, it needs to be further tested, also I have to examine whether Hessian comes initialized or not
      added data files
      Still lapck doesn't compile for cygwin
      Fixing lapack for cygwin
      commit e4df1d175ad8835c1adfc6441304629c786be9b2
      commit 6990e91e5a07f1717a68e4b70ec5516c45d8cda3
      commit 179d0ebc10e32ff553da181c02d5f0f55582774f
      Now blas/lapack works with cygwin
      Fixed some minor bugs in mvu
      demos added
      commit d58db8775bf09ec591fead33ee4c103cb1f19849
      commit 57179000e9e4bb0550342be2a6e486dfcdd77cc9
      commit aa74c9648ebe0ecd30bb25028e1532e001f613e3
      commit df4f02fbee2ba614480b3efd36fe31fd1dc99e09
      Reorganizing the optimization directory so that I can push MVU and isoNMF
      commit a1fb7ad3727de96c344e89a15eabcb3dacfa8912
      Restructuring optimization
      changed the names to comply
      This is where mvu and isonmf will come
      Keep fixing mvu so it is releasable
      new user
      a small bug in the build file
      It compiles now but I need to add more documentation
      added documentation
      added regression and ridge_regression
      Added the necessary files, now I need to compile and test it
      added an extra utility on the matrix so tha you can create diagonal matrices
      it compiles
      seems to be working
      Ridge regression is working, I added a main file too, so that it can run as a
      added cross validation and eveyrthing is based now on SVD
      fixed some stuff in the documentation side, so that it becomes easier for
      automatic installation of opt++
      Added significant amount of documentation.
      fixed Doxygen a little bit
      Moved the optimization under fastlib
      Fixed MVU after moving optimization
      fixed some minor things on the build file and added an extra namespace for optpp
      This is going to be a working version of the comercial  fastlib
      testing copy
      I did something wrong
      This is fastlib3 for prefection
      finished first stage I need to write a test
      some minor additions
      nearly there a big effort to templetize evrything in linear algebra
      still developing
      compiles
      Templates in la are workoing now along with tests
      I had forgotten to add this file
      added a big collection of utility functions
      haven't tested utilities yet but coding is done. Thinking about extending
      More templetization of the la domain
      Temporary commit so that we can move to a new repository
      "fixed a trivial bug"
      sorry about that
      commit cf5b9f221a761ed06ad5fd80c9b1f5ba02b97316
      Took off this assertion that created problems
      fixed a bug with fx_init

vlad321 (37):
      Ticket #30. DHRectBound now no longer computes periodic distances, and that functinality has now been moved to DHRectPeriodicBound. This way users of periodic bounds can just call MaxDistance.
      Just some quick formatting.
      Fixes to bugs in the code
      commit 08be73371a01ce25bbc23091db075b6a599157ba
      commit b62901e13ec643ac98331430779e1b0f29736f21
      Fixed DRange Contains so that it no longer returns true for any point.
      commit 9b3a22376e50779ce9800e7689fc46a4319970fa
      vim
      commit 4acc47435fbd506cfcef95931906aa265fc1d84b
      Fixed some backwards compatability issues.
      Fix to the fix that broke a few tests.
      Fixed some warning that were popping up.
      Should actually work and no longer just fool the compiler to get it to build.
      Fixed everything in PeriodicBound so that it works properly, and all memory problems have been fixed. However there are 3 Min and Max Distance function which seem to have logical problems still.
      commit a5f2b99acf441aaa2ad5cbbd7b40827f40d24665
      commit d3e8302c943f8b6553169c789eb2cf4cfb6d8162
      Removed Dataset. Converted all data::Load and data::Save to armadillo's .load and .save.
      The all encompasing test, it should be just names mlpack_test in the bit directory. All required dataset files are in a folder as well.
      Cleaned up and moved all stray tests and test data that is included in the general mlpack_test.
      Formatting for the entire /tests.
      commit 0e39a07c249d1aebd3df401f0f5f854c229a8765
      Turning in with some tests for the implemented distances  in periodichrectbound.
      Properly formatted /gmm
      More test cases, as well as formatting of /kernel_pca
      Correction for the range test.
      Formatting of /kmeans.
      The test cases for maximum periodic distance, as well as the code for both versions of the maximum periodic distance.
      Removed the extra print statements that I forgot in there.
      Formatting of /linear_regression
      Formatted /mvu
      Formatting of /radical
      Formatted /pca
      Formatted /nearest_neighbor
      The fix to the previous fix.
      Formatted /math
      Formatted /util
      Formatted /tree

wguan (7):
      nnsvm1118
      nnsvm0122
      nnsvm-0123
      nnsvm0122_deprecated_function_removed
      nnsvm1124
      nnsvm1124-2
      nnsvm1124-3

yatin (1):
      added q point vs r node prune

-----------------------------------------------------------------------

No new revisions were added by this update.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mlpack.git



More information about the debian-science-commits mailing list