Initial import

This commit is contained in:
Romain Goyet
2018-06-12 13:56:20 +02:00
commit 3cd1015614
11 changed files with 677 additions and 0 deletions

41
float_node.h Normal file
View File

@@ -0,0 +1,41 @@
#ifndef FLOAT_NODE_H
#define FLOAT_NODE_H
#include "expression_reference.h"
#include "expression_node.h"
class FloatNode : public ExpressionNode {
public:
FloatNode(int identifier) : ExpressionNode(identifier) {
printf("Create float\n");
}
size_t size() const override {
return sizeof(FloatNode);
}
float approximate() override {
return m_value;
}
#if TREE_LOGGING
const char * description() const override {
if (m_value > 1) {
return "BigFloat";
} else {
return "SmallFloat";
}
}
#endif
void setFloat(float f) { m_value = f; }
private:
float m_value;
};
class Float : public ExpressionReference<FloatNode> {
public:
Float(float f) : ExpressionReference<FloatNode>() {
this->node()->setFloat(f);
}
};
//typedef ExpressionReference<FloatNode> Float;
#endif