Home / old_versions / experix_r4
Name Modified Size InfoDownloads / Week
Parent folder
experix_r4_helpers.tgz2 2007-12-07 196.9 kB
experix_r4_dist.tgz2 2007-12-07 697.3 kB
experix_r4_book.tgz2 2007-12-07 154.7 kB
install_r4 2007-12-07 31.7 kB
README_r4 2007-12-07 10.2 kB
Totals: 5 Items   1.1 MB 0
Download  experix_r4_dist.tgz2  experix_r4_book.tgz2  experix_r4_helpers.tgz2
Follow instructions in install_r4.
Actually, I'm pretty sure there are no real changes in helpers, so if you
already have that, don't bother installing it again.  But there are __many__
changes in dist and book.

------------------------------------------------------------------------
changes since  experix_release_r3 Sun Jul 8 2007:
------------------------------------------------------------------------

-----------------------------files changed------------------------------
All files have had the copyleft notice and version number updated.
These files have other changes:
------------------------------------------------------------------------
performance
source/amoeba.c
source/amoeba.h
source/array.c
source/array2.c
source/command.c
source/command2.c
source/defines.h
source/files.c
source/globals.c
source/graph1.c
source/numbers.c
source/opclist.h
source/updown.c
source/structs.h
source/xpxdif.c
source/xpxdif.h
source/models/zdhist.c
xpx/graftrix.xpx
xpx/mathtrix.xpx
xpx/ideas.xpx
help/children.hlp
help/keywords.doc
help/miscellaneous.hlp
help/ss.defercom.hlp
help/in.experix.hlp
help/segfunc.hlp
help/ss.comfiles.hlp
help/ss.localvar.hlp
help/ss.numerals.hlp
help/ss.unaryops.hlp
help/xcd.hlp
help/app/poker.hlp
drivers/poker.xpx
drivers/stepper.xpx
drivers/pcdas16/pcdas16.h
drivers/pcdas16/experix__pcdas16.c
drivers/pcdas16/Makefile
drivers/pcdas16/start_poker.xpx
drivers/das16/das160x.h
drivers/das16/experix__das1602.c
drivers/das16/Makefile
drivers/das16/start_poker.xpx
drivers/pcm308/pcm308.h
drivers/pcm308/experix__pcm308.c
drivers/pcm308/Makefile
drivers/pcm308/start_poker1.xpx
drivers/pcm308/start_poker2.xpx
drivers/pport/Makefile
drivers/hello/Makefile
xpx/calculus.xpx
xpx/vfc.xpx
book/miscellaneous
book/command
book/debugging
book/experix.manual
book/specialfunctions

----------------------------experix api changes-------------------------

-- made "0 <DT" perform one sched_yield

-- fixed the \= operator so that it works as intended on partially-filled
   strings

-- added a new method to the segfunc command:  segfunc/z makes a zig-zag
   function and smooths the corners by convolution 

-- added the  (x  operator:  type-alter (not convert) a complex number or
   array or variable to polar, or polar to complex  

-- designated globalints[32] as data page size for drivers that allow/require
   user to specify that in the driver registration procedure

-- the .mm operator computes the array sum (astats[5])

-- the new .sum operator gets the sum of elements (equivalent to .mm 5 \s [)

-- increased the number of local command pointers to 10, and number of local
   command variables to 16.  This is something that is trivial to set as
   desired in source/defines.h, but it can now be expected that .xpx files
   will start using the newly available variables, so it could become a
   defacto standard.

-- a line starting with  ;;sx  ends command file execution

-- .X operator uses "truncate" rounding mode, so it gives the same result as
   \c .T -

-- new command in graphtrix.xpx:  'bgraph2 makes a bold-face x-vs-y graph

-- zdhist returns an unexpected end-of-file error if the requested number of
   data records is not available

-- For the amoeba function optimization method, new members are added to the
   amxblock struct to count and limit the number of times that encounters with
   the parameter value limits happen, and for the amoeba command this is
   combined with the restarts limit in amctrl[3]. 

-- The FPR model (everything in fpr.c) has been taken out temporarily by
   commenting the relevant entries in amoeba.h.  It needs update and testing.

------------------------------File changes------------------------------

-- source/amoeba.c: Camoeba_F: took out erroneous copying of the function call
   limit into [1] of the user's amctrl array

-- source/amoeba.c: fixed uninitialized variable error on fcode in Camoeba_F
   which caused optimization calls to try to do mapping instead.  I haven't
   checked whether this error exists in any release.

-- source/array2.c, help/segfunc.hlp:  added functions convolv() and zzfunc(),
   and added the "zzfunc method" to the segfunc command

-- source/array2.c, help/ss.unaryops.hlp: in array_stats, made it do the array
   sum for both .mm and .astats operators

-- source/command.c: submit_command: under "if ( cxa.cc[cu-1] == '[' ) {":
   Added a line to diagnose condition "range==0" and abort there with the
   -CEARG_BADVAL error code (previously it aborted there with no error code;
   then the command loop re-executed the operator because the command
   characters had not been eaten)

-- source/command.c: submit_command: made "0 <DT" call sched_yield once and
   go on immediately with the command string
-- help/ss.defercom.hlp:  writeup of this

-- source/command.c: fixed the \= operator: was using the current size, rather
   than capacity of a destination string.

-- source/command.c: submit_command: added the (x operator (complex/polar type
   alteration)
-- help/ss.numerals.hlp, help/in.experix.hlp:  writeup of this

-- source/command2.c: unop(): for SUO_MMS, extracts the value sum from the
   statistics array and puts that on stack

-- source/graph1.c:  corrected an x- axis-scaling error for graphs of the type
   "Fgsa Igsa data graph/s", which became apparent only for graphs of short
   arrays

-- source/numbers.c:  unop has a new case SUO_MMS for array value sum

-- source/opclist.h:  added new op code SUO_MMS

-- drivers/poker.xpx and help/app/poker.hlp:  Changed the definitions of
   fppars members so that they refer to time in seconds since the start of the
   poke rather than data array index.  Made corresponding changes in the ap
   command definition.  Made the ap command also evaluate the sample stiffness
   in two ways and put those results in fppars, which has additional members
   for that.  Updated explanation of clocksetting.

-- drivers/poker.xpx:  Made "clocksetting/" do "xcd/Pc" (calculation only);
   used this in runpoker to avoid redundant loading of the pacer clock

-- xpx/mathtrix.xpx   more explanation

-- source/xpxdif.c had two errors where it tried to do  pointer & number  which
   was diagnosed as invalid operands.   Did I really fail to compile my changes,
   or fail to notice that it produced errors?  Next time be sure to remove the
   old object file first.

-- source/xpxdif.c register_xcd:  Added support for drivers that need the user
   to specify the data page size via the XDX_GETDP command.  This should not
   break existing drivers; the size is given in the experix variable
   globalints[32].
   Made the help pointer and data pointer the same in the command definition
   for a device cookie, and made minor corrections in setting up the CIdef.

-- source/globals.c, help/ss.unaryops.hlp:  added the .sum operator

-- source/globals.c and source/defines.h:  Increased the size of globalints,
   and designated [32] as driver data page request size

-- source/defines.h:  increased CSLOCPTRS and CSLOCVARS

-- source/xpxdif.h:  Note designating a special XDX_TEST command for giving
   switch and jumper settings of legacy hardware.   Note about new use of the
   XDX_GETDP command with XB_DO_IT:  in drivers that support this feature, it
   controls the data page size and may do the actual allocation, and possibly
   re-allocation.  Designated new control page flag bits to indicate this.

-- source/xpxdif.h:  Moved the LINE_ERRC macro def into the kernel section, and
   made it do a printk when DEBUG is #defined.  It identifies the driver by
   displaying the MODULE_NAME, and shows the line number.  Therefore, the
   must #define DEBUG and MODULE_NAME before #include xpxdif.h.

-- help/xcd/hlp:  discusses user-specified data page allocation in the parts
   on xcd/R and xcd/w

-- help/keywords.doc: register_xcd: explanation of user-specified data page
   allocation

-- daq drivers in the drivers/pcm308, drivers/pcdas16 and drivers/das16
   directories, and the .h, .xpx and Makefiles there:
   Numerous bug fixes, cleanups, improvements, adjustments and so on.  Read
   the files.  These are working with Fedora Core 6 (2.6.18 kernel).

-- drivers/stepper.xpx (new file):  generation of stepper motor controls

-- book/miscellaneous (new file)

-- book/experix_manual, book/specialfunctions:  some more work on the book

-- xpx/calculus.xpx  Corrected discussion of interpolation errors, which had
   been rendered incorrect by a change in the interp command; and added
   pauses in pic1

-- help/miscellaneous.hlp, book/debugging:  minor corrections and improvements

-- source/command.c, help/ss.comfiles.hlp, help/in.experix.hlp:  A new command
   file feature is introduced:  ;;sx  at the start of a line terminates the
   executable part of a command file.

-- source/numbers.c:  case SUO_FRAC is fixed to use the "truncate" rounding
   mode, so that  .X  gives the same result as  \c .T -

-- help/children.hlp:  clarification

-- help/ss.localvar.hlp, book/command:  more comments about the scope of local
   variables and pointers

-- xpx/graftrix.xpx:  correct the help for 'bgraph', and addition of 'bgraph2'

-- source/files.c:  The %c and %s specifiers for "s ..." format read commands
   got broken.  Fixed now.

-- source/structs.h:  added a convenience macro for addressing format2 items

-- source/models/zdhist.c:  Added an error return for processing loop running
   out of data before the requested number of records has been done.
   Corrected the incorrect diagnosis of a terminal zero record as an error. 

-- xpx/ideas.xpx:  new file, containing things that need more work

-- source/amoeba.c source/amoeba.h  new members in amxblock, and minor changes
   in amoeba() and Camoeba_F(), as explained under api changes
-- source/amoeba.h:  commented out the entries for FPR
-- help/amoeba.hlp book/amoeba  minor corrections and clarifications, and
   discussion of the new parameter-limit-encounter limiting system

-- new directory dist/obsolete for things that aren't being maintained enough
   to be usable right now but may be useful later.  Moved to there:
   dist/drivers/mapper.c
   dist/drivers/xpxdtest.c
Source: README_r4, updated 2007-12-07