The check-to-variable message generator 12 receives the output Zr (l) of the variable-to-check message generator 11, where l and r are an integer from 0 to n???1 and an integer from 0 to a???1, respectively, as mentioned above, and calculates Lt,1 (s) and Lt,2 (s) from the following equations (12) and (13).