Section 4.5 below contains two versions of the Gaussian elimination algorithm for solving systems of linear equations, with and without using the maximum pivot strategy. That example was included to illustrate the data parallel features of Fortran 90-it is a relatively simple, practical problem that makes use of many of the Fortran 90 data parallel capabilities. For comparison with the programs in section 4.5, Fortran 77 and C versions are supplied here.
Of the four languages, only Fortran 90 has data parallel capabilities meaningful for computational science; the nature of the other three languages in this regard are essential the same, namely missing altogether. This explains the reason for the rankings of the four languages along this dimension.
Here are the set of Fortran 77 and C routines that perform the Gaussian elimination computation:
test_gauss77.f , Fortran 77 routines to determine the correct processing of the subroutines: pivot.f, triang.f, and back.f. The subroutines determine the solution to a series of simultaneous equations. (The 3 subroutines are included in the file testg77.f).
test_gauss.c , C routines to determine the correct processing of the three functions pivot.c, triang.c, and back.c. The functions determine the solution to a series of simultaneous equations. (The 3 subroutines are included in the file testg.c).