freebsd-ports/misc/dvorak7min/files/patch-dvorak7min.c
Martin Wilke 5351913b8a - Update MASTER_SITES and WWW: line
- Add LICENSE

PR:		187046
Submitted by:	Ports Fury
2014-02-27 09:10:24 +00:00

81 lines
2.5 KiB
C

--- dvorak7min.c.orig Mon Mar 15 20:41:06 2004
+++ dvorak7min.c Mon Mar 15 20:41:25 2004
@@ -41,7 +41,6 @@
*
*/
-#include <strings.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
@@ -173,7 +172,8 @@
/* calculate typing speed in a given interval */
inline float calcSpeed (time_t timeStart, time_t timeFinish, int hits)
{
- return (float) hits / (timeFinish - timeStart);
+ // Use WPS/WPM as better standard, so also divide by 5
+ return (float) hits / 5 / (timeFinish - timeStart);
}
@@ -193,7 +193,7 @@
file = fopen (fileName, "r");
if (!file) {
- postmortem = sys_errlist[errno];
+ postmortem = strerror(errno);
return -1;
}
@@ -220,7 +220,7 @@
while (1) {
c = fgetc (file);
if (errno) {
- postmortem = sys_errlist[errno];
+ postmortem = strerror(errno);
fclose (file);
return -1;
}
@@ -418,6 +418,7 @@
++p;
if (!timeStart) {
timeStart = time(0);
+ hits = 0;
}
}
@@ -431,8 +432,9 @@
float ratio = hits - misses;
ratio = (ratio < 0) ? 0 : (100.0 * ratio / hits);
timeCurrent = time(0);
- speed = calcSpeed (timeStart, timeCurrent, hits);
- mvprintw (LINES - 1, 0, "CPS %.2f CPM %.2f Hits: %d Misses: %d Seconds: %d Ratio: %.2f%%", speed, speed * 60, hits, misses, time(0) - timeStart, ratio);
+ speed = calcSpeed (timeStart, timeCurrent, hits + misses);
+ // Use WPS/WPM as better standards
+ mvprintw (LINES - 1, 0, "WPS %.2f WPM %.2f Hits: %d Misses: %d Seconds: %d Ratio: %.2f%%", speed, speed * 60, hits, misses, time(0) - timeStart, ratio);
clrtoeol();
}
} while (ch == ERR);
@@ -510,7 +512,7 @@
}
timeFinish = time(0);
- speed = calcSpeed(timeStart, timeFinish, hits);
+ speed = calcSpeed(timeStart, timeFinish, hits + misses);
clear();
cbreak();
if (!timeStart) {
@@ -519,8 +521,11 @@
float ratio = hits - misses;
ratio = (ratio < 0) ? 0 : (100.0 * ratio / hits);
mvprintw (0, 0, "Elapsed time: %d seconds", timeFinish - timeStart);
- mvprintw (1, 0, "Total: %d Misses: %d Ratio: %.2f%%", hits, misses, ratio);
- mvprintw (2, 0, "CPS: %.2f CPM: %.2f", speed, speed * 60);
+ mvprintw (1, 0, "Total: %d Misses: %d Ratio: %.2f%%",
+ hits + misses, misses,
+ (float)100*(hits) / (hits + misses));
+ // Use WPM/WPS as better standard
+ mvprintw (2, 0, "WPS: %.2f WPM: %.2f", speed, speed * 60);
}
mvprintw (4, 0, "[ ] Press ESCAPE to continue.");