Commit Graph

4896 Commits

Author SHA1 Message Date
kortschak
a18d79f600 graph/{internal,path,topo}: factor reverse function out into internal 2017-09-15 07:05:29 +09:30
Chad Kunde
e5ba063a8b Merge pull request #207 from gonum/c128/dot
asm/c128:  Adding dot product asm functions
2017-09-12 21:59:20 -07:00
Chad Kunde
7acac0b3b4 Merge pull request #208 from gonum/c64/dot
asm/c64:  Adding dot product asm functions.
2017-09-12 21:59:04 -07:00
Dan Kortschak
00ece780c1 graph/path: replace dominators implementation 2017-09-13 09:08:04 +09:30
kortschak
1b3b29f16b graph/path: implement sophisticated algorithm
Both algorithms are included since the LTA appears to beat the SLTA for
all normal uses, but the SLTA beats the LTA for very large dense graphs.

Leave tools in the benchmark code to allow users to determine which one
they want to use for their data.
2017-09-12 09:50:52 +09:30
kortschak
9baf9959f7 graph/path: add benchmarks for Dominators
The initial test cases are from Robin Eklind's decomp project, the DOT
files were generated using his instructions:

    git clone https://github.com/decomp/testdata
    go get github.com/decomp/decomp/cmd/ll2dot
    cd testdata/pathological/testdata
    ll2dot *.ll
2017-09-12 09:50:52 +09:30
kortschak
c2e0c99d23 graph/path: replace map and slice index chasing with pointer chasing 2017-09-12 09:50:52 +09:30
kortschak
fbd569ccc4 Revert "graph/path: replace recursive dfs with iterative implementation"
This reverts commit 4c195282fab50c627add36d97e58caded3e85742.

The iterative dfs looks like it will be more convoluted when the arrays
are removed into a Lengauer & Tarjan node holding each graph.Node's
details.

Leaving the change in the tree to help figure out an iterative
implementation later if needed.
2017-09-12 09:50:52 +09:30
kortschak
bff6fc28f1 graph/path: add dominator tree API 2017-09-12 09:50:52 +09:30
kortschak
4cdef9a92e graph/path: replace recursive dfs with iterative implementation 2017-09-12 09:50:52 +09:30
kortschak
5817a3ce4a graph/path: replace Dominators with naive Lengauer and Tarjan
Much of the sparse ID mapping can be condensed into slice storage, but
this provides a sane starting point.
2017-09-12 09:50:52 +09:30
Andrew Brampton
155cf5aeb3 mat: fix README godoc link 2017-09-11 11:51:49 +09:30
Chad Kunde
9523cc3d27 asm/c64: Adding benchmark sink variable. 2017-09-08 18:47:23 -07:00
Chad Kunde
8af929b8ab asm/c64: Asm dot functions. 2017-09-08 18:47:23 -07:00
Chad Kunde
66b4f42284 asm/c64: Adding tests for dot asm functions. 2017-09-08 18:47:23 -07:00
Chad Kunde
acf06961e6 asm/c64: Adding asm stubs for dot functions. 2017-09-08 18:47:23 -07:00
Chad Kunde
7416b77068 asm/c128: Adding bench sink variable. 2017-09-08 18:46:45 -07:00
Chad Kunde
962589dc69 asm/c128: Asm dot product functions. 2017-09-08 18:46:45 -07:00
Chad Kunde
03cef35c7f asm/c128: Adding tests and benchmarks for dot functions. 2017-09-08 18:46:45 -07:00
Chad Kunde
6ccc15eb4b asm/c128: Adding asm stubs for Dot functions. 2017-09-08 18:46:45 -07:00
kortschak
e066e3d02f graph/community: add k-clique community function 2017-09-09 07:35:47 +09:30
kortschak
573ca5d6ce graph/topo: add clique graph construction function 2017-09-09 07:35:47 +09:30
Chad Kunde
5779c1273c Merge pull request #209 from gonum/f32/dot
asm/f32:  Adding dot product asm functions.
2017-09-06 15:03:38 -07:00
Chad Kunde
4ac7663e25 Merge pull request #227 from gonum/generate-error-fix
travisCI: Print git diff when check-generate fails.
2017-09-02 19:45:34 -07:00
Chad Kunde
3477438627 blas/gonum: Fix NaN popagation in Dger. (#225)
Fixes  #224

Fix NaN popagation in Dger.  Remove unneeded temp variables in Dger.

Generate level2single with Dger changes.
2017-09-02 19:44:23 -07:00
Chad Kunde
1fc51d6a95 travis: Print git diff when check-generate fails. 2017-09-02 16:50:03 -07:00
kortschak
49f3edb2a7 travis: reduce verbosity of test output 2017-09-02 19:22:48 +09:30
Janne Snabb
f01292bb52 floats: Fix Argsort documentation. 2017-09-02 17:53:34 +09:30
James Bowman
e01a71d4d5 mat: make RowView and ColView return Vector type and add RowViewOf and ColViewOf
Also change Dot signature to accept Vector parameters.
2017-09-02 06:55:38 +09:30
Sebastien Binet
d7342e68fb travis: add go-1.9.x 2017-08-28 22:52:35 +02:00
Sebastien Binet
40dbcd0378 travis: remove go-1.6.x 2017-08-28 22:52:08 +02:00
Dan Kortschak
33bc7e1665 graph: redesign weight handling 2017-08-25 08:48:26 +09:30
kortschak
acd06c4949 graph/path: revise spanning tree signatures and behaviours 2017-08-24 10:21:20 +09:30
kortschak
f739fbf133 graph/simple: separate weighted and unweighted edge implementations 2017-08-24 10:21:20 +09:30
kortschak
7ba61f0ead graph/...: remove Weight method from Edge 2017-08-24 10:21:15 +09:30
kortschak
ffa13e8edb graph,graph/{community,network,path}: rename WeightedGraph => Weighted 2017-08-24 10:21:15 +09:30
kortschak
715b695621 graph,graph/{network,path}: remove Weighter interface 2017-08-24 10:21:15 +09:30
kortschak
8508095a22 graph,graph/{community,path}: use weighted graph types 2017-08-24 10:21:15 +09:30
kortschak
a0c93557a5 graph,graph/simple: add weighted graph interfaces and implementations 2017-08-24 10:21:06 +09:30
Chad Kunde
b555074219 Merge pull request #210 from gonum/ChadAC
A+C: Adding myself to Authors and Contributors.
2017-08-23 17:26:43 -07:00
Chad Kunde
9c87a751dc A+C: Adding myself to Authors and Contributors. 2017-08-23 12:12:27 -07:00
Chad Kunde
9d7baa818a asm/f32: Fixes from PR comments. 2017-08-23 11:53:08 -07:00
Chad Kunde
e0a0508f0d asm/f32: Asm dot functions. 2017-08-22 14:22:38 -07:00
Chad Kunde
7f0e334144 asm/f32: Adding tests for dot asm functions. 2017-08-22 14:20:49 -07:00
Chad Kunde
51fc8a3f42 asm/f32: Adding stubs for dot asm functions. 2017-08-22 14:16:24 -07:00
Chad Kunde
563dd33f2c Merge pull request #194 from gonum/c128/dscal
asm/c128: Added [d]scalinc and [d]scalunitary
2017-08-21 20:43:41 -07:00
Chad Kunde
5e3ead2971 asm/c128: Corrected duplicate dscal test case. 2017-08-21 04:30:07 -07:00
kortschak
267e698edc graph/graphs/gen: use EdgeAdder for duplication graph 2017-08-21 08:42:15 +09:30
Robin Eklind
a6329c40df Merge pull request #200 from mewpull/new-edge
graph: move NewEdge method from encoding.Builder to graph.EdgeAdder
2017-08-20 23:41:36 +02:00
kortschak
8c278de905 README: add installation and tags docs 2017-08-21 06:28:57 +09:30