|
发表于 2011-8-26 23:50:19
|
显示全部楼层
不要对人家苛求太多,这样的事情太多了,照着人家发明的算法写就行。
short CG4Base::encode_black_code (short runlength)
{
short remaining;
const int nlength = 0x40;
if (runlength < nlength)
{
encode_word (term_black_codes [runlength], term_black_lengths [runlength]);
return (0);
}
else if (runlength < 0x6C0u)
{
short x;
x = (runlength - nlength) / nlength;
encode_word (makeup_black_codes [x], makeup_black_lengths [x]);
remaining = runlength - (nlength * (1 + x));
if (!remaining) encode_word (term_black_codes [0], term_black_lengths [0]);
return (remaining);
}
else
{
encode_word (makeup_black_codes [26], makeup_black_lengths [26]);
encode_black_code (runlength - 0x6C0u);
}
}
short CG4Base::encode_white_code (short runlength)
{
short remaining;
const int nlength = 0x40;
if (runlength < nlength)
{
encode_word (term_white_codes [runlength], term_white_lengths [runlength]);
return (0);
}
else if (runlength < 0x6C0u)
{
short x;
x = (runlength - nlength) / nlength;
encode_word (makeup_white_codes [x], makeup_white_lengths [x]);
remaining = runlength - (nlength * (1 + x));
if (!remaining) encode_word (term_white_codes [0], term_white_lengths [0]);
return (remaining);
}
else
{
encode_word (makeup_white_codes [26], makeup_white_lengths [26]);
encode_white_code (runlength - 0x6C0u);
}
} |
|