program_mult.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // Aplica o back-end do juninho
  2. @target : mips
  3. // Especifica o tipo de metodo empregado para salvar o resultado da compilação
  4. //@export : MultCoreJun
  5. @export : simulation
  6. package main;
  7. const (
  8. LIN = 2
  9. COL = 2
  10. )
  11. var (
  12. matrizA [LIN][COL]int32
  13. matrizB [LIN][COL]int32
  14. matrizR [LIN][COL]int32
  15. )
  16. func preenche(){
  17. var k = 1
  18. for i := 0; i < LIN ; i++ {
  19. for j := 0; j < COL ; j++ {
  20. matrizA[i][j] = k
  21. matrizB[i][j] = k
  22. k++
  23. }
  24. }
  25. }
  26. func multiplica() {
  27. var aux = 0
  28. for i := 0; i < LIN; i++ {
  29. for j := 0; j < COL; j++ {
  30. for k := 0; k < LIN; k++ {
  31. aux = aux + (matrizA[i][k] * matrizB[k][j])
  32. }
  33. matrizR[i][j] = aux
  34. aux = 0
  35. }
  36. }
  37. }
  38. func main() {
  39. preenche()
  40. multiplica()
  41. }
  42. /**
  43. leadersList:[
  44. 0,2
  45. 2,2
  46. 4,3
  47. 7,12
  48. 19,6
  49. 25,13
  50. 38, 3
  51. 41,3
  52. 44,2
  53. 46,3
  54. 49,4
  55. 53,29
  56. 82,3
  57. 85,2
  58. 87,4
  59. 91,7
  60. 98,4
  61. 102,15
  62. 117,41
  63. 158,2
  64. 160,3
  65. 163,2
  66. 165,3
  67. 168,3
  68. */