From f627d3fed905ef8288c3b6bbc18e195495fea96b Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Sun, 23 Feb 2003 04:39:30 +0000 Subject: "" svn path=/trunk/; revision=424 --- externals/grill/vasp/changes.txt | 237 +++++++++++++++--------------- externals/grill/vasp/config-pd-darwin.txt | 66 ++++----- externals/grill/vasp/config-pd-linux.txt | 60 ++++---- externals/grill/vasp/config-pd-msvc.txt | 42 +++--- externals/grill/vasp/source/buflib.cpp | 4 +- externals/grill/vasp/source/env.cpp | 4 +- 6 files changed, 207 insertions(+), 206 deletions(-) (limited to 'externals/grill/vasp') 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) { -- cgit v1.2.1