Logo Search packages:      
Sourcecode: libqalculate version File versions  Download package

includes.h File Reference


Detailed Description

Definition in file includes.h.

#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 <unistd.h>

Go to the source code of this file.

Classes

struct  EvaluationOptions
 Options for calculation. More...
struct  InternalPrintStruct
struct  ParseOptions
 Options for parsing expressions. More...
struct  PrintOptions
 Options for formatting and display of mathematical structures/results. More...
struct  SortOptions
 Options for ordering the parts of a mathematical expression/result before display. More...

Defines

#define AND_CH   '&'
#define BASE_BINARY   2
#define BASE_DECIMAL   10
#define BASE_HEXADECIMAL   16
#define BASE_OCTAL   8
#define BASE_ROMAN_NUMERALS   -1
#define BASE_SEXAGESIMAL   60
#define BASE_TIME   -2
#define BITWISE_AND   "&"
#define BITWISE_NOT   "~"
#define BITWISE_NOT_CH   '~'
#define BITWISE_OR   "|"
#define CALCULATOR   calculator
#define COMMA   ","
#define COMMA_CH   ','
#define COMMAS   ",;"
#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_LESS_OR_GREATER(i)   (i == COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_NOT_EQUAL)
#define COMPARISON_MIGHT_BE_NOT_EQUAL(i)   (i == COMPARISON_RESULT_UNKNOWN || i == COMPARISON_RESULT_EQUAL_OR_LESS || i == COMPARISON_RESULT_EQUAL_OR_GREATER)
#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 DEFAULT_PRECISION   8
#define DIVISION   "/"
#define DIVISION_CH   '/'
#define DOT   "."
#define DOT_CH   '.'
#define EIGHT_CH   '8'
#define EQUALS   "="
#define EQUALS_CH   '='
#define EXP   "E"
#define EXP2_CH   'e'
#define EXP_CH   'E'
#define EXP_NONE   0
#define EXP_PRECISION   -1
#define EXP_PURE   1
#define EXP_SCIENTIFIC   3
#define EXPS   "Ee"
#define FIVE_CH   '5'
#define FOUR_CH   '4'
#define FUNCTION_VAR_PRE_CH   '\\'
#define GREATER   ">"
#define GREATER_CH   '>'
#define ID_WRAP_LEFT   "{"
#define ID_WRAP_LEFT_CH   '{'
#define ID_WRAP_RIGHT   "}"
#define ID_WRAP_RIGHT_CH   '}'
#define ID_WRAPS   "{}"
#define LEFT_PARENTHESIS   "("
#define LEFT_PARENTHESIS_CH   '('
#define LEFT_VECTOR_WRAP   "["
#define LEFT_VECTOR_WRAP_CH   '['
#define LESS   "<"
#define LESS_CH   '<'
#define LOGICAL_AND   "&&"
#define LOGICAL_NOT   "!"
#define LOGICAL_NOT_CH   '!'
#define LOGICAL_OR   "||"
#define MINUS   "-"
#define MINUS_CH   '-'
#define MULTIPLICATION   "*"
#define MULTIPLICATION_2   " "
#define MULTIPLICATION_2_CH   ' '
#define MULTIPLICATION_CH   '*'
#define NAME_NUMBER_PRE_CH   '_'
#define NINE_CH   '9'
#define NOT   "!"
#define NOT_CH   '!'
#define NOT_IN_NAMES   RESERVED OPERATORS SPACES SEXADOT DOT VECTOR_WRAPS PARENTHESISS COMMAS
#define NR_OF_PRIMES   174
#define NUMBER_ELEMENTS   "0123456789.:"
#define NUMBERS   "0123456789"
#define ONE_CH   '1'
#define OPERATORS   "~+-*/^&|!<>="
#define OR_CH   '|'
#define PARENTHESISS   "()"
#define PLUS   "+"
#define PLUS_CH   '+'
#define POWER   "^"
#define POWER_CH   '^'
#define PRECISION   CALCULATOR->getPrecision()
#define RESERVED   "\'@?\\{}\""
#define RIGHT_PARENTHESIS   ")"
#define RIGHT_PARENTHESIS_CH   ')'
#define RIGHT_VECTOR_WRAP   "]"
#define RIGHT_VECTOR_WRAP_CH   ']'
#define SEVEN_CH   '7'
#define SEXADOT   ":"
#define SHIFT_LEFT   "<<"
#define SHIFT_RIGHT   ">>"
#define SIGN_ALMOST_EQUAL   "≈"
#define SIGN_APPROXIMATELY_EQUAL   "≅"
#define SIGN_CAPITAL_BETA   "Β"
#define SIGN_CAPITAL_GAMMA   "Γ"
#define SIGN_CAPITAL_OMEGA   "Ω"
#define SIGN_CAPITAL_PI   "Π"
#define SIGN_CAPITAL_SIGMA   "Σ"
#define SIGN_CENT   "¢"
#define SIGN_DIVISION   "÷"
#define SIGN_DIVISION_SLASH   "∕"
#define SIGN_EURO   "€"
#define SIGN_GAMMA   "γ"
#define SIGN_GREATER_OR_EQUAL   "≥"
#define SIGN_INFINITY   "∞"
#define SIGN_LESS_OR_EQUAL   "≤"
#define SIGN_MICRO   "µ"
#define SIGN_MINUS   "−"
#define SIGN_MULTIBULLET   "∙"
#define SIGN_MULTIDOT   "⋅"
#define SIGN_MULTIPLICATION   "×"
#define SIGN_NOT_EQUAL   "≠"
#define SIGN_PHI   "φ"
#define SIGN_PI   "π"
#define SIGN_PLUS   "+"
#define SIGN_POUND   "£"
#define SIGN_POWER_0   "°"
#define SIGN_POWER_1   "¹"
#define SIGN_POWER_2   "²"
#define SIGN_POWER_3   "³"
#define SIGN_SMALLCIRCLE   "•"
#define SIGN_SQRT   "√"
#define SIGN_YEN   "¥"
#define SIGN_ZETA   "ζ"
#define SIGNS   "+-*/^"
#define SINF   "INF"
#define SIX_CH   '6'
#define SNAN   "NAN"
#define SPACE   " "
#define SPACE_CH   ' '
#define SPACES   " \t\n"
#define SQP_LT_1000   11
#define SQP_LT_10000   28
#define SQP_LT_100000   68
#define SQP_LT_2000   17
#define SQP_LT_25000   40
#define THREE_CH   '3'
#define TWO_CH   '2'
#define UNDERSCORE   "_"
#define UNIT_DIVISION_CH   '/'
#define VECTOR_WRAPS   "[]"
#define ZERO_CH   '0'

Enumerations

enum  AngleUnit { ANGLE_UNIT_NONE, ANGLE_UNIT_RADIANS, ANGLE_UNIT_DEGREES, ANGLE_UNIT_GRADIANS }
enum  ApproximationMode { APPROXIMATION_EXACT, APPROXIMATION_TRY_EXACT, APPROXIMATION_APPROXIMATE }
enum  AutoPostConversion { POST_CONVERSION_NONE, POST_CONVERSION_BEST, POST_CONVERSION_BASE }
enum  BaseDisplay { BASE_DISPLAY_NONE, BASE_DISPLAY_NORMAL, BASE_DISPLAY_ALTERNATIVE }
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
}
 The result of a comparison of two values.
enum  ComparisonType {
  COMPARISON_LESS, COMPARISON_GREATER, COMPARISON_EQUALS_LESS, COMPARISON_EQUALS_GREATER,
  COMPARISON_EQUALS, COMPARISON_NOT_EQUALS
}
 Comparison signs for comparison structures.
enum  DivisionSign { DIVISION_SIGN_SLASH, DIVISION_SIGN_DIVISION_SLASH, DIVISION_SIGN_DIVISION }
enum  ExpressionItemType { TYPE_VARIABLE, TYPE_FUNCTION, TYPE_UNIT }
 Type of ExpressionItem. More...
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  MultiplicationSign { MULTIPLICATION_SIGN_ASTERISK, MULTIPLICATION_SIGN_DOT, MULTIPLICATION_SIGN_X }
enum  NumberFractionFormat { FRACTION_DECIMAL, FRACTION_DECIMAL_EXACT, FRACTION_FRACTIONAL, FRACTION_COMBINED }
enum  PlotFileType {
  PLOT_FILETYPE_AUTO, PLOT_FILETYPE_PNG, PLOT_FILETYPE_PS, PLOT_FILETYPE_EPS,
  PLOT_FILETYPE_LATEX, PLOT_FILETYPE_SVG, PLOT_FILETYPE_FIG
}
 File type for saving plot to image.
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  PlotSmoothing {
  PLOT_SMOOTHING_NONE, PLOT_SMOOTHING_UNIQUE, PLOT_SMOOTHING_CSPLINES, PLOT_SMOOTHING_BEZIER,
  PLOT_SMOOTHING_SBEZIER
}
 Smoothing a plotted lines.
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  ReadPrecisionMode { DONT_READ_PRECISION, ALWAYS_READ_PRECISION, READ_PRECISION_WHEN_DECIMALS }
enum  SortFlags { SORT_DEFAULT = 1 << 0, SORT_SCIENTIFIC = 1 << 1 }
enum  StructuringMode { STRUCTURING_NONE, STRUCTURING_SIMPLIFY, STRUCTURING_FACTORIZE }

Variables

Calculatorcalculator
static struct EvaluationOptions default_evaluation_options
 Options for calculation.
static struct ParseOptions default_parse_options
 Options for parsing expressions.
static struct PrintOptions default_print_options
 Options for formatting and display of mathematical structures/results.
static struct SortOptions default_sort_options
 Options for ordering the parts of a mathematical expression/result before display.
ExpressionName empty_expression_name
static string empty_string
MathStructure m_empty_matrix
MathStructure m_empty_vector
MathStructure m_minus_one
MathStructure m_one
MathStructure m_undefined
MathStructure m_zero
EvaluationOptions no_evaluation
Number nr_minus_one
Number nr_one
Number nr_zero
static const int PRIMES []
static const int SQUARE_PRIMES []
static struct InternalPrintStruct top_ips


Generated by  Doxygen 1.6.0   Back to index