#include "global.h"


int print_unit (int i, int ns, int nl)
{
    char num[50];
    int k;
    double area;

    if (unit[i].type == CELL_COUNTS)
    {
	sprintf (num, "%*ld", unit[i].len, count_sum (&ns, nl));
    }
    else if (unit[i].type == PERCENT_COVER)
    {
	k = ns-1;
	while (k >= 0 && same_cats (k,ns,nl-1))
	    k--;
	k++;
	area = area_sum (&k, nl-1);
        if(unit[i].eformat)
	    scient_format (100.0 * area_sum (&ns, nl) / area,
	        num, unit[i].len, unit[i].dp);
        else
	    format_double (100.0 * area_sum (&ns, nl) / area,
	        num, unit[i].len, unit[i].dp);

    }
    else
    {
       if(unit[i].eformat)
            scient_format (area_sum (&ns, nl) * unit[i].factor,
                num, unit[i].len, unit[i].dp);
       else
            format_double (area_sum (&ns, nl) * unit[i].factor,
                num, unit[i].len, unit[i].dp);
    }
    fprintf (stdout,"|%s", num);

    return 0;
}
