aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vasp')
-rw-r--r--externals/grill/vasp/changes.txt237
-rwxr-xr-xexternals/grill/vasp/config-pd-darwin.txt66
-rw-r--r--externals/grill/vasp/config-pd-linux.txt60
-rw-r--r--externals/grill/vasp/config-pd-msvc.txt42
-rw-r--r--externals/grill/vasp/source/buflib.cpp4
-rw-r--r--externals/grill/vasp/source/env.cpp4
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) {