1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
Version history:
0.1.3:
- CHANGE: exchanged #defines for templates in vector calculation loops
- FIX: bug for binary operations of complex vasps
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)
|