Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std.getopt;
- import std.stdio;
- int n = 1000, l=1000, m=1000;
- void main(string[] args)
- {
- auto A = new double [1000][m];
- auto B = new double [1000][n];
- auto C = new double [1000][n];
- matrix!(typeof(A)).ini(A);
- matrix!(typeof(A)).ini(B);
- matrix!(typeof(A)).MatMul(A,B,C);
- writefln("%d %d ", C.length, C[0].length);
- }
- template matrix(T){
- void ini(T mtx){
- for(int i = 0; i <mtx.length; i++) {
- for(int j = 0; j< mtx[i].length; j++) {
- mtx[i][j] = i*j + 0.6*j +3.4;
- }
- }
- }
- void print(T mtx){
- for(int i = 0; i <mtx.length; i++) {
- writefln("%(%8.1f %)", mtx[i]);
- }
- }
- void MatMul(T A, T B, T C){
- for(int k = 0; k < C[0].length; k++) {
- for(int i = 0; i < C.length; i++) {
- for(int j = 0; j < A[0].length; j++) {
- C[i][k] += A[i][j] * B[j][k];
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement