ejr / matchpres (public) (License: BSD) (since 2018-08-29) (hash sha1)
Ye olde thesis code implementing an auction-based weighted bipartite matching algorithm over MPI.
List of commits:
Subject Hash Author Date (UTC)
Bugs go poo a136075289af1e672e28187cf41210a5ec27eccc Jason Riedy 2005-04-20 02:22:32
More data: primal, dual, duration 2c59b3bdc4789035f919ce2132f2d20e33884329 Jason Riedy 2005-04-18 18:20:44
Removed mistaken Acopy 8af95560220c3dd532eba9efa95b6993a0bedf97 Jason Riedy 2005-04-18 05:07:13
write new data from matchmtx. 9bbe665ce58799a37beed4e6557f756bdf6e8a48 Jason Riedy 2005-04-18 05:05:14
Dumb bug fix. 0acb519a5298ca2fd3256cc54e7e91a267990022 Jason Riedy 2005-04-13 04:21:01
quit when not square b74d721df984ae9c60d4617921d6dc7813215022 Jason Riedy 2005-04-12 23:36:47
Go back to gcc. 9d50e51da839a9dcf5193030c9fcdd49cdfa9854 Jason Riedy 2005-04-12 23:31:07
undo extra changes 41f6e35374346b3ac19a8342a9c4ff75796ceee5 Jason Riedy 2005-04-12 23:21:08
fix auction_shift for explicit zeros 10be6a173d391689574e9e88774e90dc1c7ac1d9 Jason Riedy 2005-04-12 23:20:38
HAVE_LOGB 38a377840fbffdbcc1f8ebab1f9775502547e4cb Jason Riedy 2005-04-12 23:11:13
add -nofor_main, fix seqauction b24bdf1318ea24afd1b43230b372fcc776fef8f6 Jason Riedy 2005-04-12 23:05:54
Prepare for massive runs. 5f9172fedbc636a986bd57c48cfa20bd1f1c17a7 Jason Riedy 2005-04-12 22:55:06
Update build stuff. 64cf1bc1ea3e70fdf320fe51a95f140f57076d80 Jason Riedy 2005-04-12 22:28:15
Add bigfloat changes 11ccd212bae7140c529c3431262b03d52c8a6309 Jason Riedy 2005-04-12 21:46:27
initial import 2aa81858e4a8c9d6c37158f5f32eccdaa5184643 Jason Riedy 2005-04-12 21:45:12
Commit a136075289af1e672e28187cf41210a5ec27eccc - Bugs go poo
git-archimport-id: ejr@cs.berkeley.edu--superlu/matchpres--base--0--patch-14
Author: Jason Riedy
Author date (UTC): 2005-04-20 02:22
Committer name: Jason Riedy
Committer date (UTC): 2005-04-20 02:22
Parent(s): 2c59b3bdc4789035f919ce2132f2d20e33884329
Signing key:
Tree: 05c58de3b0906236c43f985a40887d5eee77d357
File Lines added Lines deleted
matchmtx.c 21 9
File matchmtx.c changed (mode: 100644) (index 045bb34..c2fcc93)
... ... main (int argc, char **argv)
98 98 spcsr_lascale (&A, R, C); spcsr_lascale (&A, R, C);
99 99 #endif #endif
100 100
101 #if 0
101 #if 1
102 102 auction_toexpint (&A, expint); auction_toexpint (&A, expint);
103 103 #else #else
104 104 auction_toexp (&A, expint); auction_toexp (&A, expint);
 
... ... main (int argc, char **argv)
178 178 for (k = A.rowoff[i]; k < A.rowoff[i+1]; ++k) { for (k = A.rowoff[i]; k < A.rowoff[i+1]; ++k) {
179 179 const int j = A.colind[k]; const int j = A.colind[k];
180 180 const double e = expint[k]; const double e = expint[k];
181 if (isinf(price[j])) {
181 assert(!isinf(e));
182 if (isinf(price[j]))
182 183 price[j] = e; price[j] = e;
183 }
184 else {
185 profit[i] = fmax(profit[i], price[j] - e);
186 }
184 profit[i] = fmax(profit[i], price[j] - e);
185 assert(!isinf(profit[i]));
187 186 } }
188 187 if (profit[i] == -HUGE_VAL) profit[i] = 0.0; if (profit[i] == -HUGE_VAL) profit[i] = 0.0;
189 188 } }
190 189
190 #if 0
191 191 for (j = 0; j < A.nc; ++j) { for (j = 0; j < A.nc; ++j) {
192 192 price[j] += shiftamount; price[j] += shiftamount;
193 price[j] = R[i] * scalbn(1.0, (int)price[j]);
193 price[j] = C[j] * scalbn(1.0, (int)price[j]);
194 }
195 for (i = 0; i < A.nc; ++i) {
196 profit[i] = R[i] * scalbn(1.0, (int)profit[i]);
197 }
198 #else
199 for (j = 0; j < A.nc; ++j) {
200 price[j] = scalbn(1.0, (int)price[j]);
194 201 } }
195 202 for (i = 0; i < A.nc; ++i) { for (i = 0; i < A.nc; ++i) {
196 profit[i] = C[j] * scalbn(1.0, (int)profit[i]);
203 double tmp;
204 tmp = scalbn(1.0, (int)profit[i]);
205 if (tmp == 0.0)
206 printf ("tmp %g profit[%d] %g\n", tmp, i, profit[i]);
207 profit[i] = tmp;
197 208 } }
209 #endif
198 210 fwrite(price, sizeof(double), A.nc, fout); fwrite(price, sizeof(double), A.nc, fout);
199 fwrite(profit, sizeof(double), A.nr, fout);
211 fwrite(profit, sizeof(double), A.nc, fout);
200 212 } }
201 213
202 214 if (profit) free(profit); if (profit) free(profit);
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/ejr/matchpres

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/ejr/matchpres

Clone this repository using git:
git clone git://git.rocketgit.com/user/ejr/matchpres

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main