|
#define | MESSAGE_STAGE_CONVERSION -4 |
| Message stages.
|
|
#define | MESSAGE_STAGE_CONVERSION_PARSING -3 |
|
#define | MESSAGE_STAGE_CALCULATION -2 |
|
#define | MESSAGE_STAGE_PARSING -1 |
|
#define | MESSAGE_STAGE_UNSET 0 |
|
#define | MESSAGE_CATEGORY_NONE 0 |
| Message categories.
|
|
#define | MESSAGE_CATEGORY_PARSING 1 |
|
#define | MESSAGE_CATEGORY_WIDE_INTERVAL 10 |
|
#define | MESSAGE_CATEGORY_IMPLICIT_MULTIPLICATION 11 |
|
#define | UFV_LENGTHS 20 |
|
|
typedef std::vector< Prefix * > | p_type |
|
|
enum | MessageType { MESSAGE_INFORMATION,
MESSAGE_WARNING,
MESSAGE_ERROR
} |
| Message types.
|
|
enum | AutomaticFractionFormat { AUTOMATIC_FRACTION_OFF,
AUTOMATIC_FRACTION_SINGLE,
AUTOMATIC_FRACTION_AUTO,
AUTOMATIC_FRACTION_DUAL
} |
|
enum | AutomaticApproximation { AUTOMATIC_APPROXIMATION_OFF,
AUTOMATIC_APPROXIMATION_SINGLE,
AUTOMATIC_APPROXIMATION_AUTO,
AUTOMATIC_APPROXIMATION_DUAL
} |
|
enum | {
VARIABLE_ID_I = 200,
VARIABLE_ID_PLUS_INFINITY = 201,
VARIABLE_ID_MINUS_INFINITY = 202,
VARIABLE_ID_UNDEFINED = 203,
VARIABLE_ID_X = 300,
VARIABLE_ID_Y = 301,
VARIABLE_ID_Z = 302,
VARIABLE_ID_N = 303,
VARIABLE_ID_C = 304,
VARIABLE_ID_PERCENT = 350,
VARIABLE_ID_PERMILLE = 351,
VARIABLE_ID_PERMYRIAD = 352
} |
|
enum | {
UNIT_ID_EURO = 510,
UNIT_ID_BYN = 515,
UNIT_ID_BTC = 520,
UNIT_ID_SECOND = 550,
UNIT_ID_MINUTE = 551,
UNIT_ID_HOUR = 552,
UNIT_ID_DAY = 553,
UNIT_ID_MONTH = 554,
UNIT_ID_YEAR = 555,
UNIT_ID_KELVIN = 560,
UNIT_ID_RANKINE = 561,
UNIT_ID_CELSIUS = 562,
UNIT_ID_FAHRENHEIT = 563
} |
|
enum | {
ELEMENT_CLASS_NOT_DEFINED,
ALKALI_METALS,
ALKALI_EARTH_METALS,
LANTHANIDES,
ACTINIDES,
TRANSITION_METALS,
METALS,
METALLOIDS,
NONMETALS,
HALOGENS,
NOBLE_GASES,
TRANSACTINIDES
} |
|
enum | TemperatureCalculationMode { TEMPERATURE_CALCULATION_HYBRID,
TEMPERATURE_CALCULATION_ABSOLUTE,
TEMPERATURE_CALCULATION_RELATIVE
} |
|
virtual Argument * copy() const
virtual std::string subprintlong() const
bool suffix
If the name has a suffix. If set to true, the part of the name after an underscore should be treated ...
Definition: ExpressionItem.h:27
void setSubfunction(size_t index, std::string subfunction)
bool nameTaken(std::string name, ExpressionItem *object=NULL)
virtual std::string print() const
int intValue(bool *overflow=NULL) const
std::string getExchangeRatesUrl(int index=1)
virtual const ExpressionName & preferredName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
@ SUBTYPE_COMPOSITE_UNIT
class CompositeUnit
Definition: Unit.h:24
void setUnicodeName(std::string unicode_name)
const std::string & getDecimalPoint() const
std::string getPropertyInputString(DataProperty *property)
int y_log_base
Logarithimic base for the y-axis. Default: 10.
Definition: Calculator.h:110
A date argument.
Definition: Function.h:568
bool keep_prefixes
If unit prefixes in original expression will be kept. Default: false.
Definition: includes.h:677
std::string formula() const
bool brackets_as_parentheses
Interpret square brackets equally to parentheses (not only for vectors/matrices). Default; false.
Definition: includes.h:648
virtual size_t hasNameCaseSensitive(const std::string &sname) const
void setFormula(std::string new_formula, int argc_=-1, int max_argc_=0)
bool convert(Unit *u, MathStructure &mvalue, MathStructure &exp) const
FunctionSubtype
Type of mathematical function.
Definition: Function.h:53
virtual Argument * copy() const
@ SUBTYPE_KNOWN_VARIABLE
class KnownVariable
Definition: Variable.h:70
Number imaginaryPart() const
bool auto_x_min
If the minimum x-axis value shall be set automatically (otherwise uses x_min). Default: true.
Definition: Calculator.h:92
Abstract base class for variables with a value which is recalculated when the precision has changed.
Definition: Variable.h:356
@ ASSUMPTION_SIGN_NEGATIVE
x < 0
Definition: Variable.h:56
void childrenUpdated(bool recursive=false)
bool loadGlobalDataSets()
Data object function argument.
Definition: DataSet.h:282
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
size_t parseAddId(MathFunction *f, const std::string &str, const ParseOptions &po, bool persistent=false)
std::string localizeExpression(std::string str, const ParseOptions &po=default_parse_options) const
virtual std::string subprintlong() const
virtual bool isApproximate() const
ApproximationMode approximation
How exact the result must be. Default: TRY_EXACT.
Definition: includes.h:671
BinaryPrefix * getOptimalBinaryPrefix(int exp2, int exp=1) const
MathStructure convertTimeOut(std::string str, Unit *from_unit, Unit *to_unit, int milliseconds, const EvaluationOptions &eo=default_user_evaluation_options)
const std::string & unicodeName(bool return_short_if_no_uni=true) const
int base
Base of parsed numbers. Default: 10.
Definition: includes.h:635
int min_decimals
Minimum number of decimals to display for numbers. Default: 0.
Definition: includes.h:459
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
@ SUBTYPE_DATA_SET
class DataSet
Definition: Function.h:59
Parameters for plot data series.
Definition: Calculator.h:125
Options for calculation.
Definition: includes.h:669
virtual Number value() const =0
MathStructure & operator[](size_t index)
virtual std::string print() const
virtual const std::string & category() const
std::string printCondition()
bool hasFunction(MathFunction *f)
bool sync_units
If units will be synced/converted to allow evaluation (ex. 1 min + 1 s=60 s+ 1 s = 61 s)....
Definition: includes.h:673
bool isKnown() const
Definition: Variable.h:294
int precision(int calculate_from_interval=0) const
bool test_continuous
Check if data is continuous.
Definition: Calculator.h:137
bool show_ending_zeroes
Show ending zeroes for approximate numbers to indicate precision (ex.1.2300000 instead of 1....
Definition: includes.h:421
bool local_currency_conversion
Convert to local currency when optimal conversion is enabled.
Definition: includes.h:721
The almighty calculator class.
Definition: Calculator.h:266
std::string printlong() const
bool completion_only
Use only for completion (useful for unicode letter alternatives)
Definition: ExpressionItem.h:39
virtual const ExpressionName & findName(int abbreviation=-1, int use_unicode=-1, int plural=-1, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
bool loadLocalDefinitions()
NumberFractionFormat number_fraction_format
If rational numbers will be displayed with decimals, as a fraction, or something in between....
Definition: includes.h:417
void setUndefined(bool preserve_precision=false)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
@ INTERVAL_CALCULATION_NONE
Ignores uncertainties and uses the middle value of intervals.
Definition: includes.h:615
Definition: Function.h:697
std::string condition() const
bool preserve_format
Preserves the format of the structure (no sorting, no changed prefixes, no improved division multipli...
Definition: includes.h:487
@ FRACTION_COMBINED
Display as an integer and a fraction (ex. 3 + 1/2)
Definition: includes.h:347
virtual int type() const =0
bool prefix_currencies
Put currency units before quantity. Default: true.
Definition: includes.h:353
bool auto_x_max
If the maximum x-axis value shall be set automatically (otherwise uses x_max). Default: true.
Definition: Calculator.h:96
@ ASSUMPTION_TYPE_NONE
Multiplication is NOT commutative; do not use.
Definition: Variable.h:36
virtual std::string print() const
virtual std::string print() const
void setZeroForbidden(bool forbid_zero)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
virtual bool representsPositive(bool=false)
Definition: Variable.h:476
bool allow_complex
If complex numbers will be used for evaluation. Default: true.
Definition: includes.h:693
void restoreState()
Deprecated: does nothing.
void addBuiltinVariables()
int x_log_base
Logarithimic base for the x-axis. Default: 10.
Definition: Calculator.h:112
virtual std::string subprintlong() const
void setNonlocalizedKeyProperty(DataProperty *property, std::string s_value)
@ SUBTYPE_USER_FUNCTION
class UseFunction
Definition: Function.h:57
A a data set object.
Definition: DataSet.h:24
bool loadGlobalDefinitions()
virtual const std::string & title(bool return_name_if_no_title=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual bool isActive() const
virtual bool representsPositive(bool=false)
Definition: Variable.h:149
bool plural
If the name is in plural form.
Definition: ExpressionItem.h:31
int exponent(int iexp=1) const
ParsingMode
Definition: includes.h:601
Unit * getBestUnit(Unit *u, bool allow_only_div=false, bool convert_to_local_currency=true)
A function argument.
Definition: Function.h:660
ExpressionItemType
Type of ExpressionItem.
Definition: includes.h:71
bool zeroForbidden() const
AutoPostConversion auto_post_conversion
If and how units will be automatically converted. Does not affect syncing of units....
Definition: includes.h:705
void setRegistered(bool is_registered)
For internal use.
const ExpressionName & preferredDisplayName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual std::string subprintlong() const
ComplexNumberForm complex_number_form
Complex number form. Default: COMPLEX_NUMBER_FORM_RECTANGULAR.
Definition: includes.h:719
void clearVector(bool preserve_precision=false)
IntervalDisplay interval_display
How number intervals will be displayed. Default: INTERVAL_DISPLAY_INTERVAL.
Definition: includes.h:501
bool test(MathStructure &value, int index, MathFunction *f, const EvaluationOptions &eo=default_evaluation_options) const
DecimalPrefix(int exp10, std::string long_name, std::string short_name="", std::string unicode_name="")
void setArgumentDefinition(size_t index, Argument *argdef)
virtual void set(const Argument *arg)
void saveState()
Deprecated: does nothing.
A variable with unknown value.
Definition: Variable.h:176
virtual const ExpressionName & getName(size_t index) const
PlotLegendPlacement
Placement of legend.
Definition: includes.h:223
@ SUBTYPE_UNKNOWN_VARIABLE
class UnknownVariable
Definition: Variable.h:68
CalculatorMessage * nextMessage()
size_t addId(MathStructure *mstruct, bool persistent=false)
void abortPrint(void)
Deprecated: use abort()
Options for ordering the parts of a mathematical expression/result before display.
Definition: includes.h:351
Options for parsing expressions.
Definition: includes.h:623
bool RPNStackEnter(MathStructure *mstruct, int msecs, const EvaluationOptions &eo=default_user_evaluation_options)
A decimal (metric) prefix.
Definition: Prefix.h:199
@ SUBTYPE_ALIAS_UNIT
class AliasUnit
Definition: Unit.h:22
DivisionSign division_sign
Sign used for display of division. Default: DIVISION_SIGN_DIVISION_SLASH.
Definition: includes.h:451
bool comma_as_separator
If true commas will ignored if another character is the default decimal sign, to allow commas to be u...
Definition: includes.h:646
NumberPrefix(const Number &nr, std::string long_name, std::string short_name="", std::string unicode_name="")
virtual bool isParentOf(Unit *u) const
virtual std::string print() const
A text argument.
Definition: Function.h:547
bool restrict_fraction_length
Restrict the length of numerators and demonitor as integers in decimal mode for fractional display of...
Definition: includes.h:495
int assume_denominators_nonzero
If simplification will be made easier by assuming that denominators with unknown value not is zero....
Definition: includes.h:697
DigitGrouping digit_grouping
Digit grouping separator. Default: DIGIT_GROUPING_NONE.
Definition: includes.h:503
bool calculateRPNLogicalNot(int msecs, const EvaluationOptions &eo=default_user_evaluation_options, MathStructure *parsed_struct=NULL)
void clear(bool preserve_precision=false)
ApproximationMode
Definition: includes.h:535
bool preserve_format
Preserve the expression structure as much as possible. Default: false.
Definition: includes.h:654
bool allow_factorization
Allows factorization to occur in the output (should be set to true if the structure has been factoriz...
Definition: includes.h:489
virtual MathStructure parse(const std::string &str, const ParseOptions &po=default_parse_options) const
void clearArgumentDefinitions()
bool abbreviate_names
Prefer abbreviated names of variables, units, functions etc. Default: true.
Definition: includes.h:423
bool improve_division_multipliers
Multiply numerator and denominator to get integers (ex. (6x+y)/2z instead of (3x+0....
Definition: includes.h:469
std::string printMathStructureTimeOut(const MathStructure &mstruct, int milliseconds=100000, const PrintOptions &op=default_print_options)
Deprecated: use print() instead.
const std::string & shortName(bool return_long_if_no_short=true, bool use_unicode=false) const
bool excessive_parenthesis
Use parentheses even when not necessary. Default: false.
Definition: includes.h:455
virtual std::string subprintlong() const
bool do_polynomial_division
Use polynomial division to simplify the result. Default: true.
Definition: includes.h:715
DecimalPrefix * getOptimalDecimalPrefix(int exp10, int exp=1, bool all_prefixes=true) const
@ STRUCTURING_EXPAND
Simplify the result as much as possible and expand (minimal factorization, normally the same as STRUC...
Definition: includes.h:552
const ExpressionName & preferredInputName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
bool isInfinite(bool ignore_imag=true) const
bool keep_zero_units
If units with zero quantity will be preserved. Default: true.
Definition: includes.h:703
Definition: Variable.h:484
virtual const std::string & description() const
bool loadGlobalCurrencies()
void addBuiltinFunctions()
virtual std::string print() const
PlotLegendPlacement legend_placement
Where the plot legend shall be placed. Default: PLOT_LEGEND_TOP_RIGHT.
Definition: Calculator.h:120
DataProperty(DataSet *parent_set, std::string s_name="", std::string s_title="", std::string s_description="")
void setValue(const Number &nr)
virtual Argument * copy() const
float x_min
Minimum x-axis value.
Definition: Calculator.h:100
A definition for integer arguments.
Definition: Function.h:489
virtual std::string subprintlong() const
bool hexadecimal_twos_complement
Negative hexadecimal numbers uses two's complement representation. All hexadecimal numbers starting w...
Definition: includes.h:662
const std::string & getNonlocalizedKeyProperty(DataProperty *property)
void setAssumptions(Assumptions *ass)
bool rpn
If Reverse Polish Notation syntax will be used. Default: false (deprecated, use parsing_mode = PARSIN...
Definition: includes.h:633
void setExponent(int iexp)
std::string calculateAndPrint(std::string str, int msecs=10000, const EvaluationOptions &eo=default_user_evaluation_options, const PrintOptions &po=default_print_options)
Definition: Function.h:746
const MathStructure * getPropertyStruct(DataProperty *property)
virtual Argument * copy() const
AssumptionType
Type assumption.
Definition: Variable.h:34
DataObject(DataSet *parent_set)
A unit consisting of a number of other units.
Definition: Unit.h:275
virtual std::string print() const
bool hexadecimal_twos_complement
Negative hexadecimal numbers uses two's complement representation. All hexadecimal numbers starting w...
Definition: includes.h:513
bool use_unit_prefixes
Use prefixes for units when appropriate. Default: true.
Definition: includes.h:429
int exponent(int iexp=1) const
bool show_all_borders
If the plot shall be surrounded by borders on all sides (not just axis). Default: false.
Definition: Calculator.h:118
void set(const MathStructure &o, bool merge_precision=false)
bool lower_case_numbers
Use lower case for non-numeric characters for bases > 10. Default: false.
Definition: includes.h:413
void setName(const ExpressionName &ename, size_t index=1)
virtual Argument * copy() const
A variable with a known value.
Definition: Variable.h:248
virtual std::string subprintlong() const
unsigned int binary_bits
Number of bits used for binary numbers. Set to 0 for automatic. Default: 0.
Definition: includes.h:515
std::string getPropertyDisplayString(DataProperty *property)
virtual void setDescription(std::string descr_)
virtual int subtype() const
bool stillHasUnit(Unit *u)
virtual std::string print() const
Prefix * prefix
Force use of a specific prefix for units if not NULL. Default: NULL.
Definition: includes.h:471
void setExponent(int iexp)
A std::vector argument.
Definition: Function.h:589
@ APPROXIMATION_EXACT
Allow only exact results.
Definition: includes.h:537
bool hasGVFS()
Deprecated: gvfs is not needed anymore.
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
@ SUBTYPE_VARIABLE
class Variable
Definition: Variable.h:66
MathStructure convert(const MathStructure &mstruct, std::string composite_, const EvaluationOptions &eo=default_user_evaluation_options, MathStructure *units=NULL)
NumberFractionFormat
Definition: includes.h:339
@ STRUCTURING_FACTORIZE
Factorize the result.
Definition: includes.h:554
PlotFileType filetype
The image type to save as. Set to PLOT_FILETYPE_AUTO to guess from file extension.
Definition: Calculator.h:84
bool use_denominator_prefix
If set to true, prefixes will be split between numerator and denominator in a unit expression (millim...
Definition: includes.h:437
virtual std::string subprintlong() const
MathStructure * unended_function
If non-NULL will be set to unfinished function at the end of the expression (if there is one)....
Definition: includes.h:652
void useIntervalArithmetic(bool use_interval_arithmetic=true)
bool allow_non_usable
If it is not necessary that the displayed expression can be parsed correctly. Default: false.
Definition: includes.h:445
Abstract base class for mathematical functions.
Definition: Function.h:70
void eraseProperty(DataProperty *property)
@ ASSUMPTION_SIGN_NONPOSITIVE
x <= 0
Definition: Variable.h:58
virtual Argument * copy() const
bool isFloatingPoint() const
bool usesIntervalArithmetic() const
MathFunction * protected_function
Do not calculate the specified function. Default: NULL.
Definition: includes.h:717
float y_min
Minimum y-axis value.
Definition: Calculator.h:98
CalculatorMessage * message()
bool subtract(const Number &o)
virtual int subtype() const
void * can_display_unicode_string_arg
Argument passed to can_display_unicode_string_function. Default: NULL.
Definition: includes.h:483
bool loadGlobalPrefixes()
Assumptions * defaultAssumptions()
PlotSmoothing smoothing
Plot smoothing.
Definition: Calculator.h:129
StructureType
Types for MathStructure.
Definition: MathStructure.h:25
bool yaxis2
Use scale on second y-axis.
Definition: Calculator.h:133
Options for formatting and display of mathematical structures/results.
Definition: includes.h:406
virtual bool isParentOf(Unit *u) const
PlotStyle style
Plot style.
Definition: Calculator.h:131
virtual std::string expression() const
void stopPrintControl(void)
Deprecated: use stopControl()
bool spell_out_logical_operators
If logical operators will be spelled as AND and OR instead of && and ||. Default: false.
Definition: includes.h:491
std::string name
The name.
Definition: ExpressionItem.h:41
void setPrecision(int precision=DEFAULT_PRECISION)
@ PARSING_MODE_ADAPTIVE
The default adaptive mode works as the "parse implicit multiplication first" mode,...
Definition: includes.h:603
bool place_units_separately
Isolate units at the end of the displayed expression (ex. x/y m/s instead of (x m)/(y s))....
Definition: includes.h:427
virtual std::string subprintlong() const
virtual std::string subprintlong() const
bool minus_last
If true, avoid placing negative terms first. Default: true.
Definition: includes.h:355
const ExpressionName & preferredName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
IntervalCalculation interval_calculation
Algorithm used for calculation of uncertainty propagation / intervals. This does not affect calculati...
Definition: includes.h:725
virtual std::string print() const
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
virtual std::string print() const
bool calculate_variables
If known variables will be replaced by their value. Default: true.
Definition: includes.h:679
virtual void clearNonReferenceNames()
A definition for numerical arguments.
Definition: Function.h:444
int test_comparisons
If comparisons will be evaluated (ex. 5>2 => 1). Default: true.
Definition: includes.h:683
bool negative_exponents
If true, negative exponents will be used instead of division (ex. 5/x^2 becomes 5*x^-2)....
Definition: includes.h:439
bool lower_case_e
Use lower case e for base-10 exponent (ex. 1.2e8 instead of 1.2E8). Default: false.
Definition: includes.h:415
float x_max
Maximum x-axis value.
Definition: Calculator.h:104
bool reference
If the name shall be used as a fixed reference. If this is set to true, the name will kept as it is i...
Definition: ExpressionItem.h:33
std::string print(const MathStructure &mstruct, int milliseconds=100000, const PrintOptions &po=default_print_options)
bool sync_nonlinear_unit_relations
If units with complex/non-linear relations (ex. degress celsius and fahrenheit) will synced/converted...
Definition: includes.h:675
const std::string & getProperty(DataProperty *property, int *is_approximate=NULL)
const std::string & comma() const
Returns the comma sign used (default sign or comma_sign)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
@ POST_CONVERSION_BASE
Convert to base units.
Definition: includes.h:565
bool limit_implicit_multiplication
Use a format compatible with ParseOptions::limit_implicit_multiplication. Default: false.
Definition: includes.h:443
An unit with relation to another unit.
Definition: Unit.h:172
Prefix * addPrefix(Prefix *p)
@ STRUCTURING_HYBRID
Deprecated: use STRUCTURING_SIMPLIFY instead.
Definition: includes.h:556
MultiplicationSign multiplication_sign
Sign used for display of multiplication. Default: MULTIPLICATION_SIGN_DOT.
Definition: includes.h:449
@ PARSING_MODE_IMPLICIT_MULTIPLICATION_FIRST
In the "parse implicit multiplication first" mode, implicit multiplication is parsed before explicit ...
Definition: includes.h:605
void setUseWithPrefixesByDefault(bool use_with_prefixes)
Argument * getArgumentDefinition(size_t index)
@ STRUCTURING_NONE
Do not do any factorization or additional simplifications.
Definition: includes.h:550
A prefix with a free numerical value.
Definition: Prefix.h:277
void useDecimalPoint(bool comma_as_separator=false)
bool unknowns_enabled
If left-over characters will be parsed as symbols. Default: true.
Definition: includes.h:629
virtual std::string subprintlong() const
virtual std::string subprintlong() const
void e(bool use_cached_number=true)
A mathematical function argument definition with free value and base class for all argument definitio...
Definition: Function.h:277
@ APPROXIMATION_APPROXIMATE
Calculate the result approximately directly.
Definition: includes.h:541
int usesBinaryPrefixes() const
Definition: Variable.h:499
bool indicate_infinite_series
Show that the digit series of a number continues forever with three dots, instead of rounding (ex....
Definition: includes.h:419
bool twos_complement
Negative binary numbers uses two's complement representation. All binary numbers starting with 1 are ...
Definition: includes.h:660
Definition: Variable.h:454
void childUpdated(size_t index, bool recursive=false)
void clearNonReferenceNames()
virtual bool representsPositive(bool=false)
Definition: Variable.h:446
virtual MathStructure generateMathStructure(bool make_division=false, bool set_null_prefixes=false) const
Definition: Function.h:730
bool printingAborted(void)
Deprecated: use aborted()
A number.
Definition: Number.h:48
virtual void setExpression(std::string relation)
@ ASSUMPTION_SIGN_UNKNOWN
x = ?
Definition: Variable.h:50
Definition: Variable.h:469
@ INTERVAL_CALCULATION_SIMPLE_INTERVAL_ARITHMETIC
Treats all intervals as uncorrelated.
Definition: includes.h:619
int loadDefinitions(const char *file_name, bool is_user_defs=true, bool check_duplicates_of_global=false)
Data property function argument.
Definition: DataSet.h:259
@ PARSING_MODE_CONVENTIONAL
In the conventional mode implicit multiplication does not differ from explicit multiplication (<quote...
Definition: includes.h:607
std::string y_label
Y-axis label.
Definition: Calculator.h:78
virtual bool representsPositive(bool=false)
Definition: Variable.h:461
const std::string & longName(bool return_short_if_no_long=true, bool use_unicode=false) const
bool useWithPrefixesByDefault() const
bool(* can_display_unicode_string_function)(const char *, void *)
Function that returns true if a text string with unicode signs can be properly displayed....
Definition: includes.h:481
Prefix(std::string long_name, std::string short_name="", std::string unicode_name="")
void setDefaultAssumptions(Assumptions *ass)
MathOperation
Mathematical operations.
Definition: includes.h:267
bool short_multiplication
Avoid using multiplication sign, when appropriate. Default: true.
Definition: includes.h:441
virtual std::string print() const
bool isolate_x
If a varaible will be isolated to the left side in equations/comparisons (ex. x+y=2 => x=2-y)....
Definition: includes.h:685
SortOptions sort_options
Options for the order of values in the displayed expression. Default: default_sort_options.
Definition: includes.h:475
virtual std::string print() const
bool separateWhereExpression(std::string &str, std::string &where_str, const EvaluationOptions &eo) const
Split an expression string after and before " where ".
virtual Unit * get(size_t index, int *exp=NULL, Prefix **prefix=NULL) const
const std::string & decimalpoint() const
Returns the decimal sign used (default sign or decimalpoint_sign)
@ TYPE_UNIT
class Unit
Definition: includes.h:77
bool preserve_precision
Use the internal precision of each number instead of global precision. Default: false.
Definition: includes.h:499
bool use_all_prefixes
Use prefixes for all units (even imperial and similar ones). Default: false.
Definition: includes.h:435
bool isUserModified() const
virtual int type() const
Definition: Variable.h:135
A unit for measurement.
Definition: Unit.h:38
Dynamic variable for Pi.
Definition: Variable.h:427
virtual Argument * copy() const
bool auto_y_min
If the minimum y-axis value shall be set automatically (otherwise uses y_min). Default: true.
Definition: Calculator.h:90
virtual bool isExpression() const
@ TYPE_FUNCTION
class MathFunction
Definition: includes.h:75
virtual std::string print(bool plural_, bool short_, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
bool case_sensitive
If the name is case sensitive. The default behavior is that abbreviations are case sensitive and othe...
Definition: ExpressionItem.h:37
@ APPROXIMATION_EXACT_VARIABLES
Used internally.
Definition: includes.h:543
DecimalPrefix * getNearestDecimalPrefix(int exp10, int exp=1) const
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
AssumptionSign
Signedness assumption.
Definition: Variable.h:48
void setCondition(std::string expression)
void setApproximate(bool is_approximate=true)
std::string comma_sign
Comma sign or empty string to use default comma sign. Default: empty string.
Definition: includes.h:477
virtual std::string print() const
virtual int precision() const
void startPrintControl(int milliseconds=0)
Deprecated: use startControl()
bool y_log
If a logarithimic scale shall be used for the y-axis. Default: false.
Definition: Calculator.h:106
bool twos_complement
Negative binary numbers uses two's complement representation. All binary numbers starting with 1 are ...
Definition: includes.h:511
@ TYPE_VARIABLE
class Variable
Definition: includes.h:73
PlotStyle
Plot type/style.
Definition: includes.h:234
MathStructure convertToBestUnit(const MathStructure &mstruct, const EvaluationOptions &eo=default_user_evaluation_options, bool convert_to_si_units=true)
virtual int subtype() const
size_t hasName(const std::string &sname, bool case_sensitive=true) const
virtual std::string print() const
bool abbreviation
If the name is an abbreviation.
Definition: ExpressionItem.h:25
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
@ ASSUMPTION_TYPE_COMPLEX
im(x) != 0
Definition: Variable.h:40
A boolean argument.
Definition: Function.h:680
virtual size_t countUnits() const
DecimalPrefix * getExactDecimalPrefix(int exp10, int exp=1) const
virtual int type() const =0
virtual int refcount() const
@ POST_CONVERSION_NONE
Do not do any conversion of units in addition to syncing.
Definition: includes.h:561
virtual const ExpressionName & preferredInputName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
void setName(std::string name_)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
size_t hasNameCaseSensitive(const std::string &sname) const
virtual bool isChildOf(Unit *u) const
bool use_prefixes_for_all_units
Use prefixes for currencies if unit prefixes are om. Default: false.
Definition: includes.h:431
bool testCondition(const MathStructure &vargs)
bool auto_y_max
If the maximum y-axis value shall be set automatically (otherwise uses y_max). Default: true.
Definition: Calculator.h:94
void setLongName(std::string long_name)
virtual std::string print(bool plural_, bool short_, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
int expand
If factors (and bases) containing addition will be expanded (ex. z(x+y)=zx+zy). Default: true.
Definition: includes.h:687
virtual std::string subprintlong() const
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
virtual int subtype() const
Definition: Variable.h:223
PrefixType
Types for prefix classes.
Definition: Prefix.h:23
virtual std::string subprintlong() const
virtual std::string subprintlong() const
bool variables_enabled
If variables will be parsed. Default: true.
Definition: includes.h:625
UnitSubtype
Type of unit.
Definition: Unit.h:18
BinaryPrefix * getNearestBinaryPrefix(int exp2, int exp=1) const
int custom_time_zone
Offset in minute for custom time zone. Default: 0.
Definition: includes.h:509
bool unicode
If the name contains unicode characters.
Definition: ExpressionItem.h:29
bool grid
If a grid shall be shown in the plot. Default: false.
Definition: Calculator.h:114
void setSystem(std::string s_system)
void set_nocopy(MathStructure &o, bool merge_precision=false)
bool color
Set to true for colored plot, false for monochrome. Default: true.
Definition: Calculator.h:88
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
bool checkExchangeRatesDate(unsigned int n_days=7, bool force_check=false, bool send_warning=false, int n=-1)
const std::string & system() const
bool round_halfway_to_even
If true round halfway numbers to nearest even number, otherwise round upwards. Default: false.
Definition: includes.h:467
bool spacious
If space will be used to make the output look nicer. Default: true.
Definition: includes.h:453
bool split_squares
If powers with exponent 1/2 that only have an approximate result will be split to the least base (sqr...
Definition: includes.h:701
AutoPostConversion
Definition: includes.h:559
bool calculate_functions
If functions will be calculated. Default: true.
Definition: includes.h:681
void startControl(int milliseconds=0)
An assumption about an unknown mathematical value.
Definition: Variable.h:78
void setType(StructureType mtype)
bool rationalPolynomial() const
bool isApproximate() const
MathStructure parse(std::string str, const ParseOptions &po=default_parse_options)
virtual int calculate(MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions &eo)
std::string title
Title label.
Definition: Calculator.h:127
bool loadGlobalVariables()
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
A user defined mathematical function.
Definition: Function.h:233
bool use_prefixes_for_currencies
Use all decimal SI prefixes. If false, prefixes which is not a multiple of thousand (centi,...
Definition: includes.h:433
virtual Argument * copy() const
@ SUBTYPE_FUNCTION
class MathFunction
Definition: Function.h:55
virtual bool representsPositive(bool=false)
bool x_log
If a logarithimic scale shall be used for the x-axis. Default: false.
Definition: Calculator.h:108
virtual size_t hasName(const std::string &sname, bool case_sensitive=true) const
virtual const ExpressionName & preferredDisplayName(bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
A message with information to the user. Primarily used for errors and warnings.
Definition: Calculator.h:177
@ POST_CONVERSION_OPTIMAL
Convert to the the least amount of units. Non-SI units is kept (if optimal), but for conversion only ...
Definition: includes.h:567
virtual Argument * copy() const
bool printingControlled(void) const
Deprecated: use isControlled()
std::string getExchangeRatesFileName(int index=1)
virtual bool isChildOf(Unit *u) const
virtual void add(Unit *u, int exp=1, Prefix *prefix=NULL)
Parameters passed to plotting functions.
Definition: Calculator.h:74
bool restrict_to_parent_precision
Displays children of the structure with no higher precision than the parent. Default: true.
Definition: includes.h:493
bool use_min_decimals
Enable use of min_decimals. False is equivalent to a min_decimals value of zero. Default: true.
Definition: includes.h:463
Assumptions * assumptions()
std::string font
Font used for text.
Definition: Calculator.h:86
bool functions_enabled
If functions will be parsed. Default: true.
Definition: includes.h:627
Abstract base class for variables.
Definition: Variable.h:125
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
virtual bool representsPositive(bool=false)
Definition: Variable.h:491
@ POST_CONVERSION_OPTIMAL_SI
Convert to the least amount of units. Non-SI units are converted to SI units.
Definition: includes.h:563
virtual Argument * copy() const
Definition: includes.h:524
void clearMatrix(bool preserve_precision=false)
bool dot_as_separator
If true dots will ignored if another character is the default decimal sign, to allow dots to be used ...
Definition: includes.h:644
bool calculateRPNRegister(size_t index, int msecs, const EvaluationOptions &eo=default_user_evaluation_options)
ComparisonResult
The result of a comparison of two values.
Definition: includes.h:207
Prefix * getExactPrefix(const Number &o, int exp=1) const
A subunit in a CompositeUnit.
Definition: Unit.h:238
bool stillHasVariable(Variable *v)
bool transform_trigonometric_functions
Mainly for internal use. Default: true.
Definition: includes.h:723
virtual bool containsRelativeTo(Unit *u) const
Unit * findMatchingUnit(const MathStructure &mstruct)
std::string getCustomCondition() const
virtual Argument * copy() const
ReadPrecisionMode read_precision
If and when precisions will be read from number of digits in a number. Default: DONT_READ_PRECISION.
Definition: includes.h:642
int subtype() const
Definition: Variable.h:308
A name for an expression item (function, variable or unit)
Definition: ExpressionItem.h:22
@ FRACTION_FRACTIONAL
Display as fraction (ex. 4/3)
Definition: includes.h:345
virtual void setInverseExpression(std::string inverse)
virtual bool hasChanged() const
virtual std::string subprintlong() const
virtual Argument * copy() const
virtual bool representsPositive(bool=false)
std::string decimalpoint_sign
Decimal sign or empty string to use default decimal sign. Default: empty string.
Definition: includes.h:479
Definition: Calculator.h:246
virtual Argument * copy() const
MixedUnitsConversion mixed_units_conversion
Shows time as h + min + s, imperial length as ft + in, etc. Default: MIXED_UNITS_CONVERSION_DEFAULT.
Definition: includes.h:707
@ APPROXIMATION_TRY_EXACT
Try to make the result as exact as possible.
Definition: includes.h:539
bool xaxis2
Use scale on second x-axis.
Definition: Calculator.h:135
bool combine_divisions
Use behaviour from version <= 0.9.12 which returns (x+y)/z instead of x/y+y/z if expand = true.
Definition: includes.h:689
virtual bool isKnown() const =0
StructuringMode structuring
If the evaluation result will be expanded or factorized Default: STRUCTURING_NONE.
Definition: includes.h:709
Abstract base class for functions, variables and units.
Definition: ExpressionItem.h:82
std::string unlocalizeExpression(std::string str, const ParseOptions &po=default_parse_options) const
time_t getExchangeRatesTime(int index=-1)
A binary prefix.
Definition: Prefix.h:238
bool separateToExpression(std::string &str, std::string &to_str, const EvaluationOptions &eo, bool keep_modifiers=false, bool allow_empty_from=false) const
int exchangeRatesUsed() const
Check if exchange rates has been used since resetExchangeRatesUsed() was last called.
TimeZone time_zone
Time zone for time and date. Default: TIME_ZONE_LOCAL.
Definition: includes.h:507
std::string localToString(bool include_spaces=true) const
@ FRACTION_DECIMAL
Display numbers in decimal, not fractional, format (ex. 0.333333)
Definition: includes.h:341
void setCustomCondition(std::string condition)
A data set property.
Definition: DataSet.h:122
virtual void parse(MathStructure *mstruct, const std::string &str, const ParseOptions &po=default_parse_options) const
bool calculate(MathStructure *mstruct, std::string str, int msecs, const EvaluationOptions &eo=default_user_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true)
virtual const MathStructure & get()
Abstract class for prefixes.
Definition: Prefix.h:34
bool isMinusInfinity(bool ignore_imag=false) const
bool fetchExchangeRates(int seconds, std::string wget_args)
Deprecated: wget arguments are not used.
bool stillHasFunction(MathFunction *f)
Argument for functions, variables and units.
Definition: Function.h:641
void setShortName(std::string short_name)
virtual void set(const Argument *arg)
virtual Argument * copy() const
virtual void clearNames()
MessageType
Message types.
Definition: Calculator.h:142
BaseDisplay base_display
How prefixes for numbers in non-decimal bases will be displayed. Default: BASE_DISPLAY_NONE.
Definition: includes.h:411
int max_decimals
Maximum number of decimals to display for numbers. A negative value disables the limit....
Definition: includes.h:461
BinaryPrefix * getExactBinaryPrefix(int exp2, int exp=1) const
bool isPlusInfinity(bool ignore_imag=false) const
std::string title
Title label.
Definition: Calculator.h:76
@ ASSUMPTION_SIGN_NONNEGATIVE
x >= 0
Definition: Variable.h:54
std::string filename
Image to save plot to. If empty shows plot in a window on the screen.
Definition: Calculator.h:82
ComparisonType
Comparison signs for comparison structures.
Definition: includes.h:289
const ExpressionName & getName(size_t index) const
int linewidth
Width of lines. Default: 2.
Definition: Calculator.h:116
bool units_enabled
If units will be parsed. Default: true.
Definition: includes.h:631
bool halfexp_to_sqrt
Transform raised to 1/2 to square root and raised to 1/3 to cbrt function. Default: true.
Definition: includes.h:457
const std::string & name(bool short_default=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
#define MESSAGE_CATEGORY_NONE
Message categories.
Definition: Calculator.h:170
bool loadGlobalFunctions()
bool allow_infinite
If infinite numbers will be used for evaluation. Default: true.
Definition: includes.h:695
DateTimeFormat date_time_format
Format for time and date. Default: DATE_TIME_FORMAT_ISO.
Definition: includes.h:505
ArgumentMinMaxPreDefinition
Predefined max and min values for number and integer arguments.
Definition: Function.h:44
const ExpressionName & findName(int abbreviation=-1, int use_unicode=-1, int plural=-1, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
@ FRACTION_DECIMAL_EXACT
Display as fraction if necessary to get an exact display of the result (ex. 1/3, but 0....
Definition: includes.h:343
bool hasVariable(Variable *v)
virtual std::string subprintlong() const
AngleUnit angle_unit
Default angle unit for trigonometric functions. Default: ANGLE_UNIT_NONE.
Definition: includes.h:650
@ ASSUMPTION_SIGN_NONZERO
x != 0
Definition: Variable.h:60
PlotFileType
File type for saving plot to image.
Definition: includes.h:255
bool multiply(const Number &o)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
void setAborted(bool preserve_precision=false)
virtual Argument * copy() const
const MathStructure * isolate_var
If set will decide which variable to isolate in an equation. Default: NULL.
Definition: includes.h:713
void setProperty(DataProperty *property, std::string s_value, int is_approximate=-1)
Prefix * getPrefix(size_t index) const
MathStructure * getId(size_t id)
virtual int subtype() const
virtual std::string print() const
virtual std::string print(bool plural_, bool short_, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
bool hide_underscore_spaces
Replace underscores in names with spaces, unless name has suffix. Default: false.
Definition: includes.h:485
BinaryPrefix(int exp2, std::string long_name, std::string short_name="", std::string unicode_name="")
bool * is_approximate
If not NULL will be set to true if the output is approximate. Default: NULL.
Definition: includes.h:473
virtual bool representsPositive(bool=false)
Definition: Variable.h:384
A data set.
Definition: DataSet.h:197
A structure representing a mathematical value/expression/result.
Definition: MathStructure.h:148
virtual void setTitle(std::string title_)
VariableSubtype
Type of variable.
Definition: Variable.h:64
virtual int subtype() const =0
bool limit_implicit_multiplication
When implicit multiplication is limited variables, functions and units must be separated by a space,...
Definition: includes.h:640
std::string print() const
virtual void setCategory(std::string cat_)
std::string print() const
Definition: Function.h:713
StructuringMode
Definition: includes.h:548
bool variableNameIsValid(const std::string &name_)
bool use_max_decimals
Enable use of max_decimals. False is equivalent to a negative max_decimals value. Default: true.
Definition: includes.h:465
PlotSmoothing
Smoothing a plotted lines.
Definition: includes.h:246
ParseOptions parse_options
Options for parsing of expression. Default: default_parse_options.
Definition: includes.h:711
std::string printingAbortedMessage(void) const
Deprecated: use abortedMessage()
A matrix argument.
Definition: Function.h:618
Definition: QalculateDateTime.h:18
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
DataSet * parentSet() const
virtual int subtype() const
Definition: Variable.h:140
bool isRationalPolynomial(bool allow_non_rational_coefficient=false, bool allow_interval_coefficient=false) const
int calculate(MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions &eo)
bool hasGnomeVFS()
Deprecated: gvfs is not needed anymore.
const std::string & getComma() const
void prefixNameChanged(Prefix *p, bool new_item=false)
virtual void setName(const ExpressionName &ename, size_t index=1, bool force=true)
Argument(std::string name_="", bool does_test=true, bool does_error=true)
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
A symbolic argument.
Definition: Function.h:527
bool use_unicode_signs
If unicode signs can be displayed. Default: false.
Definition: includes.h:447
bool isKnown() const
Definition: Variable.h:206
bool calculateRPNBitwiseNot(int msecs, const EvaluationOptions &eo=default_user_evaluation_options, MathStructure *parsed_struct=NULL)
IntervalCalculation
Definition: includes.h:613
void setIgnoreLocale()
Deprecated: use pass true to constructor instead.
int calculatedPrecision() const
void setExchangeRatesUsed(int index)
For internal use, called by currency units.
Definition: Variable.h:439
virtual void set(const Argument *arg)
std::string x_label
X-axis label.
Definition: Calculator.h:80
void setExchangeRatesWarningEnabled(bool enable)
Enable or disable old exchange rates warning (initial state is true).
bool add(const Number &o)
virtual std::string subprintlong() const
virtual Argument * copy() const
@ ASSUMPTION_SIGN_POSITIVE
x > 0
Definition: Variable.h:52
bool exp_to_root
Transform exponentiation positive base and unit fraction exponent (if denominator < 10) to root funct...
Definition: includes.h:497
A set of accepted arguments.
Definition: Function.h:766
bool reduce_divisions
If non-numerical parts of a fraction will be reduced (ex. (5x)/(3xy) =5/(3y) . Default: true.
Definition: includes.h:691
@ SUBTYPE_BASE_UNIT
class Unit
Definition: Unit.h:20
std::string internalFormula() const
bool use_reference_names
Prefer reference names of variables, units, functions etc. Default: false.
Definition: includes.h:425
void setVector(const MathStructure *o,...)
DataSet * default_dataset
Default dataset. Used for object.property syntax without a preceeding data set. Default: NULL.
Definition: includes.h:656
const MathStructure & get()
virtual std::string print() const
bool warn_about_denominators_assumed_nonzero
Warn if a denominator with unknown value was assumed non-zero (with assume_denominators_nonzero set t...
Definition: includes.h:699
virtual bool subtest(MathStructure &value, const EvaluationOptions &eo) const
float y_max
Maximum y-axis value.
Definition: Calculator.h:102
int base
Number base for displaying numbers. Default: 10.
Definition: includes.h:409
ArgumentType
Argument types.
Definition: Function.h:22
virtual void parse(MathStructure *mstruct, const std::string &str, const ParseOptions &po=default_parse_options) const
bool divide(const Number &o)
bool avoid_input
If the name is unsuitable for user input.
Definition: ExpressionItem.h:35
void setUserModified(bool user_modified=true)
size_t lastArgumentDefinitionIndex() const
ParsingMode parsing_mode
Parsing mode. Default: PARSING_MODE_ADAPTIVE.
Definition: includes.h:658