![]() |
Definition in file MathUtils.h.
#include "mc/Setup.h"
#include <wx/bitmap.h>
#include <wx/log.h>
#include "wx/xml2.h"
Include dependency graph for MathUtils.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Defines | |
#define | mcLOG |
#define | mcMATHLOG |
#define | mcGUILOG |
#define | mcIOLOG |
#define | mcSOLVERLOG |
#define | mcTXT(x) ((x).io_GetInlinedExpr().c_str()) |
Gets the C inlined string for the given mcElement-derived object. | |
#define | mcTXTP(x) ((x)->io_GetInlinedExpr().c_str()) |
Same as mcTXT but this macro works with a pointer. | |
#define | mcTXTV(x) ((x).GetSmartStr().c_str()) |
Returns the inlined expression of a mcValue-derived class. | |
#define | mcTXTTHIS (this->io_GetInlinedExpr().c_str()) |
Same as mcTXTP but fixed on *this. | |
#define | wxStrcpy strcpy |
#define | mcIMPORT |
#define | mcNewAddOp() mcElementHelpers::data_NewElem(mcET_ADDOP) |
#define | mcNewSubOp() mcElementHelpers::data_NewElem(mcET_SUBOP) |
#define | mcNewMultOp() mcElementHelpers::data_NewElem(mcET_MULTOP) |
#define | mcNewDivOp() mcElementHelpers::data_NewElem(mcET_DIVOP) |
#define | mcNewSymbol() mcElementHelpers::data_NewElem(mcET_SYMBOL) |
#define | mcNewEmptyBox() mcElementHelpers::data_NewElem(mcET_EMPTYBOX) |
#define | mcNewNumber() mcElementHelpers::data_NewElem(mcET_NUMBER) |
#define | mcNewFunction() mcElementHelpers::data_NewElem(mcET_FUNCTION) |
#define | mcNewFraction() mcElementHelpers::data_NewElem(mcET_FRACTION) |
#define | mcNewBracket() mcElementHelpers::data_NewElem(mcET_BRACKET) |
#define | mcNewMonomial() mcElementHelpers::data_NewElem(mcET_MONOMIAL) |
#define | mcNewPolynomial() mcElementHelpers::data_NewElem(mcET_POLYNOMIAL) |
#define | wxDEFINE_CLASS(x) |
math_Adds the given classname to the wxWidgets RTTI system. | |
#define | wxIMPLEMENT_CLASS(x, y) |
Implements the wxWidgets RTTI support for the class x (which must derive from the class y ). | |
#define | mcDEFINE_CUSTOM_CLONE_FNC(x) mc##x x##Clone() const; |
#define | mcDEFINE_HELPER_GETMEMORYINFO_FNC(x) |
#define | mcDEFINE_DEBUGNAME_FNC(x) |
#define | mcDEFINE_HELPER_CLONE_FNC(x) |
#define | mcDEFINE_HELPER_GETTYPE_FNC(x) mcElementType data_GetType() const { return x; } |
#define | mcDEFINE_ASSIGNMENT_OPERATOR(x) |
#define | mcDEFINE_COMPARISON_OPERATORS(x) |
#define | mcDEFINE_ABSTRACT_CONSTRUCTORS(x, baseclass) |
#define | mcDEFINE_MAIN_CONSTRUCTORS(x, baseclass) |
#define | mcDEFINE_REFERENCE_DATA(x, type) |
#define | mcGETTER inline |
#define | mcWRAPPER inline |
#define | mcDEFINE_HLP_GETTER(x) |
#define | mcDEFINE_HLP_CP_GETTER(x) |
#define | mcDEFINE_CLASS(x) |
#define | mcDEFINE_HELPER_CLASSES(x) |
#define | mcDEFINE_ABSTRACT_CLASS(x, baseclass) |
#define | mcDEFINE_MAIN_CLASS(x, baseclass) |
#define | mcIMPLEMENT_HLP_GETTER(x) |
#define | mcIMPLEMENT_HLP_CP_GETTER(x) |
#define | mcIMPLEMENT_MAIN_CLASS(x, baseclass) |
#define | mcIMPLEMENT_ABSTRACT_CLASS(x, baseclass) |
#define | mcCREATE_HELPER_CLASSES(x) data_SetRefData(new x##Helpers()); |
#define | mcSAFE_DELETE(x) { if (x) delete x; x = NULL; } |
#define | mcSAFE_DELETE_ARRAY(x) { if (x) delete [] x; x = NULL; } |
#define | mcRETURN_ELEMENT_CHILD(n, baseclass) |
#define | mcSET_ELEMENT_CHILD(n, baseclass, p) |
#define | mcSIGN(x) (((x) < 0) ? -1 : 1) |
#define | mcMAX(x, y) (((x) < (y)) ? (y) : (x)) |
#define | mcMIN(x, y) (((x) < (y)) ? (x) : (y)) |
#define | mcSWAP(type, x, y) { type tmp = x; x = y; y = tmp; } |
#define | mcDBL_MAX 1.7976931348623157e+308 |
#define | mcINT_MAX 2147483647 |
#define | mcGETRED(c) (((wxInt32)(c)) & 255) |
#define | mcGETGREEN(c) ((((wxInt32)(c)) >> 8) & 255) |
#define | mcGETBLUE(c) ((((wxInt32)(c)) >> 16) & 255) |
#define | mcINITWX(x) (wxColour(mcGETRED(x), mcGETGREEN(x), mcGETBLUE(x))) |
#define | mcRGB_ENCODE(r, g, b) |
#define | mcUNUSED(x) { x == x; } |
#define | mcEXTEND_ARRAY(type, parray, oldsize, newsize) |
#define | mcASSERT(x, desc) wxASSERT_MSG(x, wxT("\n\n") desc wxT("\n\n")); |
|
|
Referenced by mcAddSubOp::mcAddSubOp(), and mcMultDivOp::mcMultDivOp(). |
|
|
|
Value: public: \ mcDEFINE_CLASS(x) \ mcDEFINE_ABSTRACT_CONSTRUCTORS(mc##x, baseclass) |
|
Value: x(const mcElementHelpers *p) : baseclass(p) { data_CheckContainer(); } \ x(const mcElement &v) : baseclass(v.hlp()) { data_CheckContainer(); } \ x(const x &toref) { data_Ref(toref); } \ x() { /* cannot create our helpers since we're abstract... */ } \ virtual ~x() {} |
|
Value: x &operator=(const x &e) \ { if (this != &e) { data_UnRef(); data_Ref(e); } return *this; } |
|
Value: mcDEFINE_HLP_GETTER(mc##x) \ mcDEFINE_HLP_CP_GETTER(mc##x) \ mcDEFINE_ASSIGNMENT_OPERATOR(mc##x) \ mcDEFINE_COMPARISON_OPERATORS(mc##x) \ mcDEFINE_DEBUGNAME_FNC(mc##x) Referenced by mcMathLine::phlp(). |
|
Value: bool operator==(const x &e) const \ { const mcElementHelpers *data = (const mcElementHelpers *)e.data_GetRefData(); \ return data_GetRefData() ? (data && chlp()->data_isSameAs(data)) : !data; } \ bool operator!=(const x &e) const { return !(*this == e); } |
|
|
|
Value: wxString data_GetDebugName() const \
{ return wxT(#x); }
|
|
Value: class x; \ class x##Helpers; |
|
Value: virtual mcElementHelpers *data_Clone() const { \ x##Helpers *clone = new x##Helpers(); \ clone->data_DeepCopy(this); \ return clone; \ } |
|
Value: int data_GetMemoryInfo() const \ { return sizeof(x##Helpers); } |
|
|
|
Value: |
|
Value: |
|
Value: public: \ mcDEFINE_CLASS(x) \ mcDEFINE_MAIN_CONSTRUCTORS(mc##x, baseclass) |
|
Value: x(const mcElementHelpers *p) : baseclass(p) { data_CheckContainer(); } \ x(const mcElement &v) : baseclass(v.hlp()) { data_CheckContainer(); } \ x(const x &toref) { data_Ref(toref); } \ x() { data_SetRefData(new x##Helpers); } \ virtual ~x() {} |
|
Value: public: \ mcDEFINE_HELPER_GETMEMORYINFO_FNC(x) \ mcDEFINE_HELPER_CLONE_FNC(x) \ mcDEFINE_HELPER_GETTYPE_FNC(type) \ mcDEFINE_DEBUGNAME_FNC(x) |
|
Value: { \ type *pnew = new type[newsize]; \ for (int e=0; e < oldsize; e++) \ pnew[e] = parray[e]; \ delete [] parray; \ parray = pnew; \ } Referenced by mcElementArrayHelpers::data_CheckArrayLimit(). |
|
|
|
|
|
|
|
|
|
|
|
|
Value: |
|
Value: |
|
|
|
Definition at line 223 of file MathUtils.h. |
|
Referenced by mcElementHelpers::gui_InitDefaultStyles(). |
|
|
|
|
|
|
|
Referenced by mcMultDivOpHelpers::gui_Draw(), mcElementArrayHelpers::gui_ExOnSelect(), mcElementArrayHelpers::gui_GetSelectionRect(), mcMathType::math_Add(), and mcGMPRealloc(). |
|
Definition at line 235 of file MathUtils.h. |
|
Definition at line 244 of file MathUtils.h. |
|
Definition at line 238 of file MathUtils.h. |
|
Definition at line 240 of file MathUtils.h. |
|
Definition at line 243 of file MathUtils.h. |
|
Definition at line 242 of file MathUtils.h. |
|
Definition at line 245 of file MathUtils.h. Referenced by mcMonomialHelpers::math_GetCoeff(). |
|
Definition at line 237 of file MathUtils.h. |
|
Definition at line 241 of file MathUtils.h. |
|
Definition at line 246 of file MathUtils.h. |
|
Definition at line 236 of file MathUtils.h. |
|
Definition at line 239 of file MathUtils.h. |
|
Value: if (n < baseclass::data_GetChildrenCount()) \ return baseclass::data_GetConstChild(n); \ n -= baseclass::data_GetChildrenCount(); Referenced by mcTextHelpers::data_GetConstChild(), mcMathMngHelpers::data_GetConstChild(), mcFunctionHelpers::data_GetConstChild(), mcFractionHelpers::data_GetConstChild(), mcExpElementHelpers::data_GetConstChild(), mcExpContainerHelpers::data_GetConstChild(), and mcElementArrayHelpers::data_GetConstChild(). |
|
Value: (wxUint32) ((wxUint8)(r) | \ ((wxUint16)(g) << 8)) | (((wxUint32)((b) << 16)) |
|
|
Referenced by mcElementArrayHelpers::~mcElementArrayHelpers(). |
|
Value: if (n < baseclass::data_GetChildrenCount()) { \ baseclass::data_SetChild(n, p); \ return; \ } \ n -= baseclass::data_GetChildrenCount(); Referenced by mcTextHelpers::data_SetChild(), mcFunctionHelpers::data_SetChild(), mcFractionHelpers::data_SetChild(), mcExpElementHelpers::data_SetChild(), mcExpContainerHelpers::data_SetChild(), and mcElementArrayHelpers::data_SetChild(). |
|
|
|
Definition at line 146 of file MathUtils.h. Referenced by mcBisectSolver::math_Bisect(), mcExpandSolver::math_SolveLine(), mcSimplifySolver::math_SolveLine(), and mcBisectSolver::math_SolveLine(). |
|
Referenced by mcElementArrayHelpers::data_GetOpTypeBetween(), and mcElementArrayHelpers::math_Compare(). |
|
|
Same as mcTXT but this macro works with a pointer.
Definition at line 155 of file MathUtils.h. Referenced by mcElementHelpers::math_EvaluateAt(), mcPolynomialHelpers::math_GetCoeffOf(), mcSolver::math_PreSolve(), mcPolySolver::math_SolveLine(), mcExpandSolver::math_SolveLine(), mcSimplifySolver::math_SolveLine(), and mcBisectSolver::math_SolveLine(). |
|
|
Returns the inlined expression of a mcValue-derived class.
Definition at line 158 of file MathUtils.h. Referenced by mcNumberHelpers::math_Add(), mcMonomialHelpers::math_Add(), mcBisectSolver::math_Bisect(), mcElementHelpers::math_EvaluateAt(), mcPolynomialHelpers::math_RaiseTo(), mcBisectSolver::math_SolveLine(), and mcPolynomialHelpers::math_SyncCoeffWithSigns(). |
|
|
|
math_Adds the given classname to the wxWidgets RTTI system.
Definition at line 252 of file MathUtils.h. |
|
Implements the wxWidgets RTTI support for the class
Definition at line 256 of file MathUtils.h. |
|
Definition at line 172 of file MathUtils.h. |
[ Top ] |