forked from johannesgerer/jburkardt-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mgs.html
159 lines (132 loc) · 3.88 KB
/
mgs.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<html>
<head>
<title>
MGS - A Problem of Legacy Code
</title>
</head>
<body bgcolor="#EEEEEE" link="#CC0000" alink="#FF3300" vlink="#000055">
<h1 align = "center">
MGS <br> A Problem of Legacy Code
</h1>
<hr>
<p>
<b>MGS</b> is a C library which
is intended to embody the problem of "legacy code", that
is, software that is useful, but out of date, not documented, not
well understood, and in need of some new features.
</p>
<p>
When approaching legacy software, it's useful to try to come up
with good documentation for what the program is doing, a set of
test problems which must be correctly handled by any new version
of the software, and a set of timing problems that can show
whether changes to the software have improved its efficiency.
</p>
<p>
In this case, the student is challenged to make a copy of the source
code, read it, try to work out what it is doing, document it, and come
up with a nice set of examples illustrating what is going on. A student
might also be interested in the task of creating an equivalent version
in a different language, and then demonstrating that the two programs
produce the same results.
</p>
<h3 align = "center">
Licensing:
</h3>
<p>
The computer code and data files described and made available on this web page
are distributed under
<a href = "../../txt/gnu_lgpl.txt">the GNU LGPL license.</a>
</p>
<h3 align = "center">
Languages:
</h3>
<p>
<b>MGS</b> is available in
<a href = "../../c_src/mgs/mgs.html">a C version</a> and
<a href = "../../cpp_src/mgs/mgs.html">a C++ version</a> and
<a href = "../../f77_src/mgs/mgs.html">a FORTRAN77 version</a> and
<a href = "../../f_src/mgs/mgs.html">a FORTRAN90 version</a> and
<a href = "../../m_src/mgs/mgs.html">a MATLAB version</a>.
</p>
<h3 align = "center">
Related Data and Programs:
</h3>
<p>
<a href = "../../c_src/pig_latin/pig_latin.html">
PIG_LATIN</a>,
a C program which
converts its input to Pig Latin; a winner of the International
Obfuscated C Code Competition in the "Most Humorous" category,
by Don Dodson.
</p>
<h3 align = "center">
Author:
</h3>
<p>
Diane O'Leary.
</p>
<h3 align = "center">
Reference:
</h3>
<p>
<ol>
<li>
Dianne O'Leary,<br>
Computational Software: Writing Your Legacy,
Partial Solution to Last Issue's Homework Assignment,<br>
Computing in Science and Engineering,<br>
Volume 8, Number 2, March/April 2006, pages 70-71.
</li>
</ol>
</p>
<h3 align = "center">
Source Code:
</h3>
<p>
<ul>
<li>
<a href = "mgs.cpp">mgs.cpp</a>,
the original version of the software.
</li>
<li>
<a href = "mgs.hpp">mgs.hpp</a>,
an include file.
</li>
<li>
<a href = "mgs.sh">mgs.sh</a>,
commands to compile the software.
</li>
</ul>
</p>
<h3 align = "center">
Examples and Tests:
</h3>
<p>
<ul>
<li>
<a href = "mgs_prb.cpp">mgs_prb.cpp</a>,
a set of tests for MGS.
</li>
<li>
<a href = "mgs_prb.sh">mgs_prb.sh</a>,
commands to compile the test code, link it with the software,
and run it.
</li>
<li>
<a href = "mgs_prb_output.txt">mgs_prb_output.txt</a>,
the output file.
</li>
</ul>
</p>
<p>
You can go up one level to <a href = "../c_src.html">
the C source codes</a>.
</p>
<hr>
<i>
Last revised on 07 November 2011.
</i>
<!-- John Burkardt -->
</body>
</html>