Imported Upstream version 4.6.0
[debian/atlc] / ChangeLog
1 ****** Version 4.6.0 Realeased ??? November 2003  
2 top level directory:
3
4 atlc/update 
5 has been modified so it updates the NEWS.html file. 
6
7 atlc/examples directory.
8 Have removed the following files from the distribution:
9 atlc/examples/100-Ohm-201b.bmp \
10 atlc/examples/100-Ohm-401b.bmp \
11 atlc/examples/200-Ohm-201b.E.bmp \
12 atlc/examples/200-Ohm-201b.Er.bmp \
13 atlc/examples/200-Ohm-201b.Ex.bmp \
14 atlc/examples/200-Ohm-201b.Ey.bmp \
15 atlc/examples/200-Ohm-201b.U.bmp \
16 atlc/examples/200-Ohm-201b.V.bmp \
17 atlc/examples/200-Ohm-201b.bmp \
18 atlc/examples/200-Ohm-401b.bmp \
19 atlc/examples/200-Ohm-801b.bmp \
20 atlc/examples/25-Ohm-201b.bmp \
21 atlc/examples/25-Ohm-401b.bmp \
22 atlc/examples/25-Ohm-401h.bmp \
23 atlc/examples/25-Ohm-801h.bmp \
24 atlc/examples/50-Ohm-201h.bmp \
25 atlc/examples/50-Ohm-401h.bmp 
26
27 I'm not sure they were that usful, given there are plenty of 
28 files like 50ohm-201h.bmp etc. 
29
30 Remove atlc/examples/13inner_22outer_coax.bmp.txt too, as there was
31 no 13inner_22outer_coax.bmp to match up with it. 
32
33 atlc/docs/html-docs/accuracy.html 
34 Completed updated all results to those obtained with ver 4.6.0
35 Put into 4 sections detailing:   
36 Section 1. Two conductor Transmission Lines with a Uniform Dielectric
37 Section 2. Two-conductor Transmission Lines with a non-uniform dielectric
38 Section 3. Accuracy of atlc with coupled lines
39 Section 4. Conclusions about the accuracy of atlc
40
41 Added a completly new section:
42 2.1 Comparision of atlc and a dual dielectric coaxial cable
43
44
45
46 atlc/src/non_gui/create_bmp_for_symmetrical_stripline.c
47 This no longer computes the theretical impedance if the 
48 structure is too narrow. Only computes if the -v option
49 is added. 
50
51 atlc/src/create_bmp_for_circ_in_circ.c
52 Will now print sensible error messages if the inner conductor is too big
53 or if the inner and outer will touch since the offset is too large
54
55 atlc/src/set_oddity_value.c
56 This sets a global array unsigned char **oddity; to a value describing
57 if the pixel is matallic, has conductors to the right/left etc.
58 cell_type was not adequate for this, since once you had set one cell,
59 you did not know the result for those around it. #
60
61 atlc/src/non_gui/print_data_for_directional_couplers.c
62 No longer fails to print intermediate values of impedance if 
63 verbose is >2 as it did before. 
64
65 atlc/src/non_gui/write_fields_for_two_conductor_lines.c
66 This can now write the oddity values from set_oddity_value()
67 to a bitmap file, although this has been commented out by default. 
68
69 atlc/src/
70 A huge number of changes were made to this release. Not every
71 one is fully documented, as to do so I would have spent as long
72 documenting the code as writing it. 
73 ****** Version 4.5.1 Released 16th October 2003   ****
74 A problem with multiple dielectrics has been discoved, and aslo with 
75 multi-threaded operating. As such, both have been disabled. This affects
76 many files. 
77
78 configure.ac
79 changed version to 4.5.1
80 No longer accepts the option --with-threads, since I have some
81 suspicions about threaded code. 
82
83 docs/html-docs/examples.html
84 Removed the example of multi-dielectrics, as that is not working
85 properly now. 
86
87 docs/html-docs/FAQ.html
88 Changed the answer to 'No' about the qestion of multi-dielectrics
89
90 docs/html-docs/multi-processing.html
91 Mentioned this has been disabled. 
92
93 docs/html-docs/accuracy.html
94 Pointed out multiple dielectrics are not working properly
95
96 src/non_gui/definitions.h
97 Removed two duplicate function definitions for 
98 free_cmatrix and ustring, whilst removing the #define
99 around the #ifdef ENABLE_MPI so there is only one  
100 definition of do_columns now. 
101
102 Added the variable 'size' to several functions - 
103 do_fd_calculation.c, write_fields_for_directional_couplers.c,
104 write_fields_for_two_conductor_lines.c
105
106
107 src/non_gui/do_fd_calculation.c
108 Added variable 'size' as a command line argument to stop
109 it needing to be declared global. 
110
111 src/non_gui/do_fd_calculation.c
112 Added variable 'size' as a command line argument to stop
113 it needing to be declared global. 
114
115 src/non_gui/write_fields_for_two_conductor_lines.c
116 Added variable 'size' as a command line argument to stop
117 it needing to be declared global. 
118
119 src/non_gui/atlc.c
120 size_t size is no longer global but local to main. This would at first
121 checking appear to stop the issue with all (which was one or two) 
122 test failures on AIX 5.2. Later I found this is not so and there
123 is a problem in the multi-threaded code for atlc.
124
125 tests/WARNING--The-next-test+benchmark-takes-a-long-while.test
126 return 0 (pass), as previously it did multi-dielectrics. 
127
128 tests/Makefile.am
129 Removed 2[b-h]* from the tests. 2a-create_bmp_for_rect_in_rect.bmp.test
130 is still used. 
131
132
133 ****** Version 4.5.0 Released 13th September 2003 ****
134
135 The ChangeLog shows version 4.5.0 being released on
136 the 13th September, when it fact it was the 11th of 
137 October. 
138
139 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
140 ****** Version 4.5.0 Released 13th September 2003 ****
141 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
142
143 NEWS
144 mention lattest news - mainly correction of a few errors
145 and the fact its no longer necessary to link in gsl. 
146
147 remoterun 
148 changed, as the old version was accidently deleted and 
149 I could not be bothered to read from tape. Might not be
150 100% okay, but it is not needed for use of atlc - only
151 during testing. 
152
153 'update' added to CVS tree
154 Added a file called 'update' that generates docs/html-docs/*.1.html
155 and docs/html-docs/BUGS.html This uses header and footer for the 
156 generation of docs/html-docs/BUGS.html
157
158 'header' and 'footer'' added to CVS tree
159 used with 'update' to generate docs/html-docs/BUGS.html
160
161 README.checks
162 Removed, as information is out of date. 
163
164 tests/find-zero-length.test
165 Added a file to check for the existance on zero length
166 files in the source distribution. 
167
168 configure.ac
169 Incremented version to 4.5.0
170 Removed tests for gsl and all that involved. 
171 Removed tets for the sizeof short, int and long
172 as they are not needed. 
173
174 man/man1/create_bmp_for_stripline_coupler.1
175 changed email address to make it less easy for spammers to grab. 
176
177 man/man1/man-pages.html 
178 Added a new man page for design_coupler.1.html
179
180 src/calculate_Zodd_and_Zeven.c:
181 Added #include gsl_types.h and #include "gsl_definitions.h"
182
183 src/non_gui/usage_create_bmp_for_symmetrical_stripline
184 made it print the fact the -v option computes the 
185 theoeretical impedance. Before the binary did it, but
186 the usage message did not say so. 
187
188 docs/html-docs/jpgs/home-email.jpg 
189 Added new file with my email address, that is not easy to 
190 read automatically. 
191
192 Removed all occurance of my email address from the html
193 files, so that those published on the web are less likely
194 to attract spam. 
195
196 src/ 
197 All the following had my email address removed
198 usage_create_bmp_for_stripline_coupler.c 
199 usage_create_bmp_for_rect_in_rect.c 
200 usage_create_bmp_for_rect_in_circ.c
201 usage_create_bmp_for_rect_cen_in_rect_coupler.c 
202 usage_create_bmp_for_rect_cen_in_rect.c 
203 usage_create_bmp_for_microstrip_coupler.c
204 usage_create_bmp_for_circ_in_rect.c 
205 usage_create_bmp_for_circ_in_circ.c 
206 usage_atlc.c swap_conductor_voltages.c setup_arrays.c
207 read_bitmap_file_headers.c
208 print_data_for_two_conductor_lines.c
209 print_data_for_directional_couplers.c
210 print_copyright.c
211 memory.c
212 get_options.c
213 get_file_pointer_with_right_filename.c
214 get_Er1_and_Er2_colours.c
215 finite_difference_single_threaded.c 
216 finite_difference_multi_threaded.c
217 finite_difference_mpi.c
218 find_maximum_values.c
219 find_energy_per_metre.c
220 find_electric_fields.c
221 fill_rect_in_rect.c
222 fill_rect_in_circ.c
223 fill_circ_in_circ.c
224 exit_with_msg_and_exit_code.c
225 do_fd_calculation.c
226 create_bmp_for_rect_in_rect.c
227 create_bmp_for_rect_in_circ.c
228 create_bmp_for_rect_cen_in_rect_coupler.c
229
230 tests/8a-design_coupler.bmp.test
231 Removed the test for gsl library and so to exit with 77 if not present. 
232
233 Added a second checksum:
234 aebd9a6d1c1db548d39723edec454640
235 that is acceptable, as this will be produced on 
236 Windoze machines.
237
238 tests/6e-create_50ohm_401Pixel_high_symmetrical_stripline.test
239
240 tests/7n-create_bmp_for_stripline_coupler.bmp.pre-atlc.txt.test
241 Removed the test for gsl library and so to exit with 77 if not present. 
242
243 tests/10b-create-lots-of-examples-check-last-one.test
244 Removed the test for gsl library and so to exit with 77 if not present. 
245
246 tests/10a-create-lots-of-examples-check-last-one.test
247 Removed the test for gsl library and so to exit with 77 if not present. 
248
249 src/non_gui/gsl_sf_ellint_Kcomp.c
250 Added new file that basically has the gsl_sf_ellint_Kcomp
251 function for computing the elliptic integral. This requires
252 several functions for it to opperate, as it calls several 
253 functions. These are all in the same file gsl_sf_ellint_Kcomp.c
254
255
256 src/non_gui/definitions.h
257 Added quite a few function definitions, #defines etc to allow
258 the gsl_sf_ellint_Kcomp function to work. It needed several
259 other functions added. 
260
261
262 ****** Version 4.4.4 Released 13th September 2003 ****
263 configure.ac
264 Version incremented to 4.4.4
265
266 NEWS
267 mention made of the fact the sources have been
268 changed primarily so it should build under Windoze.
269
270 docs/html-docs/jpgs/Makefile.am
271 added bluefish.jpg properly to the file - it was 
272 missing partically before, so bluefish.jpg was
273 not included in the distribution. 
274
275 docs/html-docs/create_bmp_for_symmetrical_stripline.1.html
276 Autogenerated, reflecting changes in man page, which
277 was a change in the warning information about the 
278 inability of man pages to fully describe the atlc
279 project. 
280
281 docs/html-docs/create_bmp_for_symmetrical_stripline.1.html
282 Autogenerated, reflecting changes in man page, which
283 was a change in the warning information about the 
284 inability of man pages to fully describe the atlc
285 project. 
286
287 man/man1/sysdata.1
288 Removed text saying man page is not a full set of 
289 docs, since in the case of the simple sysdata.1, the
290 man page adequately describes the function. This is 
291 no so really with some of the other man pages, because
292 your can't really describe fully how to use such   
293 programs with man pages. 
294
295 src/non_gui/create_bmp_for_rect_in_rect.c
296 Changed fopen to open in binary mode, to make it work 
297 under Windoze. 
298
299 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
300 Changed fopen to open in binary mode, to make it work 
301 under Windoze. 
302
303 src/non_gui/create_bmp_for_symmetrical_stripline.c
304 Changed fopen to open in binary mode, to make it work 
305 under Windoze. 
306
307 src/non_gui/create_bmp_for_rect_in_circ.c
308 Changed fopen to open in binary mode, to make it work 
309 under Windoze. 
310
311 src/non_gui/create_bmp_for_rect_cen_in_rect_coupler.c
312 Changed fopen to open in binary mode, to make it work 
313 under Windoze. 
314
315 src/non_gui/create_bmp_for_rect_cen_in_rect.c
316 Changed fopen to open in binary mode, to make it work 
317 under Windoze. 
318
319 src/non_gui/create_bmp_for_microstrip_coupler.c
320 Changed fopen to open in binary mode, to make it work 
321 under Windoze. 
322
323 src/non_gui/create_bmp_for_circ_in_rect.c
324 Changed fopen to open in binary mode, to make it work 
325 under Windoze. 
326
327 tests/8a-design_coupler.bmp.test
328 Changed so the temporary storage is no longer in /tmp
329 but instead in $top_builddir/tmp/results. This should be 
330 compatible with Windoze, but I don't know for sure if it is
331 yet. I don't build Windoze binaries. 
332
333 tools/src/mymd5sum.c
334 Changed fopen to open in binary mode, to make it work 
335 under Windoze. 
336
337 tools/src/myfilelength.c
338 Changed fopen to open in binary mode, to make it work 
339 under Windoze. 
340
341 tools/src/locatediff.c
342 Changed fopen to open in binary mode, to make it work 
343 under Windoze. 
344
345 tests/benchmark.c
346 Changed fopen to open in binary mode, to make it work 
347 under Windoze. 
348
349
350 ****** Version 4.4.3 Released 11th September 2003 ****
351
352 Replace 'kb' and 'Mb' with 'kB and MB, as I was advised the lower
353 case is used for bit and the upper case for byte. These required 
354 changes in tests/benchmarks.test
355
356 man/man1/sysdata.1
357 Added a man page for the program sysdata in man/man1/sysdata.1
358 This has about 11 examples, which are there more for my own use
359 that anyones elses. When possible I'll try to expand the files
360 that gather data about the hardware.
361
362 man/man1/*.1
363 Corrected many typo, spelling errors etc in all the man pages.
364 more significantly, the 
365
366
367 docs/html-docs/accuracy.html
368 Corrected a few typos and made the page a bit clearer
369 I hope. Any HTML that did not strictly follow the stanard has
370 been corrected, so it should pass the test at 
371 http://validator.w3.org/check/referer
372 hence an W3C logo has been added at the bottom of the page.
373
374 docs/html-docs/accuracy.html
375 A bluefish logo has been added too.
376
377 The spamtrap on the page has been changed a bit, which is a bit
378 annoying as it is now visable. But the code was not strict 
379 HTML before, so there were problems in making it valid 
380 otherwise. 
381
382 tests/Makefile.am
383 References to the gsl library have been removed, so the 
384 thread tests will pass if the gsl library is not present.
385 This was changed just in case someone runs a binary 
386 in pkgadd format on a Sun without having the gsl library
387 installed. Some binaries will break, but Test_threads_a
388 and Test_threads_b should now still pass, even if 
389 the gsl library is not present. No functions from gsl
390 are needed on these two files, so it was sensless linking
391 them against the library. 
392
393 tests/try_portable.c
394 The code has been changed a bit so it should now (I hope)
395 compile under Windoze too. Someone has done a Windoze port
396 but found a bug in the code, which has been corrected. 
397
398 tests/try_solaris.c
399 Added code to make it cleaner and so no variables 
400 get declared if not needed.
401
402 ****** Version 4.4.2 Released September 6th 2003 ****
403
404 src/non_gui/readbin.c
405 swapped the second (size) and third (number) arguments around
406 on an fread, as were the wrong wary around - not that I think
407 it will make any difference. 
408
409 src/non_gui/atlc.c
410 swapped the second (size) and third (number) arguments around
411 on an fread, as were the wrong way around - not that I think
412 it will make any difference. 
413
414 src/non_gui/check_for_boundaries.c
415 put a check in for j=0 which could cause a progrom on the 
416 Digital UNIX (spe145.testdrive.compaq.com) system on 
417 the HP testdrive site. A real bug found at least!!!!
418
419 tests/try_bsd.c
420 put some checks for NGROUPS, including a couple more 
421 header files if NGROUPS is not defined. This causes a 
422 problems on OpenBSD 3.2 for SPARC (my SS20), so was 
423 fixed.
424
425
426 tests/try_linux.c
427 Added a call to get the number of CPUs. Appears not to be
428 documented, so a bit risky and gives the number of processors
429 configured, rather than online, but its is better than nothing. 
430
431 ****** Version 4.4.1 Released September 4th 2003 ****
432
433 configure.ac
434 Changed version to 4.4.1 
435 Added sys/sysctl.h and sysctl as these are used on BSD try_bsd.c
436 to gather information on a BSD UNIX system. 
437
438 docs/html-docs/index2.html
439 Changed a typo or two. Added an entry for Unixware, as someone emailed
440 me to say iversion 4.0.0 works on UnixWare. 
441
442 tools/src/locatediff.c
443 Corrected an error so this now works. A change recently caused this to
444 break. It now reads both files. 
445
446 tests/try_irix.c
447 Much improved, finds information about cache and main ram on IRIX now
448 Also speed of CPU, and type of CPU and FPU, although the latter are not
449 decoded into a sensible number like R10000. 
450
451 tests/benchmark.test  
452 information now prints the fact the IRIX information is good, not 
453 poor as in prior versions. 
454
455 THANKS 
456 Added new testers and thanks the cray site's administrators. 
457
458 Now informs the amount of RAM on Linux and BSD systems is a little
459 larger than the value reported.
460
461 tests/Makefile.am
462 Added a new binary sysdata, which prints data in this format. 
463
464 Hardware provider:    Sun_Microsystems
465 Hardware platform:    SUNW,Ultra-80
466 Machine:              sun4u
467 Sysname:              SunOS
468 Release:              5.9
469 Version:              Generic_112233-06
470 Nodename:             sparrow
471 #CPUs supported:      4
472 #CPUs online:         4
473 CPU type:             sparcv9
474 FPU type:             sparcv9
475 Speed:                450 MHz
476 RAM:                  4096 Mb
477 L1 data cache         unknown kb
478 L1 instruction cache: unknown kb
479 L2 cache:             unknown kb
480
481 src/non_gui/finite_difference_multi_threaded.c 
482 removed the argument 'number_of_iterations' as not used
483
484 src/non_gui/write_bitmap_out.c
485 added checks for the return value of fwrite
486
487 src/non_gui/write_fields_for_two_conductor_lines.c
488 added checks for the return value of fwrite
489
490 src/non_gui/memory.c
491 removed all unneeded functions from this file
492
493 src/non_gui/convert_create_bmp_for_rect_in_rect_dimensions_to_integers.c
494 removed extern variables Ers, colours and names, as these are defined
495 in the header files definitions.h, Ers.h and Erdata.h
496
497 src/non_gui/man_functions...
498 Tidied up, to keep Sun's lint happier
499
500 BUGS
501 Removed bug about linking with old versions of gsl. 
502 Corrected the fact hardware data is gathered on IRIX
503 okay and its only Linux and BSD it fails on. 
504
505
506 ****** Version 4.4.0 Released August 30th 2003 ****
507 BUGS 
508 Added  0 - those I don't know about, 
509 Added  3 - tools/src/locatediff don't work on AIX. 
510 Added 11 - documentation gets out of date
511 Added 12 - CVS sometimes get out of date  
512
513 configure.ac
514 Updated the version to 4.4.0, as there are some major(ish)
515 changes to allow compilation on the Cray Y-MP EL, which
516 previously atlc would not work on. 
517
518 Added a test for the size of a short, since on a Cray Y-MP, an int is 8
519 bytes, so this screwed up things in src/non_gui/definitons.h, as 
520 it needed to define int32 as something. 
521
522 Changed the default from not enabling hardware information to enabling it.
523 It can be changed with --disable-hardware-info
524
525 Added a test for _SC_CRAY_NCPU and _SC_CRAY_CPCYCLE, which will help
526 debugging any problems. 
527
528 Added check for sys/vid.h, which I'm hoping is just on IRIX. 
529
530 NEWS
531 mention atlc now runs on toys and supercomuters and the fact an option has 
532 nw become the default. 
533
534 README.hardware-info
535 new file added, listing information about what hardware data is 
536 gathered on what systems. 
537
538 README.--enable-hardware-info
539 removed, as the option no longer exists - it's the default. 
540
541 INSTALL
542 Changed install insturctions, as --enable-hardware-info is now the 
543 default. 
544
545 Makefile.am
546 Added README.hardware-info removed README.--enable-hardware-info
547
548 tests/Makefile.am
549 Added test 5c-check_numeric_data_from_atlc-2conductor.test
550 as well as try_irix.c and try_unicos.c
551 tests/try_unicos.c
552 Added a function try_unicos() to obtain data about the hardware of 
553 a Cray supercomputer. 
554
555 tests/try_linux.c
556 Removed some variables that were now now longer needed and so generated
557 a warning from the compiler. Variables were operating_systems, i, ret
558 and one other I think. 
559
560 tests/try_solaris.c
561 Removed some variables that were now now longer needed and so generated
562 a warning from the compiler. Variables were operating_systems, i, ret
563 and one other I think. 
564
565 tests/try_irix.c
566 Added a file to find out information on the SGI running IRIX. 
567 Currently little information is found. 
568
569 tests/try_unicos.c
570 Added a file to find out information on the Cray. 
571
572 tests/Makefile.am
573 Added entries for try_irix.c and try_unicos.c
574
575 tests/benchmark.test
576 Changed the wording about what data is collected on each system, as
577 previously it stated only Solaris was reasonably well supported, but
578 that is not true now, so it has been changed. 
579
580 tests/1g-create_bmp_for_symmetrical_stripline.U.bmp.test
581 Added the md5 checksum 2a9644a0206c2314006e298f07aae233 as being okay,
582 since this is generated on the Cray Y-MP and differs by only a single
583 pixel and a single gray-level, from that on the Sun, suggesting 
584 its just rounding errors. (I don't think the Cray implements IEEE maths
585 anyway). 
586  
587 tests/7g-create_bmp_for_stripline_coupler.U.odd.bmp.test
588 Added a new checksum 09f68e1466d68bf8a03e1f90eff411bb which
589 is produced on a Cray. 
590
591 src/non_gui/write_bitmap_out.c
592 MAJOR change, so this now writes data out in ONE consistant manner
593 that should be very portable. Note this is used only for programs 
594 like create_bmp_for_*, and it not used by 'atlc' itself. 
595
596 src/non_gui/write_fields_for_two_conductor_lines.c
597 changed the name 
598 extern bitmap_file_buffer to 
599 bmp_buff as the latter was
600 shorter and space was at a premium, to stop one needing huge long
601 lines everywhere. 
602
603 src/non_gui/read_bitmap_file_headers.c
604 MAJOR change, so this now writes data out in ONE consistant manner
605 that should be very portable. This is used only for programs 
606 like create_bmp_for_*, AND 'atlc' itself. 
607
608 src/non_gui/byteswap.c
609 Removed all functions except byteswap_doubles. 
610
611 src/non_gui/definitions.h
612 Added definition for try_unicos.c
613 Removed all entries for byteswap*, except
614 byteswap_doubles, which is used by readbin.c
615 Changed definitons of Bitmap_Head_Struct + Bitmap_File_Head_Struct
616 as these now use just ints for portability. 
617
618 src/non_gui/Makefile.am
619 Removed byteswap.c from all binaries except readbin
620
621
622 ****** Version 4.3.8 Released August 21sth 2003 ****
623 NOTE THE CHANGELOG FOR VERSION 4.3.8 SHOWS 4.3.7 AT THE TOP. THIS WAS AN
624 ERROR. THE DETAILS ARE VALID FOR 4.3.8. 
625 configure.ac
626 Added the lines
627 AC_CHECK_DECL(_SC_PHYS_PAGES,,)
628 AC_CHECK_DECL(_SC_PAGESIZE,,)
629 to enable me to check if _SC_PHYS_PAGES and _SC_PAGESIZE
630 are defined for debugging purposes only. No use of them is 
631 made, but it help to determine why code might not work later
632 on, if its known whether these are defined or not. Problems
633 reported by someone indicate problems, which would be easier
634 to track with this option enabled. 
635 Added a check for errno.h, as it was needed on Suse. Prior to this
636 many files had #ifdef HAVE_ERRNO_H, but obviously the inclusion of
637 errno.h was not critical on those systems. On Suse it was. 
638
639 tests/try_portable.c
640 check the return value or uname, to see if it fails or 
641 not. If it does fail, print message and error if errno
642 is defined. Replaces any spaces with underscores in the 
643 ouputs from any part of the utsname structure.
644
645 tests/try_linux.c
646 Removed any code to check for systems parameters using 
647 uname- it should all be found in try_portable.c, which
648 is called before any other try_* functions. 
649
650 ****** Version 4.3.7 Released August 6th 2003  ********
651
652 README.--enable-hardware-info
653 New file added, to give information on what data is obtained on what
654 hardware platform. 
655
656 BUGS
657 Added a problem with test failures on IBM's AIX with thread support and
658 removed one about teston now working on the local host, as it now does.
659 There is a html version of the file in docs/html-docs/BUGS, which should
660 really be renamed, or some automated way of generating text from HTML,
661 or perhaps just text and a link. No sure how best to do this really, but
662 it is not entirely satisfactory. 
663
664 configure.ac
665 removal of code assocatiated with MPI
666
667 teston
668 change an example, so it shows how to configure with the
669 --enable-hardware-info rather than the --with--mpi, as the former is a
670 new option and the latter is now removed. 
671
672 README.threads
673 More updated information on what atlc has been tested on, and clearer
674 infomration on using it. 
675
676 README.help
677 mention I'd like information on building on MP machines others than for
678 AIX, IRIX, Redhat Linux and Solaris, rather than just Solaris, as the
679 former have all been tested
680
681 README.checks
682 Major updates to this, as the data in the file was based on an old
683 version of atlc, that failed numerous tests when multi-threaded, due to
684 the differing algorithms. Some data on machines has been removed, as it
685 some of the machines I no longer have in a running state. 
686
687 NEWS
688
689 Most other changes are just to keep the compiler a little happier in
690 src/non_gui, but some more significant changes in tests subdirectory. 
691
692 src/non_gui/readbin
693 Forced length to be case to size_t, to make gcc -Wconversion happier.
694
695 src/non_gui/design_coupler.c
696 changed 10 to 10.0 to make a double and so keep the compiler happier
697 when calling pow
698
699 src/non_gui/create_bmp_for_stripline_coupler.c
700 extra casts and general tidying up, to make compiler give less warnings.
701
702 src/non_gui/write_bitmap_out.c
703 cast to (size_t) to keep compiler happier. 
704
705 src/non_gui/memory.c
706 included sys/types.h  and remote the #define of size_t to an int, again
707 to keep the compiler happier. 
708
709 /src/non_gui/atlc.c
710 cast numbers to long, to be consistant with the declaration of ustring()
711 and free_ustring().
712
713 src/non_gui/convert_create_bmp_for_coupled_microstrip_dimensions_to_integers.c
714 changing numbers in the pow(x,y) to force them to be doubles, rather
715 than ints to keep the compiler happier. 
716
717 src/non_gui/convert_create_bmp_for_circ_in_circ_dimensions_to_integers.c
718 changing numbers in the pow(x,y) to force them to be doubles, rather
719 than ints to keep the compiler happier. 
720
721 src/non_gui/calculate_colour_data.c
722 changed type of image_type from char to int. Not sure why this was done,
723 but probably to keep compiler happier. 
724
725 src/non_gui/definitions.h
726 changes to enable strong type-checking in C code. 
727
728
729 tests/try_aix.c
730 Added string.h to the list of include files.
731 Removed need for type long long. 
732
733 tests/try_hpux.c
734 Removed need for type long long. 
735
736 tests/try_solaris.c
737 Removed need for type long long. 
738
739 tests/try_linux.c
740 Added file to get infomation on Linux system, but so far it 
741 does not get that much info - only uname stuff and the ram
742 in Mb. 
743
744 tests/try_tru64.c
745 Changed to avoid a compiler warning about not returning anything 
746 from the file, despite the fact it is declared to return an 
747 integer. 
748 Removed need for type long long. 
749
750 tests/benchmark.c
751 no longer declares opperating_system, which was an integer that was
752
753 tools/src/locatediff.c
754 forcing variables to be of size (size_t), to reduce compiler warnings. 
755 assigned a value, but never used" benchmark.c
756
757 tests/benchmark.test
758 now writes to text and html files more consistantly.
759
760 tests/Makefile.am
761 Addes teh file try_linux.c and removes @MPILIBS@, as MPI now removed
762 from code. 
763
764 docs/html-docs/accuracy.html
765 iremoval of incorrect statement that *ohm-*.bmp were not packaged, but
766 built. They are now packaged for my convenience. Also mention of make
767 check
768
769 docs/html-docs/building.html
770 several small changes, but main one being removal of any data about MPI
771
772 docs/html-docs/make-check.html
773 added new file, describing the testing process. 
774
775
776 ****** Version 4.3.6 Released August 3rd 2003  ********
777 The main change is to configure.ac, to remove an unwanted
778 (and useless) --with-extra-benchmark-data option.
779
780 Many sources have been tidied up, to make gcc -Wconversion
781 happy. 
782
783 docs/html-docs/accuracy.html
784 Removed errors, which incorrectly stated that the lager bitmaps were
785 not distributed - they are now. 
786
787
788 docs/html-docs/make-check.html.html
789 Added a new file, describing how the automatic testing of atlc
790 is performed. 
791
792
793 ****** Version 4.3.5 Released July 26th 2003  ********
794
795 src/non_gui/atlc.c
796 Changed number_of_workers from static to global, as 
797 it did not compile properly. 
798
799 tests/benchmark.test
800 changed the benchmark so speedup is printed properly
801 (T_sequential/T_parallel) and not the other way around. 
802
803 changed at t1 to a t2 on the line that is printed so
804 the code works okay when compiled multi-threaded. 
805
806 changed the conditions under which the efficiency was
807 computed so that it works okay when the number of cpus
808 is unknown. It no longer prints 'Inf', but instead 'unknown'
809
810
811 tests/benchmark.c
812 Now calls an AIX specific routine, which does nothing!
813
814 tests/try_tru64.c
815 Much improved. Gets CPU time now, along with ram and cpu speed.
816
817 tests/try_hpux.c
818 Minor improvements, works pretty good now. 
819
820 ****** Version 4.3.4 Never released  ********
821
822 README.aix 
823 Removed. Works fine under AIX now. Two issues were 
824 resolved:
825 use of char when I needed signed char. Rounding error
826 caused one pixel to change in colour by one graylevel
827
828 src/non_gui
829 Changed many files in src/non_gui that referenced
830 char **cell_type; 
831 I was not aware declared in this way, there is no
832 standard for whether cell_type consists of signed or 
833 unsigned characters. Hence it was not portable. This
834 caused a very large number of failures on AIX. This 
835 has now been corrected. One failure remains (see above).
836
837 Added a file src/non_gui/memory.c to include funtions
838 scmatrix and free scharmatrix, which  allocate and 
839 deallocate matrixes with signed characters. 
840
841 src/non_Gui/Makefile.am
842 Removed unnecessary entries of GSL_LIBS, which causes
843 the SGI linker to generate a warning, that the gsl
844 library was not used to resolve any functions. 
845
846
847
848
849 ****** Version 4.3.3 Released July 17th 2003  ********
850 README.aix 
851 Added a new file, highlighting problems on AIX.
852
853 configure.ac 
854 Added a --enable-debug option, although little use is made
855 of this in the code. 
856
857 Added --with-extra-benchmark-data which should be an optional
858 featuure, not an optional package as the configure script says
859 it is. This needs correcting at a later date. 
860
861 tests/benchmark.c
862 changed the file so that the header file sys/processor.h only
863 got included if the file existed and processor_info() was 
864 defined
865
866 #ifdef HAVE_PROCESSOR_INFO /* function processor_info() is in Solaris */
867 #ifdef HAVE_SYS_PROCESSOR_H /* and in OSX */
868 #include <sys/processor.h> /* But not on Tru64 */
869 #endif /* <sys/processor.h> does not exist on OSX */
870 #endif
871
872 and made sure that areas of the code that needed aspects of
873 processor_info always had this header file. The reason is that OSX seems
874 to have the fuction processor_info(), but does not have the header file
875 and don't seem to have it defined anywhere. 
876
877 Made tests/benchmark.c write benchmark results to tests.log
878
879 tests/benchmark.c now gathers information about the processors
880 on an HP-UX box. 
881
882 src/non_gui/Makefile.am
883 Added function error_check()
884
885 src/non_gui/reaadbin.c
886 Changed an fopen(,"r") to fopen(,"rb"); so it works on
887 Windoze based systems. 
888
889 docs/html-docs
890 BUGS - removed and replaced by docs/html-docs/BUGS.html
891
892 ****** Version 4.3.2 Released June 12th 2003  ********
893
894 Top level
895
896 testson. 
897 Added a new file 'teston' which allows for rapid testing 
898 on a number of remote machines. Developers might find this
899 of general use - it is not specific to atlc. 
900
901 README
902 Correected a couple of typos. Added 'tests' to the list of
903 directories, as that was missing. Also tools and tools/src.
904
905 definitions.h
906 Remoted a few lines which were commented out
907 Put void as a function argument - ie foo(void) instead of foo();
908
909
910
911 tests subdirectrory.
912
913 tests/benchmark.c 
914 This should not be able to obtain the number of cpus on a wider range of
915 machines, and get the cpu speed on at least some Alpha systems. 
916
917 Should be able to determine the RAM on Solaris and Tru64 UNIX.
918
919 tests/benchmark.tests
920 Supplied with the new information from tests/benchmark.c
921 this should now display more sensible information. 
922
923 ****** Version 4.3.1 Released June 7th 2003  ********
924 Unfortunately, the ChangeLog for 4.3.1 was never updated. 
925
926
927 ****** Version 4.3.0 Released April 5th 2003  ********
928
929 Top level directory
930
931 Added a new directory 'm4' to hold autoconf macros.
932 Moved the top level autoconf macros to 'm4'
933
934 Added file 'benchmark' to run a test. It takes 
935 about 1:17 on Ultra 80 with no thread support. 
936
937 ChangeLog
938 Updated the ChangeLog of course!!
939
940 configure.in changed to configure.ac
941 Renamed configure.in to configure.ac, as this is now the preferable
942 name for the old configure.in
943 Significan chanes made to this. Now there is an m4 macro to check for
944 gsl library and the optimal way to link for threads and the optimal 
945 way to link for MPI. 
946 Now accepts gsl version of 0.8 and above. It works on 0.8 but not 0.5. I
947 don't quite know where the border line lines, but requesting 0.8 dones
948 not seem unreasonable.
949
950 Added a check for automake 2.57 or above. 
951
952 Replaced 'dnl' witrh '#' for a comment.
953
954 Added a macro gsl.m4 
955 http://www.ugcs.caltech.edu/info/gsl/usage_4.html
956 to check for a sepcific version of gsl and to add
957 entries on CFLAGS and LD_FLAGS
958
959 Directory atlc/src/no_gui
960 atlc/src/no_gui/usage_atlc.c
961 Removed references to WITH-MP and replaced with ENABLE-POSIX-THREADS
962 as this was a bug. Now changed code so that if the -t option is
963 disabled, the code prints the reason (Windoze or not configured
964 with --with-threads). Previously it gave two possible reasons.
965
966
967 atlc/src/no_gui/atlc.c
968 removed thr_setconcurrancy and replaced with pthread_setconcurrancy
969 as this is portable, whereas the other is Solaris specific. 
970
971 atlc/src/do_fd_calculation.c
972 This now calls function finite_difference_single_threaded or
973 finite_difference_multi_threaded, depending on how the software is
974 configured and the presence of -t0 option to atlc. 
975
976 atlc/src/non_gui/finite_difference_multi_threaded.c
977 The name of the function has been changed from finite_difference to
978 finite_difference_multi_threaded - no longer are there two functions
979 with the same name. The correct one function is called from
980 do_fd_calculation.c, depending on whether the software is configured
981 with threads or whether the user has elected to run a single threaded
982 algorithm on a multi-threaded system, by passing the option -t0 to atlc,
983 which indicates it will use the single threaded algorithm. 
984
985 Changed the algorithm considerably. This has several advantages over the
986 old one.
987 a) The algorithm should be suitable with minor modification for MPI use.
988 b) The code now produces exactly the same results whether run for single
989 or multi-threaded. finite_difference_single_threaded.c needed to be
990 changed to enable this.
991 d) A barrier is now used for syncronisation. 
992 This algorithm is apparently not very cache friendly, so it could do
993 with some teaking, but at least its a decent starting point, producing
994 the same data from single threaded or multi-threaded use. 
995
996 atlc/src/non_gui/do_fd_calculation.c
997 This now calls one of two functions.
998
999 a) Code is now inline, rather than a function call.
1000 Directory atlc/tools/src:
1001
1002 atlc/tools/src/Makefile.am
1003 Change bin_PROGRAM to noinst_PROGRAMS so that the programs
1004 used only for testing are not installed. They serve no useful
1005 function apart from when running the tests in atlc/tests.
1006
1007 atlc/tools/src/memory.c
1008 Removed 'memalign' since it seems to be in some libraries, but with
1009 no header files. Also, there seems to be POSIX specific versions of 
1010 it and finally, the compilers will force this with the right
1011 switches. Hence overall, it seems more hassle than its worth to 
1012 have 'memalihn' anywhere. For this reason, the check was removed
1013 from configure.ac too. 
1014
1015 src/gui/Makefile.am
1016 Commented out most of the things, so a C++ compiler is not needed. The 
1017 # files in this directory servered no useful purpose, but the icons at 
1018 # least might be useful. Whether or not a GUI will be added is anyone's
1019 # guess. 
1020
1021 MPI code has been almost fully removed, to start this from scratch again.
1022
1023 ****** Version 4.2.12 Released 30/3/2003  ********
1024
1025 Top level:
1026 renamed configure.in to configure.ac, as I gather this is now the 
1027 prefereed name for the file. 
1028
1029 ****** Version 4.2.11 Released 30/3/2003  ********
1030 Many many changes!! Not all are documented!
1031 Started to the use autoconf macro acx_pthread.m4 to configure POSIx
1032 threads properly. 
1033
1034 Implemented an md5 checksum program for testing checksums, as this is
1035 very accurate. The one I was using (a hacked 'sum' command) is not that
1036 good and so could miss a change in a file quite easily. 
1037
1038 Spent a lot of time on the test routines. These now always pass and
1039 will work with a VPATH build too. 'make discheck' works fine now.  
1040
1041 Removed several bugs from the function 'do_fd_calculation' so it now
1042 does not cause any floating point exceptions cc is configured to not
1043 implement the IEEE standard. 
1044
1045 Put new algorithms for finding the electric field into find_electric_fields.c,
1046 but they seem less accurate than the old versions, so these are not used for 
1047 now at least. 
1048
1049 Change from 'char *foo' to 'const char *foo' in many files, as this
1050 keeps Sun's compiler a bit happier. Note the Sun compiler (Sun WorkShop
1051 6 update 2 C 5.3 2001/05/15) still moans about a lot of things that gcc
1052 thinks is fine. 
1053
1054 Added the following files that were ommited when put into CVS
1055
1056 **top level directory changes made by drkirkby **
1057 gtk.m4
1058 depcomp
1059 src/non_gui/output_from_design_coupler-Sun-Ultra-80.txt
1060 src/non_gui/Makefile.am
1061
1062 removed a double entry for the header file definitions.h
1063 in create_bmp_for_stripline_coupler_SOURCES.
1064 Added a new binary create_bmp_for_rect_cen_in_rect_coupler
1065
1066
1067 Makefile.am 
1068 Remmoved entry for README.alpha. It's contents were out of date but we might 
1069 want to add a file with the same name later. Who knows?
1070
1071 configure.in 
1072 Added a line to check for the mpi.h header file, immaterial of whether
1073 or not the user request MPI support. This will aid debugging. 
1074 Changed the message about being unable to build 'make_coupler' to
1075 'design_coupler' since the binary had been renamed.
1076
1077 configure  
1078 Autogenerated file, needed updating due to change in configure.in
1079 with reguare to MPI support (see entry for configure.in above.)
1080
1081 **man directory - changed made by drkirkby**
1082 Renamed many files to take account of the new binary files names. Hence
1083 they all needed updating. A new man page for design_coupler has 
1084 been written. Currently there are the following man pages in
1085 man/man1
1086 atlc.1
1087 create_bmp_for_circ_in_circ.1
1088 create_bmp_for_circ_in_rect.1
1089 create_bmp_for_microstrip_coupler.1
1090 create_bmp_for_rect_cen_in_rect.1
1091 create_bmp_for_rect_cen_in_rect_coupler.1
1092 create_bmp_for_rect_in_circ.1
1093 create_bmp_for_rect_in_rect.1
1094 create_bmp_for_stripline_coupler.1
1095 create_bmp_for_symmetrical_stripline.1
1096 design_coupler.1
1097 find_optimal_dimensions_for_microstrip_coupler.1
1098 readbin.1
1099
1100 src/non_gui
1101 usage_create_bmp_for_symmetrical_stripline.c
1102 corrected a simple spelling error
1103
1104 renamed error_and_exit() to exit_with_msg_and_error_code()
1105 and are in the process of changing every command to exit
1106 with that, rather than with exit().     
1107
1108 check_parameters_of_create_bmp_for_microstrip_coupler.c
1109 Added better error checking, as the orginal code just did one silly 
1110 check. The improved error checking was done to try to find a 
1111 reason there are problems on a Dec Alpha running Linux and gcc-2.95.4
1112
1113 do_fd_calculation.c
1114 changed (on a termporary basis) ITERATIONS from 100 to 10
1115 Added code so that with -vvvv we can see how many iterations were used
1116
1117 calculate_Zodd_and_Zeven.c
1118 Added code to check for both the gsl libary AND
1119 gsl header filess before considering gsl proplerly
1120 present. A bug was noticed when using Sun's compiler whereby
1121 the gsl library was found in /usr/local/lib, but the gsl
1122 header files, which are in /usr/local/include/gsl were not
1123 found. 
1124
1125 print_data_for_two_conductor_lines.c
1126 Added option to print data to high-precision
1127
1128
1129 Added file convert_doubles_to_integers.c although 
1130 at present this is not working as planned. It is not
1131 linked in with any code at present. 
1132
1133 usage_atlc.c no longer exits with 0, but
1134 returns to the calling routine
1135
1136 atlc.c 
1137 Now returns OKAY or 
1138 PROGRAM_CALLED_WITH_WRONG_NUMBER_OF_ARGUMENTS
1139 depending on how it was called. 
1140 Add commments/changes to why the more logical 
1141 fread was not used
1142 changed type of cell_type from int to char to save
1143 ram. 
1144
1145 All files with symmmetrical remaned to 
1146 symmetrical (not the 3 m's beforehand) 
1147
1148 removed the following files, since they were renamed
1149 to other file names. 
1150 convert_circ_in_rect_dimensions_to_integers.c
1151 convert_circ_in_rect_dimensions_to_integers.c
1152
1153 All files with the name programme have had this changed
1154 to program. 
1155
1156 create_bmp_for_stripline_coupler.c 
1157 now the verbose level is working properly
1158
1159 exit_codes.h 
1160 Added numerous new entries
1161
1162 design_coupler.c 
1163 Removed the -Q option for very quite and 
1164 implemented it so -q is quite and -qq is quiter
1165 still. 
1166
1167 check_error
1168 Now exits with UNACCEPTABLE_ERROR_WHEN_CONVERTING_TO_INTEGERS 
1169 rather than 2 which confused matters for me. I need to tidy up
1170 all the exit codes. 
1171 check_parameters_of_create_bmp_for_rect_in_rect.c 
1172 Renamed a function to check_create_bmp_for_rect_in_rect_int
1173 since it originally had the wrong name. 
1174
1175 Editied create_bmp_for_stripline_coupler.c. so that it only
1176 prints information about theoretical values if called with the 
1177 -v option. -vv gives more information and -vvv gives even more.
1178
1179 calculate_impedance_for_create_bmp_for_symmetrical_stripline.c
1180 now calls usage_calculate_impedance_for_create_bmp_for_symmetrical_stripline  
1181
1182 usage_create_bmp_for_symmmetrical_stripline..c
1183 now has a new name for the function 'usage_create_bmp_for_symmmetrical_stripline()'
1184 and mentions the additional -v option 
1185 Also, the name of the binaries mentioned have changed, to reflect
1186 the new naming converntion. 
1187
1188 calculate_Zodd_and_Zeven.c now includes #include <stdlib.h>
1189
1190 tests
1191 These have been modified and should be up to date on CVS
1192
1193 ******Version 4.2.8 Released 12 Jan 2003 ********
1194 Copied onto Sourceforge CVS *all* the 4.2.8 files. Some 
1195 were missing before. 
1196
1197 examples/Makefile.am
1198 Changed the CLEANFILE line to DISCLEANFILES, so that
1199 running 'make clean' will not delete the example files
1200 created, but running 'make distclean' will. 
1201 Added a lot of txt files (see note below). 
1202
1203 man
1204 News names for man pages 
1205
1206 lots of changes to files name 'cvsignore
1207
1208 examples/twin-wire4.bmp
1209 Added to the CVS repositry. Had prevously ignored this
1210 large file. 
1211
1212 in examples diretory
1213 Added ....bmp.txt files, as the output of running atlc
1214 on each of the .bmp files. 
1215
1216 src/non_gui/usage_atlc.c
1217 src/non_gui/usage_circ_in_rect.c
1218 src/non_gui/usage_create_bmp_for_circ_in_circ.c
1219 src/non_gui/usage_create_bmp_for_circ_in_rect.c
1220 src/non_gui/usage_create_bmp_for_microstrip_coupler.c
1221 src/non_gui/usage_create_bmp_for_rect_cen_in_rect.c
1222 src/non_gui/usage_create_bmp_for_rect_in_circ.c
1223 src/non_gui/usage_create_bmp_for_rect_in_rect.c
1224 src/non_gui/usage_create_bmp_for_stripline_coupler.c
1225 src/non_gui/usage_create_bmp_for_symmmetrical_stripline.c
1226 src/non_gui/usage_design_coupler.c
1227 src/non_gui/usage_find_optimal_dimensions_for_microstrip_coupler.c
1228 src/non_gui/usage_readbin.c
1229 All above files have been modified to print a version number if 
1230 run incorrectly. Perhaps adding a -V option that just prints 
1231 the version and exits would not be a bad idea, at a later date
1232
1233 docs/atlc9.doc docs theory2.doc and design-ideas.sxw moveed to
1234 docs/theory/atlc9.do docs/theory/theory2.doc and docs/theory/design-ideas.sxw
1235
1236 html-docs/README
1237 added more informaton about the Word and StarOffice
1238 files giving information about the theory of the newer versions
1239 of atlc. 
1240
1241 docs/theory/README 
1242 Changed to indicate there are now 3 theory files, one PDF and 
1243 suggesting the use of books.
1244
1245 docs/html-docs/theory.html
1246 Changed to indicate there are now 3 theory files, one PDF and 
1247 suggesting the use of books.
1248
1249 docs/html-docs/banner-page.html
1250 Changed to point to docs/html-docs/theory.html, rather than the
1251 one pdf file I wrote for QEX back in 1996.
1252 examples/cvsignore
1253 Removed *.bmp and added *.bin. Put cvsignore on CVS
1254
1255 src/non_gui/do_fd_calculation 
1256 added a return(0) to prevent the compiler from preventing a warning.
1257
1258 src/non_gui/setup_arrays.c
1259 Uncommented the check_for_shorts line, as it does do something 
1260 very useful. 
1261
1262 src/non_gui/check_for_shorts.c
1263 Remove remarks about setting a floating conductor to +1 V
1264 as floating conductors are not supported. 
1265
1266 examples/README
1267 Updated examples/README, so it is more up to date,
1268 listing only the files in the 4.2.8 distribution
1269 and no more. The theretical impedance for some 
1270 examples are included, where there is an exact
1271 theoerically answer. Sometimes the structure tries
1272 to approximate a stucture that has an exact theoreticas
1273 answer, but never can exactly (we can't make the bitmaps
1274 infinitely wide!!). There are noted where appropiate.
1275 Not all the theoretical answers are at this point in the
1276 README. 
1277
1278 configure.in 
1279 Changed to look for optimised
1280 math library (libmopt) and optimised c 
1281 library (libcopt) as are used on SPARC systems.
1282
1283 Removed one copy of the function 
1284 get_data_interactively() from definitions.h, as
1285 it was defined twice. 
1286
1287 tools/README
1288 corrected a simple spelling error.
1289
1290 configure.in
1291 Remmoved the extra docs/Makefile in it.
1292  
1293 src/non_gui/setup_arrays.c
1294 Moved line 'data->dielectrics_in_bitmap=0;' to after declaration of
1295 local variables.  gcc 2.96 will not accept the initialization as it
1296 was when compiling c code, and generates an error.
1297
1298 src/non_gui/atlc.c
1299 Removed extraneous dereference, replacing the line '*end++;' 
1300 with 'end++;' in the argument processing section.
1301
1302 examples/create
1303 This was removed from CVS, as 'make check' already did this and
1304 it has been removed a while ago, but not from the CVS.
1305
1306 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
1307
1308 ******Version 4.2.7 Released 8/1/03********
1309 Corrected a bug such that -s and -S did not work.
1310
1311 Corrected a bug in setup_arrays.c wherby the number
1312 of blue conductors was not set to zero at the start
1313 so the total number reported was wrong. 
1314
1315 Made changes to write_fields_for_directional_couplers.c
1316 such that the the images for even mode are now 
1317 written. 
1318
1319 Further attempts to improve the documentation. 
1320
1321 ******Version 4.2.6 Released 1/1/03********
1322 Corrected a bug in do_do_calculation.c, which
1323 was bought to my attention by (thanks Dan).
1324
1325 Added two files into the distrtibution from
1326 former versions 'cop1.bmp' and 'rect9.bmp'
1327 since these were metnioned in the tutorial,
1328 but not available. 
1329
1330 Slightly improved the look of the homepage by
1331 editing index2.html 
1332
1333 Updateed 'tutorial.html' as it was a bit out 
1334 of date, showing old versions of files. 
1335
1336 Added more tests. Some more could be usefully added,
1337 but for now this will have to do. All the 11* tests
1338 have been dropped as for some reason they don't run
1339 properly. 
1340
1341 ******Version 4.2.5 Released 1/1/03********
1342 Arragned for the Makefile.am's to have a line
1343 CLEANFILES = ... to remove the example files
1344 if the user does a 'make clean'.  
1345 Running 'make distcheck' should now work
1346
1347 Reinstated some more tests.
1348
1349 Corrected a problem with some of the tests
1350 -create-lots-of-examples-check-last-one.test' such that
1351 a lot of example files were created with a length of 
1352 zero bytes. This was becaused I changed the format
1353 of all the crate_bmp_for_... files so they no longer 
1354 printed to stdout, but -create-lots-of-examples-check-last-one.test'
1355 relied on them printing to stdout to work.
1356
1357 Images of permittivity are now okay, but not sure
1358 about the Ex, Ey, U etc. These have not been checked
1359 for 2-conductor lines, which needs doing. 
1360
1361
1362 ******Version 4.2.4 Released 31/12/02********
1363
1364 Changed all the files create_bmp_for_....
1365 such that they now write to a file on the command
1366 line, rather than stdout. All programs for the generation 
1367 of bitmaps now have the same naming converntion 
1368 (create_bmp_for_.....) and all write to a file and 
1369 not stdout. 
1370
1371 Changed man pages to reflect the changes in all the 
1372 create_bmp_for_...
1373
1374 Some half-sensible bitmaps are now produced with atlc
1375 if the -s option is not present. The binary files
1376 (.bin) are now printed properly for couplers. It is 
1377 quite possible this does not work for 2 conductor lines
1378 (it has not be tested). This needs more testing. 
1379
1380 The files atlc-x.y.z/tests/Makefile.am now has 
1381 lists of the files to be added to the distribution,
1382 rathe than just *.test, as the latter caused problems
1383 with 'make distcheck'.
1384
1385 The file atlc-x.y.z/docs/html-docs/index.html now
1386 loads index2.html rather than frontpage.html.
1387
1388 added file atlc/docs/html/create_for_Makefile.am to 
1389 make it easier to generate a list of files that needed
1390 to be included in atlc/docs/html/Makefile.am
1391
1392 ******Version 4.2.2  Released  28/12/02 *****
1393 Less data is now printed as it was confusing I feel to show too
1394 much informattion. An option will be added to show more, but at 
1395 present this is not implemented. 
1396
1397 Added options -s and -S in 'atlc' to enable the bitmap (.bmp) and binary
1398 (.bmp) files to not be written. The default is to write these files. 
1399
1400 Remove options to write data to a text file and append data to
1401 a text file from atlc. Changes meant it got more difficult
1402 to implement and there seems little point when > and
1403 >> do those functions.
1404
1405 Changed man page on atlc, so reflect changes in the program   
1406 itself. 
1407
1408 Added the program 'create_bmp_for_coupled_microstrip' which does
1409 exactly what the name says. Run it to see what options and 
1410 command line arguments it expects, as there is no man page at 
1411 the minute. 
1412
1413 *ALL* the files that create bitmaps have been renamed to create_bmp_for_xyz,
1414 where xyz determines the geometry. There are now the following files
1415 for creating bitmaps:
1416
1417 create_bmp_for_circ_in_circ
1418 create_bmp_for_circ_in_rect
1419 create_bmp_for_coupled_microstrip
1420 create_bmp_for_coupler
1421 create_bmp_for_rect_cen_in_rect
1422 create_bmp_for_rect_in_circ
1423 create_bmp_for_rect_in_circ.c
1424 create_bmp_for_sym_strip
1425
1426 Currently some write to stdout, some to files. I will eventually change it 
1427 so they all write to files, as the data is binary and writing by default
1428 to stdout is not a great idea. 
1429
1430 Added program 'find_optimal_dimensions_for_microstrip_coupler' which does 
1431 an exhaustive search of different geometires for microstrip couplers. 
1432
1433
1434 ********************Version 4.2.0-alpha  Released  24/12/02 ********************
1435 Made major changes to the code to make it easier to read. Hopefully
1436 direcitonal couplers are working for multiple-dielectrics now, 
1437 but I've no idea. The documentation is out of date with the code
1438 which has undergone major revisions. I will update the docs and correct
1439 and bugs as soon as I have time. 
1440
1441 ********************Version 4.1.6  Released  22/12/02 ********************
1442 Made it more obvious there is a bug that prevents the use of atlc
1443 where there is more than one dielectric on a directional coupler.
1444
1445 Updated the documentation so removing references to make_coupler
1446
1447 Changed the atlc homepage a bit, as it was out of date. 
1448
1449 ********************Version 4.1.4  Released  15/12/02 ********************
1450 Corrected bug found in design_coupler.c that prevented it compiling
1451 under old versions of gcc. 
1452
1453 Added a few more tests that fail if gsl is not included. 
1454
1455 Updated the documentation. Some showed the output from 
1456 atlc 2.x, which was a lot less accurate than 4.x.
1457
1458 Added a line for pth in Makefile.am. Threads on machines
1459 othe than Solaris still needs some work. 
1460
1461 Added the file 'IMPORTANT.html' back into the release. For
1462 some reason this got lost and was not present in any recent 
1463 release, despite being on the web page and still valid.
1464
1465 Updated the FAQ, as some information was out of date.
1466
1467 ********************Version 4.1.1  Released  14/12/02 ********************
1468 **************************************************************************
1469
1470 Changed the default number of threads a mutli-threaded version of the
1471 prorgram runs from 2 to 4, as I now own a quad processor machine. It is
1472 changed in definitions.h
1473
1474 The program 'make_coupler' has been renamed to generate_coupler_bitmap,
1475 as it never really did make a coupler, but only generate a bitmap for
1476 one with the dimensions you gave. 
1477
1478 Added a new program 'design_coupler' which is very able. It can find the
1479 required odd and even mode impedances given the coupling factor and
1480 frequency range, and then design you a coupler with the right
1481 dimensions!
1482
1483 Added much better documentation to support the directional couplers. New
1484 files 'calculate_zodd_and_zeven.html',
1485 'determine_dimensions_of_couplers.html' have been created. 
1486
1487 No significant changes have taken place to the code for two conductor
1488 lines. I still need to address the problem of consistancy amoungst some
1489 of the programs. 
1490
1491 A new directory 'tests' has been set up and automake configured such
1492 that running 'make check' now performms a lot of checks and creates
1493 all the examples. 
1494
1495 ********************Version 4.0.1  Released  21/4/02 *********************
1496 **************************************************************************
1497
1498 Added copyright notices to all files and added a -C option on all 
1499 binaries to print out information on copyright. 
1500
1501 Corrected an error in READED.threads, since it refered to the -p options
1502 for number of processors, which I later changed to -t threads to be more
1503 accurate. 
1504
1505 Added my e-mail addres to the AUTHORS file. 
1506
1507 Update the TODO list. 
1508
1509 Remvoed the printing of L and C in the documentation (frontpage.html and
1510 index2.html) for couplers, as these are mode-dependant and so one value
1511 is not enough. 
1512
1513 Added a CVS entry on the banner page. 
1514
1515 Spent some time spell checking many of the html documents. 
1516
1517 Made some changes in the rect_in.. circ_in.. so that the integer values
1518 create on a machine should be exactly the same on each machine. It was
1519 possible before that some numbers would be generated on one machine and
1520 some on another, due to rounding errors. This hopefully stops that. 
1521
1522 Changed src/non_gui/tests to point out what a dodgy gcc does. 
1523 Added a few scrips 'tests' in other directories to src/non_gui, since
1524 someone was looking for them and could not find them. Hence I've tried to
1525 make it a bit clearer. 
1526
1527 ********************Version 4.0.0 Released 11/4/02  *********************
1528 **************************************************************************
1529 Put a bit more info in the README.windows
1530 Removed check for "intelligent life" in configure.in, as this was not working
1531 with autoconf 2.13.
1532
1533 Added a function do_fd_calculation() and therefore added the file
1534 do_fd_calculation.c This helps clean up atlc.c a lot, since a lot of
1535 repetition has been removed. It needed quite a bit in it to handle the
1536 case of coupled lines and all the different things that have to be
1537 printed in this case. 
1538
1539 Changed setup_arrays.c so that it now sets a variable 'coupler' to TRUE
1540 if there is a blue ( - 1 V) conductor. 
1541
1542 Got resuls out from the coupler. No idea if they are right. Pretty sure
1543 they are wrong in fact. 
1544
1545 Corrected a typo in FAQ.html which meant the local copy of the QEX
1546 paper could not be downloaded from the FAQ.
1547
1548 Answered that loss can't be measured in the FAQ.
1549
1550 Wrote a programme 'make_coupler' which writes a bitmap with two striplines 
1551 between two parallel groundplanes as below.
1552
1553 ------------^------------------------------------------------------------------
1554             |                                               
1555             |              <---w---><-----s----><---w-->
1556             H              ---------            --------
1557             |                                      
1558             |                               
1559 ------------v------------------------------------------------------------------
1560 This has an exact analystical solution, so the file calculate_Zodd_and_Zeven.c
1561 was created to find the exact theoretical values. This makes it possible
1562 to compare the theory with atlc.
1563
1564 I got the equations from an e-mail sent to me by AA1LL / KB1CZP 
1565 <aa1ll@email.com>. This required elliptic integrals, so its necessary to
1566 link into the GNU scientific library, gsl to use it fully, although the
1567 bitmap will be generated without the library.
1568
1569 Added information to accuracy.html on accuaracy with coupled lines. 
1570
1571 Changed finite_difference_multi_threaded.c & finite_difference_multi_threaded.c
1572 to handle correctly the case of coupled lines - at least for vacuum
1573 dielectric. 
1574
1575 Added a couple of tests in the file 'tests' to check the coupler 
1576 related items. 
1577
1578
1579 ********************Version 3.0.7 Dated 6/4/2002**************************
1580 **************************************************************************
1581 Corrected the file man/makehtml, as it was not making an html page for
1582 rect_cen_in_rect from the rect_cen_in_rect.1 man page. 
1583
1584 Put an error number each time a programme exits, so it is clear what
1585 error caused it. 
1586
1587 Made a set of diectories called 'binaries' and subdirectories from that.
1588 Please the latest Windows executables in binaries/Windows. 
1589
1590 Changed the line 
1591 image_data=ustring(0L,width*height*3); in atlc.c
1592 to
1593 image_data=ustring(0L,size);
1594  
1595 Removed all references to stdio.h and math.h in all files, since they
1596 are included in definitions.h
1597
1598 Changed the line 
1599 if( (image_data_fp=fopen(output_filename, "r")) == NULL)
1600 to 
1601 if( (image_data_fp=fopen(output_filename, "rb")) == NULL)
1602 in atlc.c, so the bitmap is opened as a binary in Windoze.
1603
1604 put the line 
1605 if((fp=fopen(temp,"w+b"))==NULL) instead of 
1606 if((fp=fopen(temp,"w+b"))==NULL)
1607 in get_file_pointer_with_right_filename.c
1608 as the bitmaps were screwed up when written to disk in text mode, which
1609 was happening under Windoze. 
1610
1611 Used a more complex method suggested by AD5GB to get open the bitmap
1612 file for reading. I don't see why it should be necessary, but it keeps
1613 Windows happy. 
1614
1615 defined M_PI if not already done so in definitions.h
1616
1617 Changed malloc call to a calloc in string.h
1618
1619 Corrected an error in the docs where it said in accuracy.html that the
1620 error was 1.8% on the bottom of a table. That may have been so, but it
1621 is a lot better now. 
1622
1623
1624 ********************Version 3.0.6 Dated 3/4/2002*************************
1625 **************************************************************************
1626 (note there was no release 3.0.5, as it got screwed up going up to
1627 Sourceforge, after which is is impossible to overwrite the file). 
1628
1629
1630 Removed all reference to the voltage v and instead replaced these by
1631 Vij. The reason being that  Randall DuCharme <ad5gb@yahoo.com> has
1632 advised me that the symbol v is defined in IBM's AIX operating sysytem.
1633 Hence it would not compile without some hacking. 
1634
1635 Since the voltage is now called Vij, it makes sense for its indices to
1636 be i and j and not w and h. Hence I've replaced at least some of the
1637 v[j][h] to v[i][j]. 
1638
1639 Changed reference to longs and replaced by ints in write_bitmap_out.c,
1640 since it was clear the longs would break it on 64-bit machines. 
1641
1642 Checked atlc one my Sun Ultra 60 with a 64-bit compiler using Sun's CC
1643 compiler. All was okay and the generated bitmaps looked fine. 
1644
1645 Found a problem on the Sourforge Compile Farm with the programme
1646 sym_strip. It crashed at the last but one line, where these is
1647 flose(fp). Put in code to check if the file pointer was valid. This
1648 can't be a bad thing, but it did not solve the problem. 
1649
1650 Another bug spotted on Sourceforge's compile farm. rect_in_rect,
1651 circ_in_circ, circ_in_rect, and beadbin (but not atlc) all declare 
1652 a character q, then use
1653 q=get_options
1654 whereas get_options returns an int, not a character. I don't know why the 
1655 compiler does not spot that one. Anyway, it caused get_options to loop forever. 
1656
1657 All programme now seem to run okay on drkirkby@usf-cf-ppc-linux-1:,
1658 which is a linux powered PowerPC RS6000. Not attempted compileing
1659 multi-threaded. 
1660
1661
1662 Attempted compiling on the Sourceforge Sun Ultra 60. This is the same as
1663 my machine, so one might expect it to work okay. In fact, atlc 
1664 compiles and runs okay on every machine tests (Dec Alpha, Suns
1665 running Solaris, Suns running linux, linux PC, ... 
1666
1667 Correct typo, where it said 'is is' in usage_sym_strip.c
1668
1669 Changed the order and name or parameters in rect_cen_in_rect, so
1670 it now
1671
1672 % rect_cen_in_rect W H w h Er1  > filename.bmp
1673
1674 Changed man page to suite. It was silly before. 
1675
1676 Removed note in the bitmap generators (rect_in_rect, circ_in_circ etc)
1677 about piping into atlc, since atlc does not support reading from 
1678 standard input. 
1679
1680 Changed circ_in_circ so the information it can provide about theoretical
1681 impedances is only produced if the -v flag is given. 
1682
1683 corrected usage_circ_in_rect.c, as information at the bottom on usage
1684 was all wrong. 
1685
1686 Added a test suite in the script src/tests. I might well add a version of
1687 sum to the distribution, as it appears to be implementation dependant. 
1688
1689 Removed #include <malloc.h> as it is depricated according to gcc and
1690 files compile fine without it. Also removed stddef.h from nrutil.c, as
1691 that too is not needed. 
1692
1693 Changed the names of the variables opterr, optind, optopt and optarg to be
1694 my_opterr, my_optind, my_optopt and my_optarg in get_options.c This is to
1695 avoid a warning from one of the compilers (I think on a Mac) about the fact
1696 that it is defined elsewhere. 
1697
1698
1699 ********************Version 3.0.4 Dated 1/4/2002*************************
1700 **************************************************************************
1701 NOTE 3.0.3 never released, since the upload to sourceforge failed. 
1702
1703 Corrected bug in write_fields.c which caused a crash under Linux
1704 (as reported by Randall DuCharme <ad5gb@yahoo.com>) and With 
1705 Borland C++ builder on my SunPCi card. 
1706
1707 Corrected a bug in atlc.c, which was causing a crash on the SunPCi
1708 card and possibly a crash (not yet confirmed) under Solaris on 
1709 a Sun Ultra 30 belonging to Randall DuCharme <ad5gb@yahoo.com>
1710
1711 Added an option to atlc.c to avoid writing the bitmap files. 
1712
1713 Corrected a bug in readbin.c, which caused it to report any 
1714 number >.99 as a one, when it might well be METAL_ER. Also checked more
1715 carefully for -1 V, by only looking from -0.999999999 to - 1.000000000001
1716
1717 Added the following lines to readbin and atlc.c, which are necessary
1718 when compiling with C++ Builder version 3. I need to do likewise to the
1719 rect_in_rect etc, but for now I have not. 
1720
1721 #ifdef WINDOWS
1722 #pragma hrdstop
1723 #include <condefs.h>
1724 #endif
1725
1726 (I need to define WINDOWS when compiling on Windoze).
1727
1728 Corrected usage_atlc so it now does not take the filename, but knows it
1729 is atlc. 
1730
1731 Added (void) to the defintion of any function that takes no arguments. I
1732 found that while gcc is happy to accept a fuction with an argument that is
1733 declared like this:
1734 int somefunction()
1735 Borland C++ Builder was not happy with that. Hence I now declare functions
1736 as taking void when they don't take argments. This keeps Borland C++
1737 builder happy and allows for stricter checking with gcc. 
1738
1739 Added a piece of code 'get_options.c' which was necessary since 
1740 Borland C++ Builder does not have such a function.  
1741
1742 Stopped print_data taking an argument 'version' and then reading it from
1743 VERSION. It now just reads from VERSION
1744
1745 Remved 'ER' from check_for_boundaries.c and all references to it, which
1746 were all in comments. The Borland C++ Builder is better at spotting such
1747 problems than gcc, so is Sun's C compiler. 
1748
1749 Added code to check if the upper number (eg nh) is less than or equal to
1750 the lower number (eg nl) in functions free_* in files nrutuil.c and
1751 string.c This stops the Borland C++ Builder complaining about the
1752 arguments not being used and also does some sanity checking. 
1753
1754 ********************Version 3.0.2 Dated 30/3/2002*************************
1755 **************************************************************************
1756 Fixed a problem with the Makefile.am's which meant not all the files were 
1757 included and the sym_strip.1 was spelt wrong. 
1758
1759 ********************Version 3.0.1 Dated 29/3/2002*************************
1760 **************************************************************************
1761 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1762 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1763 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1764
1765 In a comparisson of 3 analytic models (coax, eccentric coax and
1766 stripline), and 31 tests (roughly a third of each), the maximum error
1767 was only 0.945 % and the RMS error is only 0.259 %. The programme now
1768 undereads more than overreads, so I still think there may be a
1769 systematic error, but any problems are now very small. Despite the fact
1770 atlc is supporting multiple dielectrics, I've not managed to find any
1771 models with exact analytic solutions to compare against atlc. When
1772 calculationg the E-field across a dielectric, the method used does not
1773 properly consider a boundary between two dielectrics. Hence I can expect
1774 the error with multiple dielectrics to be a bit higher than with one.
1775 This will be sorted out later. 
1776
1777 Added a man page for sym_strip and updated all other man pages. Keeping
1778 the documentation up to date is a problem. 
1779
1780 Since many of the bitmaps used in the examples are large, I decided to
1781 not bother distributing them all, but instead write a script 'create' to
1782 make them. 'create' may be found in both  the examples and src
1783 directories. 
1784
1785 Added a small script 'makehtml' in man, to create easily html version of
1786 the man pages. 
1787
1788 It was necessary to take into account when a dielectric is next to
1789 metal, as otherwise the E-fields calculated in the dielectric are in
1790 erro when next to metal. This is done. check_for_boundaries.c has been changed
1791 to indicate whether a dielectric has metal to the left, right, above or
1792 below it.  
1793
1794 function calculate_colour_data() added to calculate the colour a pixel
1795 should be set to - this is called by write_fields(). 
1796
1797 Added a file find_electric_fields.c, which has 3 functions in it -
1798 find_Ex(), find_Ey() and find_E(). This avoids different parts of the
1799 programme using different definitions for Ex, Ey and E. 
1800
1801 Changed write_fields almost completely. It now prints more files
1802 and uses less ram, as not all the data is stored before writing to 
1803 disk. Now only one set is stored in ram before writing to disk.
1804 This is a bit slower, but it will save a lot of ram. 
1805
1806 After thinking about it a lot, I feel it is necessary to change the -1 V
1807 conductor (which has never been used) from black to blue. Since I've
1808 stated before that black is -1 V and blue is a dielectric with a
1809 permittivity of 2.1, this is a bit annoying. However, it seems illogical
1810 to have a negative electric field shown as blue, and negative voltages
1811 as blue, yet have -1 V as black. Hence the definition of -1 V is changed
1812 and another colour (a light blue) has been selected to reprsent the
1813 permittivity of PTFE. 
1814
1815 Made a significant improvement to accuracy, but using the following
1816 defintion for Ex
1817 Ex=0.5*(v[i+1][j]-v[i-1][j]);
1818 but changing it a bit when at a boundary with metal. i.e.
1819 if((cell_type[i][j]&METAL_LEFT)==METAL_LEFT)
1820   Ex=(v[i+1][j]-v[i][j]);
1821 Same is done in an obvious manner for Ey and the right hand side. This
1822 has made a significant improvement to accuracy, so html docs have been
1823 re-written.
1824
1825 Changed the definition of Ex and Ey in write_fields.c, since they were
1826 defined at dV/dx, and dV/dy, but the electric field is defined as the
1827 reverse of that. i.e. ex=-dV/dx and Ey is -dV/dy. 
1828
1829 Added some code in write_fields.c to print the energy (CV^2) too. 
1830
1831 ********************Version 3.0.0 Dated 24/3/2002*************************
1832 **************************************************************************
1833 Added support for multiple dielectrics. More work needs to be done to
1834 confirm the accuracy of this, but it is now working at least. 
1835
1836 Spent a lot of time thinking carefully about exactly where the voltage
1837 are defined (top left of a pixel) and exactly where the E-field should
1838 be calculated (centre of a pixel) and exactly what the E-field is. The
1839 results seem no more accurate than before (still a small over-estimate
1840 of Zo), but at least it should give anyone else chance to find a fault.
1841 Before it was too obvious that a few problems remained on exactly what
1842 happens on a boundardy. 
1843
1844 Programme should be able to cope with 4 different dielectrics in a
1845 square - i.e. it can be really arbitrary. 
1846
1847 Changed the value of r in atlc.c from 1.5 to 1.95. This has made a HUGE
1848 INCREASE IN SPEED!!! The programme is now about 6x quicker than before.
1849
1850 Added a function check_for_boundaries(), which looks for changes of
1851 index and metals around a pixel. Its not really used now, but it has the
1852 potential for speeding the code up, since it can avoid a lot of checking
1853 every time the FD loop executes. It makes sence to do the checking once
1854 and use those results. 
1855
1856 Removed all C++ commments, as this would stop it compiling on a C
1857 compiler. One of the Sun compilers I have is only C. 
1858
1859 Added a file 'fd.c' which is not in the makefile. It is included in the
1860 C functions finite_difference_*.c. It is better to use it like this
1861 rather than put the code inline, for speed reasons. It is called several
1862 times. Putting it in one file insures all the times its called are
1863 calling exactly the same code. It is too easy to have errors otherwise.
1864 \7f
1865
1866
1867 Added a programme 'thin_strip; which produces a stipline like this:
1868
1869           ------^-------------------------------------
1870                 |
1871                 H        -----w------
1872                 |
1873 -infinity ------v------------------------------------ +infinity
1874
1875 This has a well defined impedance, which is given in "Field Theory of Guided 
1876 Waves", Colin R.E., 2nd edition, pp 259-273, IEEE Press, (1990).
1877
1878 I realised the programme was taking too much memory. Reading in a 24 Mb
1879 bitmap, resulted in the programme using 179 Mb of RAM. It was discoverd
1880 that the variable 'cell_type' defined in atlc, was an integer array,
1881 when a character one would have done, saving 3 bytes per pixel of RAM. I
1882 Added functions charmatrix and freecharmatrix in nrutil.c, for allocation
1883 and dealocation of the matrix.
1884
1885 Removed the '-m' option from usage_atlc.c, since the option no longer
1886 worked - it was removed some time ago. 
1887
1888 Removed the '-F' option from usage_atlc.c, since the option  did not 
1889 work. I decided not to bother fixing it, but instead of writing data
1890 to a user-specified file name, write it to example.txt, when the 
1891 bitmap file is example.bmp. 
1892
1893 Removed the handling of option 'h' in atlc.c, since the option no longer
1894 existed. 
1895
1896 Printed a messge with usage_atlc, so that it indicated that if
1897 multi-processor support was not compiled into atlc. 
1898
1899 Added a few commments are correct a few typos in other commments, in the
1900 file finite_difference_multi_threaded.c
1901
1902 Checked the system reasonably well with multi-threading enabled on my
1903 dual preocessor Sun Ultra 60. The programme speeds up quite a bit,
1904 depending on the size of the job. Certainly runing with two threads
1905 (either by defining #define MAX_CPUS 2 in definintions.h, or the -p2
1906 command line option, seem to work best for my dual processor machine. Running
1907 a few more threads (up to 5 or so) does not slow the system much, but as
1908 more and more are added, there is a definate slowdown. 
1909
1910 renamed usage to usage_atlc, to be consistant with all the other
1911 programmes (usage_rect_in_rect etc) 
1912
1913 Added quit a few comments to atlc.c, and generally made the code tidier,
1914 with more consistant indenting. 
1915
1916 Added a file/function swap_conductor voltages, which converts +1V to -1V
1917 and visa-versa. This is needed to compute the impedance of coupled
1918 lines. 
1919
1920 **************************Version 2.32 Dated 9/3/2002***************************
1921 ********************************************************************************
1922 Wrote manpage for readbin
1923 Moved man page from man to man/man1.
1924 Removed function free_ucmatrix, free_ucmatrix and byteswap, none of which
1925 were used. 
1926 Added a new ability to calculate Zo assuming a round conductor - which
1927 it might not be. Its useful to check the software against coax, which
1928 has well defined values. Needs -v option to see the result. 
1929 Added a new programme (only one file) 'readbin' which analyses the .bin
1930 files and reports on the number of each colour pixel. 
1931 Corrected write_fields.c, so that a conductor is printed with zero
1932 E-field. Sometimes this was not so, as there was no check before writing
1933 the E-fields out that the pixels was not a conductor. 
1934 Added new file/function check_for_shorts(), which causes the programme to
1935 exit if a conductor of one voltage is in contact with a conductor of
1936 another voltage. 
1937 Compiled with Sun's CC compiler, which threw up a few prolems. It's more
1938 fussy that gcc!!  Hence made these changes:
1939 a) Replaced strncmp(bitmap_file_buffer, with strncmp((char *)
1940    bitmap_file_buffer, on line 41 of read_bitmap_file_headers.c. 
1941 b) Changed atlc.c so a fread((void *)... image_data from fread(image_data...
1942 c) Removed multiple declaration of some variables in rect_in_rect.c,
1943 circ_in_circ.c
1944 d) Changed fill_image_vector_with_data in rect_in_rect.c,
1945 rect_in_circ.c, circ_in_circ.c circ_in_rect.c and definitions.h, such
1946 that the first argument is an unsigned char *, not char*  as before. 
1947 e) align_bitmap_image in align_bitmap_image.c changed so its arguments
1948 are unsigned *char, not *char as before. Updated header file to reflect
1949 this. 
1950 f) 
1951
1952 In several C files, changed variables so they were initialised to -1 - it stops
1953 compiler complaining about possible use of unitialisd variables. 
1954 Removed multi-line fprintf statement, and made into two statements in rect_in_circ.c
1955 Changed else if(j=D/2) to else if(j==D/2) in fill_rect_in_circ.c
1956 Added exit(0) to end of circ_in_circ.c
1957 Added exit(0) to end of circ_in_rect.c
1958 Added exit(0) to end of rect_in_circ.c
1959 Added definition of usage_circ_in_rect() to definitions.h 
1960
1961 Removed the note about version 2.4 from this ChangeLog, as it wasn't released. 
1962 Corrected a serious bug in setup_arrays.c, where v was set to 0.3 instead of 0 V. 
1963 Removed 'byteswap' from byteswap.c and definitions.h
1964 Added code in configure.in to enable -Wall with gcc.
1965
1966
1967 ************Version 2.2 Dated 2/12/2001**************
1968 *****************************************************
1969 Changed some of the html documentation, to be more in line with the
1970 source and man pages. 
1971
1972 Verion 2.1 Dated 1/12/2001
1973 Many updates to documentation:
1974 Added man pages for rect_cen_in_rect
1975 Added man pages for circ_in_rect
1976 Added man pages for rect_in_rect
1977 Added man pages for circ_in_circ
1978
1979 Added binaries for:
1980 rect_cen_in_rect
1981 circ_in_rect
1982 circ_in_circ
1983 rect_in_circ - this dones NOT work, so it is configured to always exit.
1984
1985 Changed atlc so that it no longer uses the faster convergence algorithm.
1986 I now know it can fail, so will remove it. 
1987
1988 Changed usage.c and atlc.c so that the -p option is not displayed if not 
1989 MP enabled.
1990 usage.c Changed the usage message about '-i fiddle' as it was wrong before, in assuming default to be
1991 1.
1992 atlc.c Added a '-c' option, to change the cutoff. 
1993 atlc.c Changed the reading of the '-i fiddle' option, so its read a double and not a long
1994
1995 25/4/2001, verison 2.01 put on SorgeForce unix only, supports multiple
1996 CPUs. 
1997
1998 Version 1.09 - Windows verison, put on my web site.
1999
2000 Version 1 - published in QEX, see qex-december-1996/atlc.pdf.