aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp/source/vasp.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vasp/source/vasp.h')
-rw-r--r--externals/grill/vasp/source/vasp.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/externals/grill/vasp/source/vasp.h b/externals/grill/vasp/source/vasp.h
index 94e1ad73..3f76b5bd 100644
--- a/externals/grill/vasp/source/vasp.h
+++ b/externals/grill/vasp/source/vasp.h
@@ -60,13 +60,8 @@ public:
Vasp &operator =(const Vasp &v);
Vasp &operator ()(I argc,const t_atom *argv /*,BL withvasp = false*/);
- // add another vector
- Vasp &operator +=(const Ref &r);
- // add vectors of another vasp
- Vasp &operator +=(const Vasp &v);
-
// set used channels to 0
- Vasp &Clear() { frames = 0; chns = 0; return *this; }
+ Vasp &Clear();
// used vectors
I Vectors() const { return chns; }
@@ -83,13 +78,13 @@ public:
V FramesR(R f) { if(f) FramesM(1./f); else Frames(0); }
// set buffer sizes
- V Size(I fr);
+ V Size(I fr,BL keep = true);
// set frame count differentially
- V SizeD(I frd);
+ V SizeD(I frd,BL keep = true);
// set frame count
- V SizeM(R f);
+ V SizeM(R f,BL keep = true);
// set frame count
- V SizeR(R f) { if(f) SizeM(1./f); else Size(0); }
+ V SizeR(R f,BL keep = true) { if(f) SizeM(1./f,keep); else Size(0,false); }
// actual length of the vasp (in frames)
I ChkFrames() const;
@@ -120,6 +115,9 @@ public:
// get buffer associated to a channel
VBuffer *Buffer(I ix) const;
+ // add another vector
+ Vasp &AddVector(const Ref &r);
+
// Real/Complex
VBuffer *ReBuffer() const { return Buffer(0); }
VBuffer *ImBuffer() const { return Buffer(1); }
@@ -141,4 +139,20 @@ protected:
V Resize(I rcnt);
};
+/*! \brief Checked vasp
+ \remark Only use that for immediate operation!
+*/
+class CVasp:
+ public Vasp
+{
+public:
+ CVasp();
+ CVasp(const Vasp &v);
+
+ // add vectors of another vasp
+ CVasp &operator +=(const CVasp &v);
+
+};
+
+
#endif