home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / microcrn / issue_40.arc / DAIMS.ARC / README < prev    next >
Text File  |  1988-02-10  |  3KB  |  63 lines

  1. These are some example C++ files from the DAIMS project mentioned in
  2. issue #40 (March-April 1988) of Micro Cornucopia: "A Programmer's
  3. Introduction to C++" by Bruce Eckel.  The DAIMS project is funded by the
  4. Institute of Naval Oceanography and the results of the project are in
  5. the public domain.  You can use this code any way you want, but please
  6. leave author information in and mention DAIMS and the INO.
  7.  
  8.     DAIMS will continue until the summer of 1989.  The goal is to
  9. produce at least one working medium-sized ocean model using C++, as well
  10. as all the tools we can produce.  We hope this will provide incentive
  11. for oceanographers (and other scientists) to move to C++.
  12.  
  13.     Please be warned: this code was developed on a Sun 3 workstation
  14. running a port of the AT&T C compiler version 1.1.  The examples you see
  15. here are from two projects: one is an interpreter which uses a parser
  16. generated by Yacc and a lexical analyzer generated by Lex.  At this
  17. time, the Advantage C++ compiler was unable to handle the size of the
  18. Yacc-generated parser, and the Guidelines C++ compiler choked on the
  19. lexical analyzer as well.  Thus, while the classes compiled fine, you
  20. won't find the interpreter in here.  Advantage is working on the size
  21. problem, but their latest Beta release had a note that said they bailed
  22. out on using memory from 640K-1M for their compiler stack (which
  23. probably would have solved the problem).  I'm hoping they will just use
  24. LIM 4.0 memory instead.
  25.  
  26.     The second project is a demonstration of the two-dimensional
  27. ocean spin-up problem.  Air from the gulfstream moving across the ocean
  28. forces the thermocline (the place where the water temperature changes
  29. abruptly) down.  This model shows the depression of the thermocline as
  30. time progresses, allowing you to change the way the wind moves and the
  31. resolution of the model.  The display occurred through sunwindows on the
  32. sun workstation, thus you will see a number of strangely-named "plain" c
  33. files and there won't be any sources for them.  This is because they are
  34. sunwindows code and won't run on the PC.
  35.  
  36.     The code here isn't useless on a PC by any means.  I have
  37. compiled most of it on a PC and made sample programs.  I think you'll
  38. find the "matrix" class (matrix1.C, matrix2.C and matrix.hxx) the most
  39. useful -- it allows you to transpose, invert, take the determinant and
  40. generate the inverse of an arbitrarily-sized matrix (limited only by the
  41. PC's memory, of course).  It also demonstrates some of the more subtle
  42. programming tricks in C++: creating and manipulating objects of an
  43. arbitrary size and setting large objects equal to each other without
  44. doing a bit-copy (a method called "reference counting" which allows many
  45. objects to point to the same physical memory so if one gets changed,
  46. they all change.  If you're looking at a cat through many different
  47. windows of a house and the cat changes, you want the change to show in
  48. all the windows).
  49.  
  50.     If you have a sun and want the full sources for the interpreter
  51. or the ocean demo, I can be contacted in a number of ways:
  52.  
  53.         Bruce Eckel
  54.         eckel@sperm.ocean.washington.edu
  55.                 uw-beaver!beluga!eckel
  56.                 bitnet: eckel%namu.ocean.washington.edu@UWAVM
  57.  
  58.     We will eventually get a unix bulletin board running or at the
  59. very least, the ability to do anonymous ftp.
  60.  
  61.     I don't log into the Micro C BBS very often, so that isn't a
  62. very good way to reach me.
  63.