mirror of
https://gitlab.com/rnger/amath
synced 2026-10-15 12:06:03 +00:00
242 lines
5.1 KiB
Plaintext
242 lines
5.1 KiB
Plaintext
.TH "NumericValueNode" 3 "Tue Jan 24 2017" "Version 1.6.2" "amath" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
NumericValueNode \- Use of a numeric value in a syntax tree\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fC#include <values\&.h>\fP
|
|
.PP
|
|
Inherits \fBExpressionNode\fP\&.
|
|
.PP
|
|
Inherited by \fBComplexiNode\fP, \fBEulersNumberNode\fP, and \fBPiNode\fP\&.
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBNumericValueNode\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "\fBNumericValueNode\fP (\fBNumber\fP *value)"
|
|
.br
|
|
.ti -1c
|
|
.RI "virtual \fBReductionType\fP \fBGetReductionType\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "int \fBGetPrecedence\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "char * \fBGetText\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "\fBSyntaxNode\fP * \fBGetNext\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "\fBNumber\fP * \fBEvaluate\fP ()"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBAttach\fP (\fBSyntaxNode\fP *node)"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBDetach\fP (\fBSyntaxNode\fP *node)"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBReplace\fP (\fBSyntaxNode\fP *n, \fBSyntaxNode\fP *x)"
|
|
.br
|
|
.ti -1c
|
|
.RI "void \fBReplaceWith\fP (\fBNumber\fP *value)"
|
|
.br
|
|
.in -1c
|
|
.SS "Protected Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "char * \fBGetNodeText\fP ()"
|
|
.br
|
|
.in -1c
|
|
.SS "Additional Inherited Members"
|
|
.SH "Detailed Description"
|
|
.PP
|
|
Use of a numeric value in a syntax tree\&.
|
|
.PP
|
|
Definition at line 142 of file values\&.h\&.
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "NumericValueNode::NumericValueNode ()"
|
|
|
|
.PP
|
|
Definition at line 341 of file values\&.cpp\&.
|
|
.PP
|
|
References ExpressionNode::ExpressionNode(), and RealNumber::RealNumber()\&.
|
|
.PP
|
|
Referenced by Parser::ParseAtomic(), and Parser::ParseIdent()\&.
|
|
.PP
|
|
.nf
|
|
341 :
|
|
342 ExpressionNode(new RealNumber()) { }
|
|
.fi
|
|
.SS "NumericValueNode::NumericValueNode (\fBNumber\fP * value)"
|
|
|
|
.PP
|
|
Definition at line 344 of file values\&.cpp\&.
|
|
.PP
|
|
References ExpressionNode::ExpressionNode()\&.
|
|
.PP
|
|
Referenced by ComplexiNode::ComplexiNode(), EulersNumberNode::EulersNumberNode(), Parser::ParseNumber(), PiNode::PiNode(), and Optimizer::ReduceValueNodes()\&.
|
|
.PP
|
|
.nf
|
|
344 :
|
|
345 ExpressionNode(value) { }
|
|
.fi
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "void NumericValueNode::Attach (\fBSyntaxNode\fP * node)\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBSyntaxNode\fP\&.
|
|
.PP
|
|
Definition at line 381 of file values\&.cpp\&.
|
|
.PP
|
|
.nf
|
|
382 { }
|
|
.fi
|
|
.SS "void NumericValueNode::Detach (\fBSyntaxNode\fP * node)\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBSyntaxNode\fP\&.
|
|
.PP
|
|
Definition at line 384 of file values\&.cpp\&.
|
|
.PP
|
|
.nf
|
|
385 { }
|
|
.fi
|
|
.SS "\fBNumber\fP * NumericValueNode::Evaluate ()\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBExpressionNode\fP\&.
|
|
.PP
|
|
Definition at line 359 of file values\&.cpp\&.
|
|
.PP
|
|
References ExpressionNode::result\&.
|
|
.PP
|
|
Referenced by Optimizer::ReduceUnaryNodes(), and Optimizer::ReduceValueNodes()\&.
|
|
.PP
|
|
.nf
|
|
360 {
|
|
361 return result;
|
|
362 }
|
|
.fi
|
|
.SS "\fBSyntaxNode\fP * NumericValueNode::GetNext ()\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBSyntaxNode\fP\&.
|
|
.PP
|
|
Definition at line 376 of file values\&.cpp\&.
|
|
.PP
|
|
.nf
|
|
377 {
|
|
378 return NOMEM;
|
|
379 }
|
|
.fi
|
|
.SS "char * NumericValueNode::GetNodeText ()\fC [protected]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBExpressionNode\fP\&.
|
|
.PP
|
|
Reimplemented in \fBComplexiNode\fP, \fBPiNode\fP, and \fBEulersNumberNode\fP\&.
|
|
.PP
|
|
Definition at line 369 of file values\&.cpp\&.
|
|
.PP
|
|
References CharBuffer::ClearAndCopy(), CharBuffer::GetString(), NumeralSystem::GetText(), Program::Input, SyntaxNode::output, and ExpressionNode::result\&.
|
|
.PP
|
|
Referenced by GetText()\&.
|
|
.PP
|
|
.nf
|
|
370 {
|
|
371 const char *val = Program->Input->GetText(result);
|
|
372 output->ClearAndCopy(val);
|
|
373 return output->GetString();
|
|
374 }
|
|
.fi
|
|
.SS "int NumericValueNode::GetPrecedence ()\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBExpressionNode\fP\&.
|
|
.PP
|
|
Definition at line 352 of file values\&.cpp\&.
|
|
.PP
|
|
References Number::GetDefaultPrecedence(), Number::GetPrecedence(), SyntaxNode::leftBottom, and ExpressionNode::result\&.
|
|
.PP
|
|
.nf
|
|
353 {
|
|
354 return !leftBottom ?
|
|
355 result->GetPrecedence() :
|
|
356 result->GetDefaultPrecedence();
|
|
357 }
|
|
.fi
|
|
.SS "\fBReductionType\fP NumericValueNode::GetReductionType ()\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Reimplemented from \fBSyntaxNode\fP\&.
|
|
.PP
|
|
Reimplemented in \fBComplexiNode\fP, \fBPiNode\fP, and \fBEulersNumberNode\fP\&.
|
|
.PP
|
|
Definition at line 347 of file values\&.cpp\&.
|
|
.PP
|
|
References valuereduc\&.
|
|
.PP
|
|
Referenced by Optimizer::ReduceValueNodes()\&.
|
|
.PP
|
|
.nf
|
|
348 {
|
|
349 return valuereduc;
|
|
350 }
|
|
.fi
|
|
.SS "char * NumericValueNode::GetText ()\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBExpressionNode\fP\&.
|
|
.PP
|
|
Definition at line 364 of file values\&.cpp\&.
|
|
.PP
|
|
References GetNodeText()\&.
|
|
.PP
|
|
.nf
|
|
365 {
|
|
366 return GetNodeText();
|
|
367 }
|
|
.fi
|
|
.SS "void NumericValueNode::Replace (\fBSyntaxNode\fP * n, \fBSyntaxNode\fP * x)\fC [virtual]\fP"
|
|
|
|
.PP
|
|
Implements \fBSyntaxNode\fP\&.
|
|
.PP
|
|
Definition at line 387 of file values\&.cpp\&.
|
|
.PP
|
|
.nf
|
|
388 { }
|
|
.fi
|
|
.SS "void NumericValueNode::ReplaceWith (\fBNumber\fP * value)"
|
|
|
|
.PP
|
|
Definition at line 390 of file values\&.cpp\&.
|
|
.PP
|
|
References ExpressionNode::result\&.
|
|
.PP
|
|
Referenced by Optimizer::ReduceUnaryNodes()\&.
|
|
.PP
|
|
.nf
|
|
391 {
|
|
392 delete result;
|
|
393 result = value;
|
|
394 }
|
|
.fi
|
|
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for amath from the source code\&.
|