diff options
Diffstat (limited to 'externals/grill/vasp')
-rw-r--r-- | externals/grill/vasp/changes.txt | 237 | ||||
-rwxr-xr-x | externals/grill/vasp/config-pd-darwin.txt | 66 | ||||
-rw-r--r-- | externals/grill/vasp/config-pd-linux.txt | 60 | ||||
-rw-r--r-- | externals/grill/vasp/config-pd-msvc.txt | 42 | ||||
-rw-r--r-- | externals/grill/vasp/source/buflib.cpp | 4 | ||||
-rw-r--r-- | externals/grill/vasp/source/env.cpp | 4 |
6 files changed, 207 insertions, 206 deletions
diff --git a/externals/grill/vasp/changes.txt b/externals/grill/vasp/changes.txt index df89e9f7..2baf24ac 100644 --- a/externals/grill/vasp/changes.txt +++ b/externals/grill/vasp/changes.txt @@ -1,118 +1,119 @@ -Version history: - -0.1.2: -- FIX: bug in vasp.frames* ... wrong argument -- FIX: another bug in resize of immediate buffers -- CHANGE: immediates will be initialized to zero, also upon resize to a larger size (by default, later make this optional) -- ADD: attributes for all basic parameters: ref,to,arg, update,detach,prior (loglvl,argchk,unit later) -- ADD: vasp.channel,vasp.vector - attribute "index" -- ADD: vasp.frames,vasp.frames+,vasp.offset,vasp.offset+,vasp.size,vasp.size+,vasp.imm - attribute "frames" -- ADD: vasp.frames*,vasp.frames/,vasp.size*,vasp.size/ - attribute "factor" -- ADD: vasp.part - attribute "parts" -- ADD: vasp.peaks? - attribute "peaks" -- ADD: vasp.shift,vasp.xshift - attribute "fill" -- ADD: vasp.tilt,vasp.xtilt - attributes "fill","inter" -- ADD: vasp.offset=,vasp.frames= - attributes "dir","slope" -- CHANGE: update m_method_ virtual functions of same objects -- FIX: immediate vasp garbage collection is now done in separate thread -- ADD: vasp.size... objects: attribute "keep" determines whether buffer content should be preserved (default = 1) -- CHANGE: buffer reference checks upon all operations enforced (by new CVasp (checked vasp) class) -- FIX: immediate vasps can not have frames > size -- FIX: immediate garbage collection was not triggered in threaded build - -0.1.1: -- FIX: bug in resize of immediate buffers -- CHANGE: check (at actual operation!) whether vector exceeds buffer size (GetRVecs, GetCVecs -> corrlen) - -0.1.0: -- NEW: vasp.a<, vasp.a>, vasp.a<=, vasp.a>= for absolute comparisons -- CHANGE: clear stored vasp of an object if a "set" message with an invalid vasp is received -- CHANGE: cleaned up the process loops (with thread yield) and fixed a corresponding bug in vasp.peaks/valleys -- CHANGE: warn - but don't stop - on large FFT prime factors -- FIX: vasp.radd and vasp.rpow had wrong argument initialization -- FIX: mixfft is not thread-safe... introduced thread mutex for it -- FIX: vasp.shift: shift argument was modulo frame count... why? - -0.0.8: -- CHANGE: vasp.radio got right outlet for non-radio messages -- ADD: thread yield for all simple vasp objects -- CHANGE: vasp.? and vasp.??: made explicit list outlets -- NEW: vasp.window, vasp.*window, vasp.!window, vasp.*!window, vasp.xwindow, vasp.*xwindow -- REMOVE: vasp.bevel, vasp.!bevel... obsolete due to new vasp.window objects -- REMOVE: vasp.noradio (vasp.!radio)... can easily be an abstraction of vasp.radio -- ADD: minimum length parameter for immediate vasps -- NEW: vasp.channel? (vasp.c?), vasp.channel (vasp.c) for set/query of buffer channel -- CHANGE: env - reversed time/value pairs to value/time pairs -- FIX: vasp.! with length arg outputs its reference on bang -- FIX: on set message check for invalid vasps -- FIX: reintroduce test for invalid buffer names (why was it commented out?) -- FIX: fixe several bugs in vasp.offset= and vasp.frames= -- CHANGE: allow size 0 (is default) for immediate vasps - -0.0.7: -- CHANGE: vasp.m is now called vasp.multi by default -- CHANGE: vasp.sync and vasp.multi now have a default argument = 2 -- FIX: vasp.phasor - period length now 1 instead of 2 PI -- FIX: bug in multi mode (more src, one arg vector) -- ADD: path specification for help symbols -- CHANGE: rewrote vasp.imm implementation (still very inefficient!!) -- ADD: prior message defines differential priority for detached operations -- ADD: full DFT implementation (radix-2/radix-n) - also support of "to" message -- ADD: full implementation of vasp.(x)tilt with several interpolation methods -- CHANGE: vasp.split and vasp.join now have default argument = 2 -- ADD: vasp.offset= (vasp.o=) and vasp.frames= (vasp.f=): search for sample values (eg. zero crossings) -- ADD: checks and log messages for out-of-range buffer offset and length - -0.0.6: -- reorganized file structure -- ADD: main names of vasp.n and vasp.n? are now vasp.vector and vasp.vectors?, respectively -- ADD: main names of vasp.? and vasp.?? are now vasp.list and vasp.nonzero, respectively -- NEW: vasp.size, vasp.size+, vasp.size? (vasp.s,vasp.s+,vasp.s?) for buffer size manipulation -- NEW: vasp.peaks? for extremum extraction -- ADD: shortcuts for vasp.frames,vasp.frames+,vasp.frames? -> vasp.f,vasp.f+,vasp.f? -- CHANGE: changed vasp.offs,vasp.offs+,vasp.offs? to vasp.offset,vasp.offset+,vasp.offset? -- ADD: shortcuts for vasp.offset,vasp.offset+,vasp.offset? -> vasp.o,vasp.o+,vasp.o? -- ADD: envelopes (env ...) as arguments to all operations where vasps are used -- FIX: default arguments for all binary/anytype operations -- ADD: vasp.frames* (vasp.f*), vasp.frames/ (vasp.f/), vasp.size* (vasp.s*), vasp.size/ (vasp.s/) -- ADD: detached operation: operations run as threads, according to detach flag/message -- CHANGE: vasp.sync has as many outputs as inputs and outputs all input vasps -- ADD: vasp.! : like vasp but stores the content temporarily (not just the reference) -- ADD: vasp.copy (vasp.->) and vasp.ccopy (vasp.c->) for instant vasp copying -- ADD: vasp.radio and vasp.noradio (vasp.!radio) ... filters for radio messages -- ADD: vasp.fix - bashes NANs to zero, normalizes denormal numbers -- ADD: double type consisting of 2 additive floats (e.g. "double 1. 1.e-13") for all numeric arguments -- ADD: vasp.(x)shift - "fill" method/flag defines how to fill shifted areas (0..zero (default),1..none,2..edge value) - -0.0.5: -- FIX: lacking sqrt in [vasp.rmin?],[vasp.rmax?] -- FIX: (offs >= frames) bug in [vasp.offs?] -- ADD: lacking setup of [vasp.!-] and [vasp.c!-] objects -- FIX: buggy [vasp.int] code -- FIX: recognition of integer arguments - -0.0.4: -- CHANGE: vasp.min/max functions so that a vasp length 0 results in 0 -- REMOVED: [vasp.inv], [vasp.cinv].... already replaced by [vasp.!/ 1] -- FIX: outlet bug in [vasp.?] -- ADD: right inlet to [vasp]... just like in [float] etc. - -0.0.3: -- restructured the code for future use of break-point lists (aka envelopes) as arguments -- changed some object's names -- new objects: vasp.min?, vasp.max? and the likes -- fixed Max problem with connecting vasp.min,vasp.max right outlet to number boxes -- fixed right inlet problem for generator and filter objects - -0.0.2: -- vasp.cmin,vasp.cmax - renamed to vasp.rmin,vasp.rmax -- reversed vasp channel and offset -- fixed bug with arguments to complex binary operations -- vasp.chk: included channel check -- fixed pointer bug in vasp.? -- fixed pointer increment bug in vasp.fhp -- changed VecBlock implementation - -0.0.1: -- defined the vasp -- quick and dirty setup of most functions (non-interruptible) +Version history:
+
+0.1.2:
+- FIX: bug in vasp.frames* ... wrong argument
+- FIX: another bug in resize of immediate buffers
+- CHANGE: immediates will be initialized to zero, also upon resize to a larger size (by default, later make this optional)
+- ADD: attributes for all basic parameters: ref,to,arg, update,detach,prior (loglvl,argchk,unit later)
+- ADD: vasp.channel,vasp.vector - attribute "index"
+- ADD: vasp.frames,vasp.frames+,vasp.offset,vasp.offset+,vasp.size,vasp.size+,vasp.imm - attribute "frames"
+- ADD: vasp.frames*,vasp.frames/,vasp.size*,vasp.size/ - attribute "factor"
+- ADD: vasp.part - attribute "parts"
+- ADD: vasp.peaks? - attribute "peaks"
+- ADD: vasp.shift,vasp.xshift - attribute "fill"
+- ADD: vasp.tilt,vasp.xtilt - attributes "fill","inter"
+- ADD: vasp.offset=,vasp.frames= - attributes "dir","slope"
+- CHANGE: update m_method_ virtual functions of same objects
+- FIX: immediate vasp garbage collection is now done in separate thread
+- ADD: vasp.size... objects: attribute "keep" determines whether buffer content should be preserved (default = 1)
+- CHANGE: buffer reference checks upon all operations enforced (by new CVasp (checked vasp) class)
+- FIX: immediate vasps can not have frames > size
+- FIX: immediate garbage collection was not triggered in threaded build
+- FIX: changed forgotten standard ASSERT to FLEXT_ASSERT (thanks to Frank Barknecht)
+
+0.1.1:
+- FIX: bug in resize of immediate buffers
+- CHANGE: check (at actual operation!) whether vector exceeds buffer size (GetRVecs, GetCVecs -> corrlen)
+
+0.1.0:
+- NEW: vasp.a<, vasp.a>, vasp.a<=, vasp.a>= for absolute comparisons
+- CHANGE: clear stored vasp of an object if a "set" message with an invalid vasp is received
+- CHANGE: cleaned up the process loops (with thread yield) and fixed a corresponding bug in vasp.peaks/valleys
+- CHANGE: warn - but don't stop - on large FFT prime factors
+- FIX: vasp.radd and vasp.rpow had wrong argument initialization
+- FIX: mixfft is not thread-safe... introduced thread mutex for it
+- FIX: vasp.shift: shift argument was modulo frame count... why?
+
+0.0.8:
+- CHANGE: vasp.radio got right outlet for non-radio messages
+- ADD: thread yield for all simple vasp objects
+- CHANGE: vasp.? and vasp.??: made explicit list outlets
+- NEW: vasp.window, vasp.*window, vasp.!window, vasp.*!window, vasp.xwindow, vasp.*xwindow
+- REMOVE: vasp.bevel, vasp.!bevel... obsolete due to new vasp.window objects
+- REMOVE: vasp.noradio (vasp.!radio)... can easily be an abstraction of vasp.radio
+- ADD: minimum length parameter for immediate vasps
+- NEW: vasp.channel? (vasp.c?), vasp.channel (vasp.c) for set/query of buffer channel
+- CHANGE: env - reversed time/value pairs to value/time pairs
+- FIX: vasp.! with length arg outputs its reference on bang
+- FIX: on set message check for invalid vasps
+- FIX: reintroduce test for invalid buffer names (why was it commented out?)
+- FIX: fixe several bugs in vasp.offset= and vasp.frames=
+- CHANGE: allow size 0 (is default) for immediate vasps
+
+0.0.7:
+- CHANGE: vasp.m is now called vasp.multi by default
+- CHANGE: vasp.sync and vasp.multi now have a default argument = 2
+- FIX: vasp.phasor - period length now 1 instead of 2 PI
+- FIX: bug in multi mode (more src, one arg vector)
+- ADD: path specification for help symbols
+- CHANGE: rewrote vasp.imm implementation (still very inefficient!!)
+- ADD: prior message defines differential priority for detached operations
+- ADD: full DFT implementation (radix-2/radix-n) - also support of "to" message
+- ADD: full implementation of vasp.(x)tilt with several interpolation methods
+- CHANGE: vasp.split and vasp.join now have default argument = 2
+- ADD: vasp.offset= (vasp.o=) and vasp.frames= (vasp.f=): search for sample values (eg. zero crossings)
+- ADD: checks and log messages for out-of-range buffer offset and length
+
+0.0.6:
+- reorganized file structure
+- ADD: main names of vasp.n and vasp.n? are now vasp.vector and vasp.vectors?, respectively
+- ADD: main names of vasp.? and vasp.?? are now vasp.list and vasp.nonzero, respectively
+- NEW: vasp.size, vasp.size+, vasp.size? (vasp.s,vasp.s+,vasp.s?) for buffer size manipulation
+- NEW: vasp.peaks? for extremum extraction
+- ADD: shortcuts for vasp.frames,vasp.frames+,vasp.frames? -> vasp.f,vasp.f+,vasp.f?
+- CHANGE: changed vasp.offs,vasp.offs+,vasp.offs? to vasp.offset,vasp.offset+,vasp.offset?
+- ADD: shortcuts for vasp.offset,vasp.offset+,vasp.offset? -> vasp.o,vasp.o+,vasp.o?
+- ADD: envelopes (env ...) as arguments to all operations where vasps are used
+- FIX: default arguments for all binary/anytype operations
+- ADD: vasp.frames* (vasp.f*), vasp.frames/ (vasp.f/), vasp.size* (vasp.s*), vasp.size/ (vasp.s/)
+- ADD: detached operation: operations run as threads, according to detach flag/message
+- CHANGE: vasp.sync has as many outputs as inputs and outputs all input vasps
+- ADD: vasp.! : like vasp but stores the content temporarily (not just the reference)
+- ADD: vasp.copy (vasp.->) and vasp.ccopy (vasp.c->) for instant vasp copying
+- ADD: vasp.radio and vasp.noradio (vasp.!radio) ... filters for radio messages
+- ADD: vasp.fix - bashes NANs to zero, normalizes denormal numbers
+- ADD: double type consisting of 2 additive floats (e.g. "double 1. 1.e-13") for all numeric arguments
+- ADD: vasp.(x)shift - "fill" method/flag defines how to fill shifted areas (0..zero (default),1..none,2..edge value)
+
+0.0.5:
+- FIX: lacking sqrt in [vasp.rmin?],[vasp.rmax?]
+- FIX: (offs >= frames) bug in [vasp.offs?]
+- ADD: lacking setup of [vasp.!-] and [vasp.c!-] objects
+- FIX: buggy [vasp.int] code
+- FIX: recognition of integer arguments
+
+0.0.4:
+- CHANGE: vasp.min/max functions so that a vasp length 0 results in 0
+- REMOVED: [vasp.inv], [vasp.cinv].... already replaced by [vasp.!/ 1]
+- FIX: outlet bug in [vasp.?]
+- ADD: right inlet to [vasp]... just like in [float] etc.
+
+0.0.3:
+- restructured the code for future use of break-point lists (aka envelopes) as arguments
+- changed some object's names
+- new objects: vasp.min?, vasp.max? and the likes
+- fixed Max problem with connecting vasp.min,vasp.max right outlet to number boxes
+- fixed right inlet problem for generator and filter objects
+
+0.0.2:
+- vasp.cmin,vasp.cmax - renamed to vasp.rmin,vasp.rmax
+- reversed vasp channel and offset
+- fixed bug with arguments to complex binary operations
+- vasp.chk: included channel check
+- fixed pointer bug in vasp.?
+- fixed pointer increment bug in vasp.fhp
+- changed VecBlock implementation
+
+0.0.1:
+- defined the vasp
+- quick and dirty setup of most functions (non-interruptible)
diff --git a/externals/grill/vasp/config-pd-darwin.txt b/externals/grill/vasp/config-pd-darwin.txt index b5b617df..2728cf63 100755 --- a/externals/grill/vasp/config-pd-darwin.txt +++ b/externals/grill/vasp/config-pd-darwin.txt @@ -1,33 +1,33 @@ -# VASP - vector assembling vector processor -# Copyright(c) 2002 Thomas Grill (xovo@gmx.net) -# - -# your c++ compiler (normally g++) -CXX=g++ - -# where does the PD installation reside? -PD=/usr/local/pd - -# where are the PD header files? -# leave it blank if it is a system directory (like /usr/local/include), -# since gcc 3.2 complains about it -PDINC=${PD}/src - -# where is the PD executable? -PDBIN=${PD}/bin/pd - -# where do the flext libraries reside? -FLEXTPATH=${PD}/flext - -# where should flext libraries be built? -TARGDIR=./pd-darwin - -# where should VASP be installed? -# (leave blank to omit installation) -# a subfolder "vasp" will be created for the files -INSTDIR=${PD}/extra - -# where should the VASP help be installed? -# (leave blank to omit installation) -# a subfolder "vasp" will be created for the files -HELPDIR=${PD}/doc/5.reference +# VASP - vector assembling vector processor
+# Copyright(c) 2002-2003 Thomas Grill (xovo@gmx.net)
+#
+
+# your c++ compiler (define only if it's different than g++)
+# CXX=g++
+
+# where does the PD installation reside?
+PD=/usr/local/pd
+
+# where are the PD header files?
+# leave it blank if it is a system directory (like /usr/local/include),
+# since gcc 3.2 complains about it
+PDINC=${PD}/src
+
+# where is the PD executable?
+PDBIN=${PD}/bin/pd
+
+# where do the flext libraries reside?
+FLEXTPATH=${PD}/flext
+
+# where should flext libraries be built?
+TARGDIR=./pd-darwin
+
+# where should VASP be installed?
+# (leave blank to omit installation)
+# a subfolder "vasp" will be created for the files
+INSTDIR=${PD}/extra
+
+# where should the VASP help be installed?
+# (leave blank to omit installation)
+# a subfolder "vasp" will be created for the files
+HELPDIR=${PD}/doc/5.reference
diff --git a/externals/grill/vasp/config-pd-linux.txt b/externals/grill/vasp/config-pd-linux.txt index b10f76f1..b9fbb0fd 100644 --- a/externals/grill/vasp/config-pd-linux.txt +++ b/externals/grill/vasp/config-pd-linux.txt @@ -1,30 +1,30 @@ -# VASP - vector assembling vector processor -# Copyright(c) 2002 Thomas Grill (xovo@gmx.net) -# - -# your c++ compiler (normally g++) -CXX=g++ - -# where does the PD installation reside? -PD=/usr/local/lib/pd - -# where are the PD header files? -# leave it blank if it is a system directory (like /usr/local/include), -# since gcc 3.2 complains about it -PDINC= - -# where do the flext libraries reside? -FLEXTPATH=${PD}/flext - -# where should flext libraries be built? -TARGDIR=./pd-linux - -# where should VASP be installed? -# (leave blank to omit installation) -# a subfolder "vasp" will be created for the files -INSTDIR=${PD}/extra - -# where should the VASP help be installed? -# (leave blank to omit installation) -# a subfolder "vasp" will be created for the files -HELPDIR=${PD}/doc/5.reference +# VASP - vector assembling vector processor
+# Copyright(c) 2002-2003 Thomas Grill (xovo@gmx.net)
+#
+
+# your c++ compiler (define only if it's different than g++)
+# CXX=g++
+
+# where does the PD installation reside?
+PD=/usr/local/lib/pd
+
+# where are the PD header files?
+# leave it blank if it is a system directory (like /usr/local/include),
+# since gcc 3.2 complains about it
+PDINC=
+
+# where do the flext libraries reside?
+FLEXTPATH=${PD}/flext
+
+# where should flext libraries be built?
+TARGDIR=./pd-linux
+
+# where should VASP be installed?
+# (leave blank to omit installation)
+# a subfolder "vasp" will be created for the files
+INSTDIR=${PD}/extra
+
+# where should the VASP help be installed?
+# (leave blank to omit installation)
+# a subfolder "vasp" will be created for the files
+HELPDIR=${PD}/doc/5.reference
diff --git a/externals/grill/vasp/config-pd-msvc.txt b/externals/grill/vasp/config-pd-msvc.txt index d43b8ee6..4f62e1e7 100644 --- a/externals/grill/vasp/config-pd-msvc.txt +++ b/externals/grill/vasp/config-pd-msvc.txt @@ -1,21 +1,21 @@ -# VASP - vector assembling signal processor -# Copyright (c) 2002 Thomas Grill (xovo@gmx.net) -# - -# where is PD? -PDPATH=c:\programme\audio\pd - -# where do the flext libraries reside? -FLEXTPATH=$(PDPATH)\flext - -# where is MS VC++? -MSVCPATH=c:\programme\prog\microsoft visual studio\VC98 - -# where should the external be built? -OUTPATH=pd-msvc - -# should the external be installed? (yes/no) -INSTALL=yes - -# where should the external be installed? -INSTPATH=$(PDPATH)\extra +# VASP - vector assembling signal processor
+# Copyright (c) 2002-2003 Thomas Grill (xovo@gmx.net)
+#
+
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where do the flext libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is MS VC++?
+MSVCPATH=c:\programme\prog\microsoft visual studio\VC98
+
+# where should the external be built?
+OUTPATH=pd-msvc
+
+# should the external be installed? (yes/no)
+INSTALL=yes
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)\extra
diff --git a/externals/grill/vasp/source/buflib.cpp b/externals/grill/vasp/source/buflib.cpp index b1a9054e..3b92d1e9 100644 --- a/externals/grill/vasp/source/buflib.cpp +++ b/externals/grill/vasp/source/buflib.cpp @@ -68,7 +68,7 @@ BufEntry::BufEntry(const t_symbol *s,I fr,BL zero): refcnt(0),nxt(NULL) { if(zero) flext::ZeroMem(data,len*sizeof(*data)); -// ASSERT(!flext_base::GetThing(sym)); +// FLEXT_ASSERT(!flext_base::GetThing(sym)); // flext_base::SetThing(sym,this); } @@ -123,7 +123,7 @@ static V Collect() BufEntry *e,*p; for(p = NULL,e = libhead; e; ) { if(e->refcnt <= 0 && e->tick+LIBTOL < libtick) { - ASSERT(e->refcnt == 0); + FLEXT_ASSERT(e->refcnt == 0); BufEntry *n = e->nxt; diff --git a/externals/grill/vasp/source/env.cpp b/externals/grill/vasp/source/env.cpp index 010f888e..2f0fb58b 100644 --- a/externals/grill/vasp/source/env.cpp +++ b/externals/grill/vasp/source/env.cpp @@ -97,7 +97,7 @@ Env::Iter::Iter(const Env &bpl): bp(bpl),ppt(-BIG),npt(BIG),pvl(0),k(0) {} V Env::Iter::Init(R p) { I cnt = bp.Count(); - ASSERT(cnt > 0); + FLEXT_ASSERT(cnt > 0); if(p < bp.Pos(0)) { // position is before the head @@ -115,7 +115,7 @@ V Env::Iter::Init(R p) if(p >= bp.Pos(ix)) break; ppt = bp.Pos(ix); pvl = bp.Val(ix); - ASSERT(ix < cnt); + FLEXT_ASSERT(ix < cnt); } if(ix >= cnt) { |