amath  1.8.5
Simple command line calculator
TruncNode Class Reference

A truncation function in a syntax tree. More...

#include <trunc.h>

Inheritance diagram for TruncNode:
Collaboration diagram for TruncNode:

Public Member Functions

 TruncNode (ExpressionNode *expression, char *text, char *sys)
NumberEvaluate ()
- Public Member Functions inherited from FunctionNode
 FunctionNode (ExpressionNode *expression, char *text, char *sys)
 ~FunctionNode ()
int GetPrecedence ()
char * GetText ()
virtual SyntaxNodeGetNext ()
virtual void Attach (SyntaxNode *node)
virtual void Detach (SyntaxNode *node)
virtual void Replace (SyntaxNode *n, SyntaxNode *x)
- Public Member Functions inherited from ExpressionNode
 ExpressionNode ()
 ExpressionNode (Number *value)
virtual ~ExpressionNode ()
NodeType GetNodeType ()
virtual bool IsSilent ()
char * GetTextCode ()
char * Execute ()
- Public Member Functions inherited from SyntaxNode
 SyntaxNode ()
virtual ~SyntaxNode ()
void SetFirstNode ()
bool GetFirstNode () const
SyntaxNodeGetParent () const
void SetParent (SyntaxNode *node)
virtual ReductionType GetReductionType ()
virtual void ResetIterator ()

Static Public Member Functions

static FunctionNodeCreate (ExpressionNode *expression, char *text, char *sys)

Additional Inherited Members

- Protected Member Functions inherited from FunctionNode
virtual char * GetNodeText ()
- Protected Attributes inherited from FunctionNode
char * name
char * sysname
- Protected Attributes inherited from ExpressionNode
- Protected Attributes inherited from SyntaxNode
bool leftBottom

Detailed Description

A truncation function in a syntax tree.

Discard the number of digits right of the decimal point. See Number for implementation.

More info on the truncation function is available at Wikipedia:

Definition at line 45 of file trunc.h.

Constructor & Destructor Documentation

◆ TruncNode()

TruncNode::TruncNode ( ExpressionNode expression,
char *  text,
char *  sys 

Definition at line 32 of file trunc.cpp.

References FunctionNode::FunctionNode().

Referenced by Create().

32  :
33  FunctionNode(expression, text, sys)
34 {
35 }
FunctionNode(ExpressionNode *expression, char *text, char *sys)
Definition: node.cpp:34
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ Create()

FunctionNode * TruncNode::Create ( ExpressionNode expression,
char *  text,
char *  sys 

Definition at line 37 of file trunc.cpp.

References TruncNode().

38 {
39  return new TruncNode(expression, text, sys);
40 }
TruncNode(ExpressionNode *expression, char *text, char *sys)
Definition: trunc.cpp:32
Here is the call graph for this function:

◆ Evaluate()

Number * TruncNode::Evaluate ( )

Implements ExpressionNode.

Definition at line 42 of file trunc.cpp.

References ExpressionNode::Evaluate(), FunctionNode::expression, ExpressionNode::result, and Number::Trunc().

43 {
45  return result;
46 }
virtual Number * Evaluate()=0
Number * result
Definition: nodes.h:116
virtual Number * Trunc()=0
ExpressionNode * expression
Definition: node.h:66
Here is the call graph for this function:

The documentation for this class was generated from the following files: