Commit 6daee7fd authored by Alvarez, Gonzalo's avatar Alvarez, Gonzalo
Browse files

Predicates

parent 7127a406
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -10,10 +10,9 @@ int main(int argc, char **argv)
	ExpressionCalculatorType::VectorStringType ve;
	PsimagLite::split(ve, argv[1], ",");

	PrepassDataType pd;

	PrepassDataType::VectorType vr(1,0.25);
	pd.names = "t";
	pd.values = vr;
	PrepassDataType pd("t", vr);

	PsimagLite::ExpressionPrepass<PrepassDataType>::prepass(ve,pd);

+7 −1
Original line number Diff line number Diff line
@@ -16,7 +16,13 @@ template<typename ComplexOrRealType>
struct PrepassData {
	typedef typename PsimagLite::Vector<ComplexOrRealType>::Type VectorType;

	PsimagLite::String names;
	PrepassData() {}

	PrepassData(String names_, const VectorType& values_)
	    : names(names_), values(values_)
	{}

	String names;
	VectorType values;
};

+2 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ public:
	PredicateAwesome(String pred)
	    : pred_(pred)
	{
		if (pred_ == "") return;
		VectorStringType tokens;
		split(tokens, pred, ",");
		const SizeType n = tokens.size();
@@ -76,6 +77,7 @@ public:
	template<typename T>
	bool isTrue(String name, T val)
	{
		if (pred_ == "") return false;
		SizeType n = predicateAnd_.size();
		for (SizeType i = 0; i < n; ++i)
			if (predicateAnd_[i].isTrue(name, val)) return true;
+1 −1
Original line number Diff line number Diff line
#ifndef PSIMAGLITE_VERSION
#define PSIMAGLITE_VERSION "2.60"
#define PSIMAGLITE_VERSION "2.61"
#endif