1 ****** Version 4.6.1 Released 27th March 2011 *******
2 Just minor bug fix and cleanup.
4 renamed 'src/non_gui' to just 'src'
6 Adding a file "WARNING" in the top level.
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.
11 Changed my email address in every file.
13 Ensured all tests pass even if compliled with -DDEBUG, as before the
14 extra debugging information was causing some tests to fail.
16 Removed the code which indicates the amount of RAM, as that was
17 inaccurate, so I gave up with it.
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
24 Likewise for convert_create_bmp_for_circ_in_rect_dimensions_to_integers.c
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'
32 Done likewise on read_bitmap_file_headers.c,
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.
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
42 In the file src/non_gui/byteswap.c, removed some things between
43 #ifdef DEBUG, as that too stopped atlc building properly
45 ****** Version 4.6.0 Released 9th December 2003
49 has been modified so it updates the NEWS.html file.
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
71 I'm not sure they were that usful, given there are plenty of
72 files like 50ohm-201h.bmp etc.
74 Remove atlc/examples/13inner_22outer_coax.bmp.txt too, as there was
75 no 13inner_22outer_coax.bmp to match up with it.
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
85 Added a completly new section:
86 2.1 Comparision of atlc and a dual dielectric coaxial cable
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
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
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. #
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.
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.
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
123 changed version to 4.5.1
124 No longer accepts the option --with-threads, since I have some
125 suspicions about threaded code.
127 docs/html-docs/examples.html
128 Removed the example of multi-dielectrics, as that is not working
131 docs/html-docs/FAQ.html
132 Changed the answer to 'No' about the qestion of multi-dielectrics
134 docs/html-docs/multi-processing.html
135 Mentioned this has been disabled.
137 docs/html-docs/accuracy.html
138 Pointed out multiple dielectrics are not working properly
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.
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
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.
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.
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.
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.
169 tests/WARNING--The-next-test+benchmark-takes-a-long-while.test
170 return 0 (pass), as previously it did multi-dielectrics.
173 Removed 2[b-h]* from the tests. 2a-create_bmp_for_rect_in_rect.bmp.test
177 ****** Version 4.5.0 Released 13th September 2003 ****
179 The ChangeLog shows version 4.5.0 being released on
180 the 13th September, when it fact it was the 11th of
183 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
184 ****** Version 4.5.0 Released 13th September 2003 ****
185 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
188 mention lattest news - mainly correction of a few errors
189 and the fact its no longer necessary to link in gsl.
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
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
202 'header' and 'footer'' added to CVS tree
203 used with 'update' to generate docs/html-docs/BUGS.html
206 Removed, as information is out of date.
208 tests/find-zero-length.test
209 Added a file to check for the existance on zero length
210 files in the source distribution.
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.
218 man/man1/create_bmp_for_stripline_coupler.1
219 changed email address to make it less easy for spammers to grab.
221 man/man1/man-pages.html
222 Added a new man page for design_coupler.1.html
224 src/calculate_Zodd_and_Zeven.c:
225 Added #include gsl_types.h and #include "gsl_definitions.h"
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.
232 docs/html-docs/jpgs/home-email.jpg
233 Added new file with my email address, that is not easy to
236 Removed all occurance of my email address from the html
237 files, so that those published on the web are less likely
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
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
268 exit_with_msg_and_exit_code.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
274 tests/8a-design_coupler.bmp.test
275 Removed the test for gsl library and so to exit with 77 if not present.
277 Added a second checksum:
278 aebd9a6d1c1db548d39723edec454640
279 that is acceptable, as this will be produced on
282 tests/6e-create_50ohm_401Pixel_high_symmetrical_stripline.test
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.
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.
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.
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
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.
306 ****** Version 4.4.4 Released 13th September 2003 ****
308 Version incremented to 4.4.4
311 mention made of the fact the sources have been
312 changed primarily so it should build under Windoze.
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.
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
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
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.
339 src/non_gui/create_bmp_for_rect_in_rect.c
340 Changed fopen to open in binary mode, to make it work
343 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
344 Changed fopen to open in binary mode, to make it work
347 src/non_gui/create_bmp_for_symmetrical_stripline.c
348 Changed fopen to open in binary mode, to make it work
351 src/non_gui/create_bmp_for_rect_in_circ.c
352 Changed fopen to open in binary mode, to make it work
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
359 src/non_gui/create_bmp_for_rect_cen_in_rect.c
360 Changed fopen to open in binary mode, to make it work
363 src/non_gui/create_bmp_for_microstrip_coupler.c
364 Changed fopen to open in binary mode, to make it work
367 src/non_gui/create_bmp_for_circ_in_rect.c
368 Changed fopen to open in binary mode, to make it work
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.
378 Changed fopen to open in binary mode, to make it work
381 tools/src/myfilelength.c
382 Changed fopen to open in binary mode, to make it work
385 tools/src/locatediff.c
386 Changed fopen to open in binary mode, to make it work
390 Changed fopen to open in binary mode, to make it work
394 ****** Version 4.4.3 Released 11th September 2003 ****
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
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.
407 Corrected many typo, spelling errors etc in all the man pages.
408 more significantly, the
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.
418 docs/html-docs/accuracy.html
419 A bluefish logo has been added too.
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
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.
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.
443 Added code to make it cleaner and so no variables
444 get declared if not needed.
446 ****** Version 4.4.2 Released September 6th 2003 ****
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.
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.
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!!!!
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
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.
475 ****** Version 4.4.1 Released September 4th 2003 ****
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.
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.
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.
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.
496 information now prints the fact the IRIX information is good, not
497 poor as in prior versions.
500 Added new testers and thanks the cray site's administrators.
502 Now informs the amount of RAM on Linux and BSD systems is a little
503 larger than the value reported.
506 Added a new binary sysdata, which prints data in this format.
508 Hardware provider: Sun_Microsystems
509 Hardware platform: SUNW,Ultra-80
513 Version: Generic_112233-06
521 L1 data cache unknown kb
522 L1 instruction cache: unknown kb
525 src/non_gui/finite_difference_multi_threaded.c
526 removed the argument 'number_of_iterations' as not used
528 src/non_gui/write_bitmap_out.c
529 added checks for the return value of fwrite
531 src/non_gui/write_fields_for_two_conductor_lines.c
532 added checks for the return value of fwrite
535 removed all unneeded functions from this file
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
541 src/non_gui/man_functions...
542 Tidied up, to keep Sun's lint happier
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.
550 ****** Version 4.4.0 Released August 30th 2003 ****
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
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.
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.
566 Changed the default from not enabling hardware information to enabling it.
567 It can be changed with --disable-hardware-info
569 Added a test for _SC_CRAY_NCPU and _SC_CRAY_CPCYCLE, which will help
570 debugging any problems.
572 Added check for sys/vid.h, which I'm hoping is just on IRIX.
575 mention atlc now runs on toys and supercomuters and the fact an option has
576 nw become the default.
579 new file added, listing information about what hardware data is
580 gathered on what systems.
582 README.--enable-hardware-info
583 removed, as the option no longer exists - it's the default.
586 Changed install insturctions, as --enable-hardware-info is now the
590 Added README.hardware-info removed README.--enable-hardware-info
593 Added test 5c-check_numeric_data_from_atlc-2conductor.test
594 as well as try_irix.c and try_unicos.c
596 Added a function try_unicos() to obtain data about the hardware of
597 a Cray supercomputer.
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.
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.
610 Added a file to find out information on the SGI running IRIX.
611 Currently little information is found.
614 Added a file to find out information on the Cray.
617 Added entries for try_irix.c and try_unicos.c
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.
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
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.
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.
640 src/non_gui/write_fields_for_two_conductor_lines.c
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
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.
652 src/non_gui/byteswap.c
653 Removed all functions except byteswap_doubles.
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.
662 src/non_gui/Makefile.am
663 Removed byteswap.c from all binaries except readbin
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.
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.
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.
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.
694 ****** Version 4.3.7 Released August 6th 2003 ********
696 README.--enable-hardware-info
697 New file added, to give information on what data is obtained on what
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.
709 removal of code assocatiated with MPI
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.
717 More updated information on what atlc has been tested on, and clearer
718 infomration on using it.
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
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.
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.
737 Forced length to be case to size_t, to make gcc -Wconversion happier.
739 src/non_gui/design_coupler.c
740 changed 10 to 10.0 to make a double and so keep the compiler happier
743 src/non_gui/create_bmp_for_stripline_coupler.c
744 extra casts and general tidying up, to make compiler give less warnings.
746 src/non_gui/write_bitmap_out.c
747 cast to (size_t) to keep compiler happier.
750 included sys/types.h and remote the #define of size_t to an int, again
751 to keep the compiler happier.
754 cast numbers to long, to be consistant with the declaration of ustring()
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.
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.
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.
769 src/non_gui/definitions.h
770 changes to enable strong type-checking in C code.
774 Added string.h to the list of include files.
775 Removed need for type long long.
778 Removed need for type long long.
781 Removed need for type long long.
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
789 Changed to avoid a compiler warning about not returning anything
790 from the file, despite the fact it is declared to return an
792 Removed need for type long long.
795 no longer declares opperating_system, which was an integer that was
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
802 now writes to text and html files more consistantly.
805 Addes teh file try_linux.c and removes @MPILIBS@, as MPI now removed
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
813 docs/html-docs/building.html
814 several small changes, but main one being removal of any data about MPI
816 docs/html-docs/make-check.html
817 added new file, describing the testing process.
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.
824 Many sources have been tidied up, to make gcc -Wconversion
827 docs/html-docs/accuracy.html
828 Removed errors, which incorrectly stated that the lager bitmaps were
829 not distributed - they are now.
832 docs/html-docs/make-check.html.html
833 Added a new file, describing how the automatic testing of atlc
837 ****** Version 4.3.5 Released July 26th 2003 ********
840 Changed number_of_workers from static to global, as
841 it did not compile properly.
844 changed the benchmark so speedup is printed properly
845 (T_sequential/T_parallel) and not the other way around.
847 changed at t1 to a t2 on the line that is printed so
848 the code works okay when compiled multi-threaded.
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'
856 Now calls an AIX specific routine, which does nothing!
859 Much improved. Gets CPU time now, along with ram and cpu speed.
862 Minor improvements, works pretty good now.
864 ****** Version 4.3.4 Never released ********
867 Removed. Works fine under AIX now. Two issues were
869 use of char when I needed signed char. Rounding error
870 caused one pixel to change in colour by one graylevel
873 Changed many files in src/non_gui that referenced
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).
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.
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.
893 ****** Version 4.3.3 Released July 17th 2003 ********
895 Added a new file, highlighting problems on AIX.
898 Added a --enable-debug option, although little use is made
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.
906 changed the file so that the header file sys/processor.h only
907 got included if the file existed and processor_info() was
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 */
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.
921 Made tests/benchmark.c write benchmark results to tests.log
923 tests/benchmark.c now gathers information about the processors
926 src/non_gui/Makefile.am
927 Added function error_check()
929 src/non_gui/reaadbin.c
930 Changed an fopen(,"r") to fopen(,"rb"); so it works on
931 Windoze based systems.
934 BUGS - removed and replaced by docs/html-docs/BUGS.html
936 ****** Version 4.3.2 Released June 12th 2003 ********
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.
946 Correected a couple of typos. Added 'tests' to the list of
947 directories, as that was missing. Also tools and tools/src.
950 Remoted a few lines which were commented out
951 Put void as a function argument - ie foo(void) instead of foo();
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.
961 Should be able to determine the RAM on Solaris and Tru64 UNIX.
963 tests/benchmark.tests
964 Supplied with the new information from tests/benchmark.c
965 this should now display more sensible information.
967 ****** Version 4.3.1 Released June 7th 2003 ********
968 Unfortunately, the ChangeLog for 4.3.1 was never updated.
971 ****** Version 4.3.0 Released April 5th 2003 ********
975 Added a new directory 'm4' to hold autoconf macros.
976 Moved the top level autoconf macros to 'm4'
978 Added file 'benchmark' to run a test. It takes
979 about 1:17 on Ultra 80 with no thread support.
982 Updated the ChangeLog of course!!
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
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.
994 Added a check for automake 2.57 or above.
996 Replaced 'dnl' witrh '#' for a comment.
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
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.
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.
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.
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.
1029 Changed the algorithm considerably. This has several advantages over the
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.
1040 atlc/src/non_gui/do_fd_calculation.c
1041 This now calls one of two functions.
1043 a) Code is now inline, rather than a function call.
1044 Directory atlc/tools/src:
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.
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.
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
1065 MPI code has been almost fully removed, to start this from scratch again.
1067 ****** Version 4.2.12 Released 30/3/2003 ********
1070 renamed configure.in to configure.ac, as I gather this is now the
1071 prefereed name for the file.
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
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.
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.
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.
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
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
1098 Added the following files that were ommited when put into CVS
1100 **top level directory changes made by drkirkby **
1103 src/non_gui/output_from_design_coupler-Sun-Ultra-80.txt
1104 src/non_gui/Makefile.am
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
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?
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.
1122 Autogenerated file, needed updating due to change in configure.in
1123 with reguare to MPI support (see entry for configure.in above.)
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
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
1141 find_optimal_dimensions_for_microstrip_coupler.1
1145 usage_create_bmp_for_symmetrical_stripline.c
1146 corrected a simple spelling error
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().
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
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
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
1169 print_data_for_two_conductor_lines.c
1170 Added option to print data to high-precision
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.
1177 usage_atlc.c no longer exits with 0, but
1178 returns to the calling routine
1182 PROGRAM_CALLED_WITH_WRONG_NUMBER_OF_ARGUMENTS
1183 depending on how it was called.
1184 Add commments/changes to why the more logical
1186 changed type of cell_type from int to char to save
1189 All files with symmmetrical remaned to
1190 symmetrical (not the 3 m's beforehand)
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
1197 All files with the name programme have had this changed
1200 create_bmp_for_stripline_coupler.c
1201 now the verbose level is working properly
1204 Added numerous new entries
1207 Removed the -Q option for very quite and
1208 implemented it so -q is quite and -qq is quiter
1212 Now exits with UNACCEPTABLE_ERROR_WHEN_CONVERTING_TO_INTEGERS
1213 rather than 2 which confused matters for me. I need to tidy up
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.
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.
1223 calculate_impedance_for_create_bmp_for_symmetrical_stripline.c
1224 now calls usage_calculate_impedance_for_create_bmp_for_symmetrical_stripline
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.
1232 calculate_Zodd_and_Zeven.c now includes #include <stdlib.h>
1235 These have been modified and should be up to date on CVS
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.
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).
1248 News names for man pages
1250 lots of changes to files name 'cvsignore
1252 examples/twin-wire4.bmp
1253 Added to the CVS repositry. Had prevously ignored this
1256 in examples diretory
1257 Added ....bmp.txt files, as the output of running atlc
1258 on each of the .bmp files.
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
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
1281 added more informaton about the Word and StarOffice
1282 files giving information about the theory of the newer versions
1286 Changed to indicate there are now 3 theory files, one PDF and
1287 suggesting the use of books.
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.
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.
1297 Removed *.bmp and added *.bin. Put cvsignore on CVS
1299 src/non_gui/do_fd_calculation
1300 added a return(0) to prevent the compiler from preventing a warning.
1302 src/non_gui/setup_arrays.c
1303 Uncommented the check_for_shorts line, as it does do something
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.
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
1323 Changed to look for optimised
1324 math library (libmopt) and optimised c
1325 library (libcopt) as are used on SPARC systems.
1327 Removed one copy of the function
1328 get_data_interactively() from definitions.h, as
1329 it was defined twice.
1332 corrected a simple spelling error.
1335 Remmoved the extra docs/Makefile in it.
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.
1343 Removed extraneous dereference, replacing the line '*end++;'
1344 with 'end++;' in the argument processing section.
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.
1350 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
1352 ******Version 4.2.7 Released 8/1/03********
1353 Corrected a bug such that -s and -S did not work.
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.
1359 Made changes to write_fields_for_directional_couplers.c
1360 such that the the images for even mode are now
1363 Further attempts to improve the documentation.
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).
1369 Added two files into the distrtibution from
1370 former versions 'cop1.bmp' and 'rect9.bmp'
1371 since these were metnioned in the tutorial,
1374 Slightly improved the look of the homepage by
1377 Updateed 'tutorial.html' as it was a bit out
1378 of date, showing old versions of files.
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
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
1391 Reinstated some more tests.
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.
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.
1406 ******Version 4.2.4 Released 31/12/02********
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
1415 Changed man pages to reflect the changes in all the
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.
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'.
1429 The file atlc-x.y.z/docs/html-docs/index.html now
1430 loads index2.html rather than frontpage.html.
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
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.
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.
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.
1449 Changed man page on atlc, so reflect changes in the program
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
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:
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
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.
1474 Added program 'find_optimal_dimensions_for_microstrip_coupler' which does
1475 an exhaustive search of different geometires for microstrip couplers.
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.
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.
1489 Updated the documentation so removing references to make_coupler
1491 Changed the atlc homepage a bit, as it was out of date.
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.
1497 Added a few more tests that fail if gsl is not included.
1499 Updated the documentation. Some showed the output from
1500 atlc 2.x, which was a lot less accurate than 4.x.
1502 Added a line for pth in Makefile.am. Threads on machines
1503 othe than Solaris still needs some work.
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.
1509 Updated the FAQ, as some information was out of date.
1511 ********************Version 4.1.1 Released 14/12/02 ********************
1512 **************************************************************************
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
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.
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
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.
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
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
1539 ********************Version 4.0.1 Released 21/4/02 *********************
1540 **************************************************************************
1542 Added copyright notices to all files and added a -C option on all
1543 binaries to print out information on copyright.
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
1549 Added my e-mail addres to the AUTHORS file.
1551 Update the TODO list.
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
1557 Added a CVS entry on the banner page.
1559 Spent some time spell checking many of the html documents.
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.
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.
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
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.
1583 Changed setup_arrays.c so that it now sets a variable 'coupler' to TRUE
1584 if there is a blue ( - 1 V) conductor.
1586 Got resuls out from the coupler. No idea if they are right. Pretty sure
1587 they are wrong in fact.
1589 Corrected a typo in FAQ.html which meant the local copy of the QEX
1590 paper could not be downloaded from the FAQ.
1592 Answered that loss can't be measured in the FAQ.
1594 Wrote a programme 'make_coupler' which writes a bitmap with two striplines
1595 between two parallel groundplanes as below.
1597 ------------^------------------------------------------------------------------
1599 | <---w---><-----s----><---w-->
1600 H --------- --------
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.
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.
1613 Added information to accuracy.html on accuaracy with coupled lines.
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
1619 Added a couple of tests in the file 'tests' to check the coupler
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.
1628 Put an error number each time a programme exits, so it is clear what
1631 Made a set of diectories called 'binaries' and subdirectories from that.
1632 Please the latest Windows executables in binaries/Windows.
1635 image_data=ustring(0L,width*height*3); in atlc.c
1637 image_data=ustring(0L,size);
1639 Removed all references to stdio.h and math.h in all files, since they
1640 are included in definitions.h
1643 if( (image_data_fp=fopen(output_filename, "r")) == NULL)
1645 if( (image_data_fp=fopen(output_filename, "rb")) == NULL)
1646 in atlc.c, so the bitmap is opened as a binary in Windoze.
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.
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
1659 defined M_PI if not already done so in definitions.h
1661 Changed malloc call to a calloc in string.h
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.
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).
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.
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
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.
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.
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.
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
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.
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
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, ...
1711 Correct typo, where it said 'is is' in usage_sym_strip.c
1713 Changed the order and name or parameters in rect_cen_in_rect, so
1716 % rect_cen_in_rect W H w h Er1 > filename.bmp
1718 Changed man page to suite. It was silly before.
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
1724 Changed circ_in_circ so the information it can provide about theoretical
1725 impedances is only produced if the -v flag is given.
1727 corrected usage_circ_in_rect.c, as information at the bottom on usage
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.
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.
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.
1743 ********************Version 3.0.4 Dated 1/4/2002*************************
1744 **************************************************************************
1745 NOTE 3.0.3 never released, since the upload to sourceforge failed.
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.
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>
1755 Added an option to atlc.c to avoid writing the bitmap files.
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
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.
1767 #include <condefs.h>
1770 (I need to define WINDOWS when compiling on Windoze).
1772 Corrected usage_atlc so it now does not take the filename, but knows it
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
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.
1783 Added a piece of code 'get_options.c' which was necessary since
1784 Borland C++ Builder does not have such a function.
1786 Stopped print_data taking an argument 'version' and then reading it from
1787 VERSION. It now just reads from VERSION
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.
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.
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.
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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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.
1821 Added a man page for sym_strip and updated all other man pages. Keeping
1822 the documentation up to date is a problem.
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
1829 Added a small script 'makehtml' in man, to create easily html version of
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
1838 function calculate_colour_data() added to calculate the colour a pixel
1839 should be set to - this is called by write_fields().
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.
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.
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.
1859 Made a significant improvement to accuracy, but using the following
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
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.
1873 Added some code in write_fields.c to print the energy (CV^2) too.
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.
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.
1888 Programme should be able to cope with 4 different dielectrics in a
1889 square - i.e. it can be really arbitrary.
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.
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.
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.
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.
1911 Added a programme 'thin_strip; which produces a stipline like this:
1913 ------^-------------------------------------
1917 -infinity ------v------------------------------------ +infinity
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).
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.
1929 Removed the '-m' option from usage_atlc.c, since the option no longer
1930 worked - it was removed some time ago.
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.
1937 Removed the handling of option 'h' in atlc.c, since the option no longer
1940 Printed a messge with usage_atlc, so that it indicated that if
1941 multi-processor support was not compiled into atlc.
1943 Added a few commments are correct a few typos in other commments, in the
1944 file finite_difference_multi_threaded.c
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.
1954 renamed usage to usage_atlc, to be consistant with all the other
1955 programmes (usage_rect_in_rect etc)
1957 Added quit a few comments to atlc.c, and generally made the code tidier,
1958 with more consistant indenting.
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
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
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
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,
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
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
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.
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.
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
2027 rect_in_circ - this dones NOT work, so it is configured to always exit.
2029 Changed atlc so that it no longer uses the faster convergence algorithm.
2030 I now know it can fail, so will remove it.
2032 Changed usage.c and atlc.c so that the -p option is not displayed if not
2034 usage.c Changed the usage message about '-i fiddle' as it was wrong before, in assuming default to be
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
2039 25/4/2001, verison 2.01 put on SorgeForce unix only, supports multiple
2042 Version 1.09 - Windows verison, put on my web site.
2044 Version 1 - published in QEX, see qex-december-1996/atlc.pdf.