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