mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-24 00:00:44 +01:00
Initial import
This commit is contained in:
41
float_node.h
Normal file
41
float_node.h
Normal 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
|
||||
Reference in New Issue
Block a user