<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_error_block(ec_info, data_block):
 """\ Creates the error code words for the provided data block. :param ec_info: ECC information (number of blocks, number of code words etc.) :param data_block: Iterable of (integer) code words. """

    num_error_words = ec_info.num_total - ec_info.num_data

    error_block = bytearray(data_block)
    error_block.extend([0] * num_error_words)

    gen = consts.GEN_POLY[num_error_words]
    gen_log = consts.GALIOS_LOG
    gen_exp = consts.GALIOS_EXP
    len_data = len(data_block)

    # Extended synthetic division, see http://research.swtch.com/field
    for i in range(len_data):
        coef = error_block[i]
        if coef != 0:  # log(0) is undefined
            lcoef = gen_log[coef]
            for j in range(num_error_words):
                error_block[i + j + 1] ^= gen_exp[lcoef + gen[j]]
    return error_block[len_data:]