OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.25/] [lcc/] [tst/] [cf.c] - Diff between revs 4 and 248

Only display areas with differences | Details | Blame | View Log

Rev 4 Rev 248
/* cf - print character frequencies */
/* cf - print character frequencies */
float f[128];
float f[128];
 
 
main(argc, argv)
main(argc, argv)
int argc;
int argc;
char *argv[];
char *argv[];
{
{
        int i, c, nc;
        int i, c, nc;
        float cutoff, atof();
        float cutoff, atof();
 
 
        if (argc <= 1)
        if (argc <= 1)
                cutoff = 0.0;
                cutoff = 0.0;
        else
        else
                cutoff = atof(argv[1])/100;
                cutoff = atof(argv[1])/100;
        for (i = 0; i <= 127; )
        for (i = 0; i <= 127; )
                f[i++] = 0.0;
                f[i++] = 0.0;
        nc = 0;
        nc = 0;
        while ((c = getchar()) != -1) {
        while ((c = getchar()) != -1) {
                f[c] += 1;
                f[c] += 1;
                nc++;
                nc++;
        }
        }
        printf("char\tfreq\n");
        printf("char\tfreq\n");
        for (i = 0; i <= 127; ++i)
        for (i = 0; i <= 127; ++i)
                if (f[i] && f[i]/nc >= cutoff) {
                if (f[i] && f[i]/nc >= cutoff) {
                        if (i <= ' ')
                        if (i <= ' ')
                                printf("%03o", i);
                                printf("%03o", i);
                        else
                        else
                                printf("%c", i);
                                printf("%c", i);
                        printf("\t%.1f\n", 100*f[i]/nc);
                        printf("\t%.1f\n", 100*f[i]/nc);
                }
                }
        return 0;
        return 0;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.