/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TestSuite/CompilationSamples/MultMatrix.pas
37 строк
958 B
Artem Pelenitsyn
change encoding for all *.pas and *.cs files: cp1251 -> utf-8
28 дек 2015, 14:25
28 дек 2015, 14:25
49378a6
Код
Авторство
О чём код?
uses Arrays; procedure ParallelMult(a,b,c: array [,] of real; n: integer); begin {$omp parallel for } for var i:=0 to n-1 do for var j:=0 to n-1 do begin c[i,j]:=0; for var l:=0 to n-1 do c[i,j]:=c[i,j]+a[i,l]*b[l,j]; end; end; procedure Mult(a,b,c: array [,] of real; n: integer); begin for var i:=0 to n-1 do for var j:=0 to n-1 do begin c[i,j]:=0; for var l:=0 to n-1 do c[i,j]:=c[i,j]+a[i,l]*b[l,j]; end; end; const n = 400; begin var a := Arrays.CreateRandomRealMatrix(n,n); var b := Arrays.CreateRandomRealMatrix(n,n); var c := new real[n,n]; ParallelMult(a,b,c,n); writeln('Параллельное перемножение матриц: ',Milliseconds,' миллисекунд'); var d := Milliseconds; Mult(a,b,c,n); writeln('Последовательное перемножение матриц: ',Milliseconds-d,' миллисекунд'); end.