| libqalculate-2.8.1
    | 
#include <vector>#include <string>#include <stack>#include <list>#include <errno.h>#include <stddef.h>#include <math.h>#include <float.h>#include <stdarg.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream>#include <unistd.h>#include <stdint.h>| Classes | |
| struct | SortOptions | 
| Options for ordering the parts of a mathematical expression/result before display.  More... | |
| struct | PrintOptions | 
| Options for formatting and display of mathematical structures/results.  More... | |
| struct | InternalPrintStruct | 
| struct | ParseOptions | 
| Options for parsing expressions.  More... | |
| struct | EvaluationOptions | 
| Options for calculation.  More... | |
| Macros | |
| #define | QALCULATE_MAJOR_VERSION (2) | 
| #define | QALCULATE_MINOR_VERSION (6) | 
| #define | QALCULATE_MICRO_VERSION (0) | 
| #define | COMPARISON_MIGHT_BE_LESS_OR_GREATER(i) (i >= COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_NOT_EQUAL) | 
| #define | COMPARISON_NOT_FULLY_KNOWN(i) (i >= COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_NOT_EQUAL || i == COMPARISON_RESULT_EQUAL_OR_LESS || i == COMPARISON_RESULT_EQUAL_OR_GREATER) | 
| #define | COMPARISON_IS_EQUAL_OR_GREATER(i) (i == COMPARISON_RESULT_EQUAL || i == COMPARISON_RESULT_GREATER || i == COMPARISON_RESULT_EQUAL_OR_GREATER) | 
| #define | COMPARISON_IS_EQUAL_OR_LESS(i) (i == COMPARISON_RESULT_EQUAL || i == COMPARISON_RESULT_LESS || i == COMPARISON_RESULT_EQUAL_OR_LESS) | 
| #define | COMPARISON_IS_NOT_EQUAL(i) (i == COMPARISON_RESULT_NOT_EQUAL || i == COMPARISON_RESULT_LESS || i == COMPARISON_RESULT_GREATER) | 
| #define | COMPARISON_MIGHT_BE_EQUAL(i) (i >= COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_EQUAL_OR_LESS || i == COMPARISON_RESULT_EQUAL_OR_GREATER) | 
| #define | COMPARISON_MIGHT_BE_NOT_EQUAL(i) (i >= COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_EQUAL_OR_LESS || i == COMPARISON_RESULT_EQUAL_OR_GREATER) | 
| #define | NR_OF_PRIMES 600 | 
| #define | SQP_LT_1000 11 | 
| #define | SQP_LT_2000 17 | 
| #define | SQP_LT_10000 28 | 
| #define | SQP_LT_25000 40 | 
| #define | SQP_LT_100000 68 | 
| #define | NR_OF_SQUARE_PRIMES 170 | 
| #define | LARGEST_RAISED_PRIME_EXPONENT 10 | 
| #define | BASE_ROMAN_NUMERALS -1 | 
| #define | BASE_TIME -2 | 
| #define | BASE_BINARY 2 | 
| #define | BASE_OCTAL 8 | 
| #define | BASE_DECIMAL 10 | 
| #define | BASE_DUODECIMAL 12 | 
| #define | BASE_HEXADECIMAL 16 | 
| #define | BASE_SEXAGESIMAL 60 | 
| #define | EXP_BASE_3 -3 | 
| #define | EXP_PRECISION -1 | 
| #define | EXP_NONE 0 | 
| #define | EXP_PURE 1 | 
| #define | EXP_SCIENTIFIC 3 | 
| #define | POST_CONVERSION_BEST POST_CONVERSION_OPTIMAL_SI | 
| #define | CALCULATOR calculator | 
| #define | DEFAULT_PRECISION 8 | 
| #define | PRECISION (CALCULATOR ? CALCULATOR->getPrecision() : DEFAULT_PRECISION) | 
| #define | SIGN_DEGREE "°" | 
| #define | SIGN_POWER_0 "⁰" | 
| #define | SIGN_POWER_1 "¹" | 
| #define | SIGN_POWER_2 "²" | 
| #define | SIGN_POWER_3 "³" | 
| #define | SIGN_POWER_4 "⁴" | 
| #define | SIGN_POWER_5 "⁵" | 
| #define | SIGN_POWER_6 "⁶" | 
| #define | SIGN_POWER_7 "⁷" | 
| #define | SIGN_POWER_8 "⁸" | 
| #define | SIGN_POWER_9 "⁹" | 
| #define | SIGN_EURO "€" | 
| #define | SIGN_POUND "£" | 
| #define | SIGN_CENT "¢" | 
| #define | SIGN_YEN "¥" | 
| #define | SIGN_MICRO "µ" | 
| #define | SIGN_PI "π" | 
| #define | SIGN_MULTIPLICATION "×" | 
| #define | SIGN_MULTIDOT "⋅" | 
| #define | SIGN_MIDDLEDOT "·" | 
| #define | SIGN_MULTIBULLET "∙" | 
| #define | SIGN_SMALLCIRCLE "•" | 
| #define | SIGN_DIVISION_SLASH "∕" | 
| #define | SIGN_DIVISION "÷" | 
| #define | SIGN_MINUS "−" | 
| #define | SIGN_PLUS "+" | 
| #define | SIGN_SQRT "√" | 
| #define | SIGN_ALMOST_EQUAL "≈" | 
| #define | SIGN_APPROXIMATELY_EQUAL "≅" | 
| #define | SIGN_ZETA "ζ" | 
| #define | SIGN_GAMMA "γ" | 
| #define | SIGN_PHI "φ" | 
| #define | SIGN_LESS_OR_EQUAL "≤" | 
| #define | SIGN_GREATER_OR_EQUAL "≥" | 
| #define | SIGN_NOT_EQUAL "≠" | 
| #define | SIGN_CAPITAL_SIGMA "Σ" | 
| #define | SIGN_CAPITAL_PI "Π" | 
| #define | SIGN_CAPITAL_OMEGA "Ω" | 
| #define | SIGN_CAPITAL_GAMMA "Γ" | 
| #define | SIGN_CAPITAL_BETA "Β" | 
| #define | SIGN_INFINITY "∞" | 
| #define | SIGN_PLUSMINUS "±" | 
| #define | ID_WRAP_LEFT_CH '{' | 
| #define | ID_WRAP_RIGHT_CH '}' | 
| #define | DOT_CH '.' | 
| #define | ZERO_CH '0' | 
| #define | ONE_CH '1' | 
| #define | TWO_CH '2' | 
| #define | THREE_CH '3' | 
| #define | FOUR_CH '4' | 
| #define | FIVE_CH '5' | 
| #define | SIX_CH '6' | 
| #define | SEVEN_CH '7' | 
| #define | EIGHT_CH '8' | 
| #define | NINE_CH '9' | 
| #define | PLUS_CH '+' | 
| #define | MINUS_CH '-' | 
| #define | MULTIPLICATION_CH '*' | 
| #define | MULTIPLICATION_2_CH ' ' | 
| #define | DIVISION_CH '/' | 
| #define | EXP_CH 'E' | 
| #define | EXP2_CH 'e' | 
| #define | POWER_CH '^' | 
| #define | SPACE_CH ' ' | 
| #define | LEFT_PARENTHESIS_CH '(' | 
| #define | RIGHT_PARENTHESIS_CH ')' | 
| #define | LEFT_VECTOR_WRAP_CH '[' | 
| #define | RIGHT_VECTOR_WRAP_CH ']' | 
| #define | FUNCTION_VAR_PRE_CH '\\' | 
| #define | COMMA_CH ',' | 
| #define | NAME_NUMBER_PRE_CH '_' | 
| #define | UNIT_DIVISION_CH '/' | 
| #define | AND_CH '&' | 
| #define | OR_CH '|' | 
| #define | LESS_CH '<' | 
| #define | GREATER_CH '>' | 
| #define | BITWISE_NOT_CH '~' | 
| #define | LOGICAL_NOT_CH '!' | 
| #define | NOT_CH '!' | 
| #define | EQUALS_CH '=' | 
| #define | ID_WRAP_LEFT "{" | 
| #define | ID_WRAP_RIGHT "}" | 
| #define | ID_WRAPS "{}" | 
| #define | DOT "." | 
| #define | SEXADOT ":" | 
| #define | COMMA "," | 
| #define | COMMAS ",;" | 
| #define | NUMBERS "0123456789" | 
| #define | NUMBER_ELEMENTS "0123456789.:" | 
| #define | SIGNS "+-*/^" | 
| #define | OPERATORS "~+-*/^&|!<>=" | 
| #define | PARENTHESISS "()" | 
| #define | LEFT_PARENTHESIS "(" | 
| #define | RIGHT_PARENTHESIS ")" | 
| #define | VECTOR_WRAPS "[]" | 
| #define | LEFT_VECTOR_WRAP "[" | 
| #define | RIGHT_VECTOR_WRAP "]" | 
| #define | SPACES " \t\n" | 
| #define | SPACE " " | 
| #define | RESERVED "\'@\\{}?\"" | 
| #define | PLUS "+" | 
| #define | MINUS "-" | 
| #define | MULTIPLICATION "*" | 
| #define | MULTIPLICATION_2 " " | 
| #define | DIVISION "/" | 
| #define | EXP "E" | 
| #define | EXPS "Ee" | 
| #define | POWER "^" | 
| #define | LOGICAL_AND "&&" | 
| #define | LOGICAL_OR "||" | 
| #define | LOGICAL_NOT "!" | 
| #define | BITWISE_AND "&" | 
| #define | BITWISE_OR "|" | 
| #define | BITWISE_NOT "~" | 
| #define | SHIFT_RIGHT ">>" | 
| #define | SHIFT_LEFT "<<" | 
| #define | LESS "<" | 
| #define | GREATER ">" | 
| #define | NOT "!" | 
| #define | EQUALS "=" | 
| #define | SINF "INF" | 
| #define | UNDERSCORE "_" | 
| #define | NOT_IN_NAMES RESERVED OPERATORS SPACES SEXADOT DOT VECTOR_WRAPS PARENTHESISS COMMAS | 
| Enumerations | |
| enum | ExpressionItemType { TYPE_VARIABLE, TYPE_FUNCTION, TYPE_UNIT } | 
| Type of ExpressionItem.  More... | |
| enum | ComparisonResult { COMPARISON_RESULT_EQUAL, COMPARISON_RESULT_GREATER, COMPARISON_RESULT_LESS, COMPARISON_RESULT_EQUAL_OR_GREATER, COMPARISON_RESULT_EQUAL_OR_LESS, COMPARISON_RESULT_NOT_EQUAL, COMPARISON_RESULT_UNKNOWN, COMPARISON_RESULT_EQUAL_LIMITS, COMPARISON_RESULT_CONTAINS, COMPARISON_RESULT_CONTAINED, COMPARISON_RESULT_OVERLAPPING_LESS, COMPARISON_RESULT_OVERLAPPING_GREATER } | 
| The result of a comparison of two values. | |
| enum | PlotLegendPlacement { PLOT_LEGEND_NONE, PLOT_LEGEND_TOP_LEFT, PLOT_LEGEND_TOP_RIGHT, PLOT_LEGEND_BOTTOM_LEFT, PLOT_LEGEND_BOTTOM_RIGHT, PLOT_LEGEND_BELOW, PLOT_LEGEND_OUTSIDE } | 
| Placement of legend. | |
| enum | PlotStyle { PLOT_STYLE_LINES, PLOT_STYLE_POINTS, PLOT_STYLE_POINTS_LINES, PLOT_STYLE_BOXES, PLOT_STYLE_HISTOGRAM, PLOT_STYLE_STEPS, PLOT_STYLE_CANDLESTICKS, PLOT_STYLE_DOTS } | 
| Plot type/style. | |
| enum | PlotSmoothing { PLOT_SMOOTHING_NONE, PLOT_SMOOTHING_UNIQUE, PLOT_SMOOTHING_CSPLINES, PLOT_SMOOTHING_BEZIER, PLOT_SMOOTHING_SBEZIER } | 
| Smoothing a plotted lines. | |
| enum | PlotFileType { PLOT_FILETYPE_AUTO, PLOT_FILETYPE_PNG, PLOT_FILETYPE_PS, PLOT_FILETYPE_EPS, PLOT_FILETYPE_LATEX, PLOT_FILETYPE_SVG, PLOT_FILETYPE_FIG, PLOT_FILETYPE_PDF } | 
| File type for saving plot to image. | |
| enum | MathOperation { OPERATION_MULTIPLY, OPERATION_DIVIDE, OPERATION_ADD, OPERATION_SUBTRACT, OPERATION_RAISE, OPERATION_EXP10, OPERATION_LOGICAL_AND, OPERATION_LOGICAL_OR, OPERATION_LOGICAL_XOR, OPERATION_BITWISE_AND, OPERATION_BITWISE_OR, OPERATION_BITWISE_XOR, OPERATION_LESS, OPERATION_GREATER, OPERATION_EQUALS_LESS, OPERATION_EQUALS_GREATER, OPERATION_EQUALS, OPERATION_NOT_EQUALS } | 
| Mathematical operations. | |
| enum | ComparisonType { COMPARISON_LESS, COMPARISON_GREATER, COMPARISON_EQUALS_LESS, COMPARISON_EQUALS_GREATER, COMPARISON_EQUALS, COMPARISON_NOT_EQUALS } | 
| Comparison signs for comparison structures. | |
| enum | SortFlags { SORT_DEFAULT = 1 << 0, SORT_SCIENTIFIC = 1 << 1 } | 
| enum | NumberFractionFormat { FRACTION_DECIMAL, FRACTION_DECIMAL_EXACT, FRACTION_FRACTIONAL, FRACTION_COMBINED } | 
| enum | MultiplicationSign { MULTIPLICATION_SIGN_ASTERISK, MULTIPLICATION_SIGN_DOT, MULTIPLICATION_SIGN_X, MULTIPLICATION_SIGN_ALTDOT } | 
| enum | DivisionSign { DIVISION_SIGN_SLASH, DIVISION_SIGN_DIVISION_SLASH, DIVISION_SIGN_DIVISION } | 
| enum | BaseDisplay { BASE_DISPLAY_NONE, BASE_DISPLAY_NORMAL, BASE_DISPLAY_ALTERNATIVE } | 
| enum | IntervalDisplay { INTERVAL_DISPLAY_SIGNIFICANT_DIGITS, INTERVAL_DISPLAY_INTERVAL, INTERVAL_DISPLAY_PLUSMINUS, INTERVAL_DISPLAY_MIDPOINT, INTERVAL_DISPLAY_LOWER, INTERVAL_DISPLAY_UPPER } | 
| enum | DigitGrouping { DIGIT_GROUPING_NONE, DIGIT_GROUPING_STANDARD, DIGIT_GROUPING_LOCALE } | 
| enum | DateTimeFormat { DATE_TIME_FORMAT_ISO, DATE_TIME_FORMAT_LOCALE } | 
| enum | TimeZone { TIME_ZONE_UTC, TIME_ZONE_LOCAL, TIME_ZONE_CUSTOM } | 
| enum | ApproximationMode { APPROXIMATION_EXACT, APPROXIMATION_TRY_EXACT, APPROXIMATION_APPROXIMATE, APPROXIMATION_EXACT_VARIABLES } | 
| enum | StructuringMode { STRUCTURING_NONE, STRUCTURING_SIMPLIFY, STRUCTURING_FACTORIZE, STRUCTURING_HYBRID } | 
| enum | AutoPostConversion { POST_CONVERSION_NONE, POST_CONVERSION_OPTIMAL_SI, POST_CONVERSION_BASE, POST_CONVERSION_OPTIMAL } | 
| enum | MixedUnitsConversion { MIXED_UNITS_CONVERSION_NONE, MIXED_UNITS_CONVERSION_DOWNWARDS_KEEP, MIXED_UNITS_CONVERSION_DOWNWARDS, MIXED_UNITS_CONVERSION_DEFAULT, MIXED_UNITS_CONVERSION_FORCE_INTEGER, MIXED_UNITS_CONVERSION_FORCE_ALL } | 
| enum | ReadPrecisionMode { DONT_READ_PRECISION, ALWAYS_READ_PRECISION, READ_PRECISION_WHEN_DECIMALS } | 
| enum | AngleUnit { ANGLE_UNIT_NONE, ANGLE_UNIT_RADIANS, ANGLE_UNIT_DEGREES, ANGLE_UNIT_GRADIANS } | 
| enum | ComplexNumberForm { COMPLEX_NUMBER_FORM_RECTANGULAR, COMPLEX_NUMBER_FORM_EXPONENTIAL, COMPLEX_NUMBER_FORM_POLAR } | 
| enum | ParsingMode { PARSING_MODE_ADAPTIVE, PARSING_MODE_IMPLICIT_MULTIPLICATION_FIRST, PARSING_MODE_CONVENTIONAL } | 
| Variables | |
| static string | empty_string | 
| static const long int | PRIMES [] | 
| static const long int | SQUARE_PRIMES [] | 
| static const long int | RAISED_PRIMES [][49] | 
| static const struct SortOptions | default_sort_options | 
| static const struct PrintOptions | default_print_options | 
| static const struct InternalPrintStruct | top_ips | 
| static const struct ParseOptions | default_parse_options | 
| static const struct EvaluationOptions | default_evaluation_options | 
| MathStructure | m_undefined | 
| MathStructure | m_empty_vector | 
| MathStructure | m_empty_matrix | 
| MathStructure | m_zero | 
| MathStructure | m_one | 
| MathStructure | m_minus_one | 
| MathStructure | m_one_i | 
| Number | nr_zero | 
| Number | nr_one | 
| Number | nr_two | 
| Number | nr_three | 
| Number | nr_minus_one | 
| Number | nr_one_i | 
| Number | nr_minus_i | 
| Number | nr_half | 
| Number | nr_minus_half | 
| Number | nr_plus_inf | 
| Number | nr_minus_inf | 
| EvaluationOptions | no_evaluation | 
| ExpressionName | empty_expression_name | 
| Calculator * | calculator | 
| enum ApproximationMode | 
| enum AutoPostConversion | 
| enum ExpressionItemType | 
Type of ExpressionItem.
| Enumerator | |
|---|---|
| TYPE_VARIABLE | class Variable | 
| TYPE_FUNCTION | class MathFunction | 
| TYPE_UNIT | class Unit | 
| enum NumberFractionFormat | 
| enum ParsingMode | 
| enum StructuringMode | 
| 
 | static | 
| 
 | static | 
 1.8.14
 1.8.14