|
libqalculate-3.14.0
|
#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 (3) |
| #define | QALCULATE_MINOR_VERSION (14) |
| #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 | BASE_CUSTOM -3 |
| #define | BASE_UNICODE -4 |
| #define | BASE_GOLDEN_RATIO -5 |
| #define | BASE_SUPER_GOLDEN_RATIO -6 |
| #define | BASE_PI -7 |
| #define | BASE_E -8 |
| #define | BASE_SQRT2 -9 |
| #define | BASE_BIJECTIVE_26 -26 |
| #define | BASE_FP16 -30 |
| #define | BASE_FP32 -31 |
| #define | BASE_FP64 -32 |
| #define | BASE_FP128 -33 |
| #define | BASE_FP80 -34 |
| #define | EXP_BASE_3 -3 |
| #define | EXP_PRECISION -1 |
| #define | EXP_NONE 0 |
| #define | EXP_PURE 1 |
| #define | EXP_SCIENTIFIC 3 |
| #define | STRUCTURING_SIMPLIFY STRUCTURING_EXPAND |
| #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_EXPAND, 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, COMPLEX_NUMBER_FORM_CIS } |
| enum | ParsingMode { PARSING_MODE_ADAPTIVE, PARSING_MODE_IMPLICIT_MULTIPLICATION_FIRST, PARSING_MODE_CONVENTIONAL } |
| enum | IntervalCalculation { INTERVAL_CALCULATION_NONE, INTERVAL_CALCULATION_VARIANCE_FORMULA, INTERVAL_CALCULATION_INTERVAL_ARITHMETIC, INTERVAL_CALCULATION_SIMPLE_INTERVAL_ARITHMETIC } |
Variables | |
| static std::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 |
| static EvaluationOptions | default_user_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 IntervalCalculation |
| enum NumberFractionFormat |
| enum ParsingMode |
| enum StructuringMode |
|
static |
|
static |