// ************************************************************************** // // eses eses // eses eses // eses eseses esesese eses Embedded Systems Group // ese ese ese ese ese // ese eseseses eseseses ese Department of Computer Science // eses eses ese eses // eses eseses eseseses eses University of Kaiserslautern // eses eses // // ************************************************************************** package MagicSquare; macro size = 3; macro SUM = (sum(i=1 .. (size()*size())) i) / size(); module CheckColSum( [size][size()]nat{size()*size()} a, nat{size} ?i, event !wrong_sum ) { if(SUM!=sum(j=0..(size()-1)) a[j][i]) emit (wrong_sum); }