URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do assemble }
|
// { dg-do assemble }
|
// Bug: g++ fails to compare integer constants properly.
|
// Bug: g++ fails to compare integer constants properly.
|
|
|
template
|
template
|
struct Matrix {
|
struct Matrix {
|
int base [X] [Y];
|
int base [X] [Y];
|
};
|
};
|
|
|
template
|
template
|
Matrix& Mul(Matrix& Q,Matrix& A,Matrix& B) {
|
Matrix& Mul(Matrix& Q,Matrix& A,Matrix& B) {
|
for(int i=0;i
|
for(int i=0;i
|
for(int j=0;j
|
for(int j=0;j
|
Q.base[i][j]=0;
|
Q.base[i][j]=0;
|
for(int k=0;k
|
for(int k=0;k
|
Q.base[i][j]+=A.base[i][k]*B.base[k][j];
|
Q.base[i][j]+=A.base[i][k]*B.base[k][j];
|
}
|
}
|
}
|
}
|
}
|
}
|
return Q;
|
return Q;
|
}
|
}
|
|
|
void f ()
|
void f ()
|
{
|
{
|
Matrix<2, 3> q;
|
Matrix<2, 3> q;
|
Matrix<2, 4> a;
|
Matrix<2, 4> a;
|
Matrix<4, 3> b;
|
Matrix<4, 3> b;
|
q = Mul (q, a, b);
|
q = Mul (q, a, b);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.