@target mips, mipt2

package main;

const (
    LIN  = 2
    COL  = 2
)
var (
    matrizA [LIN][COL]int 
    matrizB [LIN][COL]int
    matrizR [LIN][COL]int
)

func preenche(){
    var k = 1
    for i := 0; i < LIN; i++ {
        for j := 0; j < COL; j++ {
            matrizA[i][j] = k
            matrizB[i][j] = k
            k++
        }
    }
}

func multiplica() {
    var aux = 0
    for i := 0; i < LIN; i++ {
        for j := 0; j < COL; j++ {
            for k := 0; k < LIN; k++ {
                aux += matrizA[i][k] * matrizB[k][j]
            }
            matrizR[i][j] = aux
            aux = 0
        }
    }
}
func main() {
    preenche()
    multiplica()
}

/*
package main;

const (
    MAX1 = 128
    MAX2 = 96
)

var (
    matriz2 = [MAX1][MAX2]int{}
    matrizFinal = [MAX1][MAX2]int{}
)

func laplaciano() {
    var (
        l        int
        limitI = MAX1 - 1
        limitJ = MAX2 - 1
    )
    for i:= 1; i < limitI; i++ {
        for j := 1; j < limitJ; j++ {
            l = matriz2[i-1][j] + matriz2[i][j-1] + matriz2[i][j+1] + matriz2[i+1][j] - 4*matriz2[i][j]

            if l > 255 {
              l = 255
            }

            matrizFinal[i][j] = l
        }
    }
}

func preenche_matriz() {
    var w int = 1
    for i := 0; i < MAX1; i++ {
        for j := 0;j < MAX2; j++ {
            if i == 0 || i == MAX1 - 1 {
                value = 0
            }else if i == 0 || i == MAX2 - 1 {
                value = 0
            }else if j == 0 || j == MAX1 - 1 {
                value = 0
            }else if j == 0 || j == MAX2 - 1 {
                value = 0
            }else {
                value = w
                w++
            }
            matriz2[i][j] = value
        }
    }
}

func main() {
  preenche_matriz()
  laplaciano()
}
*/
/*

*/

/**


package main;

func main(){
    var(
        i = 15
        c = 0
        j int
        y *int
    )
    for 1 {
        //y = &j
        if  i & 1 == 1 {
            c++
        }

        i = i >> 1
        if i == 0 {
            break
        }
    }   
}

*/