[MN-dev] [mndiff]: r173 - trunk/ffvotetov/ffvotetov.c
michael
subversion at mplayerhq.hu
Thu Dec 17 02:03:53 CET 2009
Author: michael
Date: Thu Dec 17 02:03:52 2009
New Revision: 173
Log:
Never implement an algorithm based on its description on wikipedia.
Modified:
trunk/ffvotetov/ffvotetov.c
Modified: trunk/ffvotetov/ffvotetov.c
==============================================================================
--- trunk/ffvotetov/ffvotetov.c Wed Dec 16 14:42:18 2009 (r172)
+++ trunk/ffvotetov/ffvotetov.c Thu Dec 17 02:03:52 2009 (r173)
@@ -35,7 +35,7 @@ int sums[CANDIDATES_MAX], subs[CANDIDATE
int pair_matrix[CANDIDATES_MAX][CANDIDATES_MAX];
int pair_ranking_matrix[CANDIDATES_MAX][CANDIDATES_MAX];
-int cssd_beats[CANDIDATES_MAX][CANDIDATES_MAX];;
+int64_t cssd_beats[CANDIDATES_MAX][CANDIDATES_MAX];;
int contains_loop(const int matrix[CANDIDATES_MAX][CANDIDATES_MAX]){
int m[CANDIDATES_MAX][CANDIDATES_MAX];
@@ -81,17 +81,17 @@ void print_condorcet_winners(const int m
}
}
-void beatpath(int strength[CANDIDATES_MAX], const int matrix[CANDIDATES_MAX][CANDIDATES_MAX], int a){
+void beatpath(int64_t strength[CANDIDATES_MAX], const int matrix[CANDIDATES_MAX][CANDIDATES_MAX], int a){
int i, j, changed;
for(i=0; i<canditate_count; i++)
- strength[i]= matrix[a][i] > matrix[i][a] ? matrix[a][i] : 0;
+ strength[i]= matrix[a][i] > matrix[i][a] ? (matrix[a][i]<<24) - matrix[i][a] : 0;
do{
changed=0;
for(i=0; i<canditate_count; i++){
for(j=0; j<canditate_count; j++){
- int diff= matrix[i][j] > matrix[j][i] ? matrix[i][j]: 0;
+ int64_t diff= matrix[i][j] > matrix[j][i] ? (matrix[i][j]<<24) - matrix[j][i]: 0;
if(strength[i] < diff)
diff= strength[i];
if(strength[j] < diff){
More information about the Mndiff-dev
mailing list