amath  1.8.5
Simple command line calculator
ArcHaVersedSineNode Class Reference

An inverse haversed sine function in a syntax tree. More...

#include <archaversine.h>

Inheritance diagram for ArcHaVersedSineNode:
Collaboration diagram for ArcHaVersedSineNode:

Public Member Functions

 ArcHaVersedSineNode (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
ExpressionNodeexpression
 
char * name
 
char * sysname
 
- Protected Attributes inherited from ExpressionNode
Numberresult
 
- Protected Attributes inherited from SyntaxNode
CharBufferoutput
 
SyntaxNodeparent
 
SyntaxNodeiterator
 
bool leftBottom
 

Detailed Description

An inverse haversed sine function in a syntax tree.

More info on the haversed sine function is available at Wikipedia: https://wikipedia.org/wiki/Haversine

Definition at line 42 of file archaversine.h.

Constructor & Destructor Documentation

◆ ArcHaVersedSineNode()

ArcHaVersedSineNode::ArcHaVersedSineNode ( ExpressionNode expression,
char *  text,
char *  sys 
)
explicit

Definition at line 32 of file archaversine.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 * ArcHaVersedSineNode::Create ( ExpressionNode expression,
char *  text,
char *  sys 
)
static

Definition at line 37 of file archaversine.cpp.

References ArcHaVersedSineNode().

38 {
39  return new ArcHaVersedSineNode(expression, text, sys);
40 }
ArcHaVersedSineNode(ExpressionNode *expression, char *text, char *sys)
Here is the call graph for this function:

◆ Evaluate()

Number * ArcHaVersedSineNode::Evaluate ( )
virtual

Implements ExpressionNode.

Definition at line 42 of file archaversine.cpp.

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

43 {
45  return result;
46 }
virtual Number * ArcHaVerSine()=0
virtual Number * Evaluate()=0
Number * result
Definition: nodes.h:116
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: