[poincare] Change name DisplayMode -> FloatDisplayMode

Change-Id: I7754b4a5ac96c3f3564749749b49130ddf357e20
This commit is contained in:
Émilie Feral
2017-02-14 10:09:38 +01:00
parent 15a736c855
commit b79bcfb9dc
59 changed files with 135 additions and 135 deletions

View File

@@ -28,7 +28,7 @@ ValuesController::ValuesController(Responder * parentResponder, FunctionStore *
StackViewController * stack = ((StackViewController *)valuesController->stackController());
stack->push(valuesController->intervalParameterController());
}, this), KDText::FontSize::Small)),
m_displayModeVersion(Expression::DisplayMode::Auto)
m_displayModeVersion(Expression::FloatDisplayMode::Auto)
{
m_interval.setStart(0);
m_interval.setEnd(10);
@@ -41,10 +41,10 @@ const char * ValuesController::title() const {
View * ValuesController::view() {
App * graphApp = (App *)app();
Expression::DisplayMode displayMode = graphApp->container()->preferences()->displayMode();
if (displayMode != m_displayModeVersion) {
Expression::FloatDisplayMode FloatDisplayMode = graphApp->container()->preferences()->displayMode();
if (FloatDisplayMode != m_displayModeVersion) {
m_selectableTableView.reloadData();
m_displayModeVersion = displayMode;
m_displayModeVersion = FloatDisplayMode;
}
return EditableCellTableViewController::view();
}

View File

@@ -72,7 +72,7 @@ private:
FunctionParameterController m_functionParameterController;
DerivativeParameterController m_derivativeParameterController;
Button m_setIntervalButton;
Poincare::Expression::DisplayMode m_displayModeVersion;
Poincare::Expression::FloatDisplayMode m_displayModeVersion;
};
}

View File

@@ -4,7 +4,7 @@ using namespace Poincare;
Preferences::Preferences() :
m_angleUnit(Expression::AngleUnit::Degree),
m_displayMode(Expression::DisplayMode::Auto),
m_displayMode(Expression::FloatDisplayMode::Auto),
m_numberType(NumberType::Reel),
m_complexFormat(ComplexFormat::Algebric),
m_language(Language::French)
@@ -21,13 +21,13 @@ void Preferences::setAngleUnit(Expression::AngleUnit angleUnit) {
}
}
Expression::DisplayMode Preferences::displayMode() const {
Expression::FloatDisplayMode Preferences::displayMode() const {
return m_displayMode;
}
void Preferences::setDisplayMode(Expression::DisplayMode displayMode) {
if (displayMode != m_displayMode) {
m_displayMode = displayMode;
void Preferences::setDisplayMode(Expression::FloatDisplayMode FloatDisplayMode) {
if (FloatDisplayMode != m_displayMode) {
m_displayMode = FloatDisplayMode;
}
}

View File

@@ -20,8 +20,8 @@ public:
Preferences();
Poincare::Expression::AngleUnit angleUnit() const;
void setAngleUnit(Poincare::Expression::AngleUnit angleUnit);
Poincare::Expression::DisplayMode displayMode() const;
void setDisplayMode(Poincare::Expression::DisplayMode displayMode);
Poincare::Expression::FloatDisplayMode displayMode() const;
void setDisplayMode(Poincare::Expression::FloatDisplayMode FloatDisplayMode);
NumberType numberType() const;
void setNumberType(NumberType numberType);
ComplexFormat complexFormat() const;
@@ -30,7 +30,7 @@ public:
void setLanguage(Language language);
private:
Poincare::Expression::AngleUnit m_angleUnit;
Poincare::Expression::DisplayMode m_displayMode;
Poincare::Expression::FloatDisplayMode m_displayMode;
NumberType m_numberType;
ComplexFormat m_complexFormat;
Language m_language;

View File

@@ -69,7 +69,7 @@ View * CalculationController::ContentView::subviewAtIndex(int index) {
void CalculationController::ContentView::willDisplayEditableCellAtIndex(int index) {
char buffer[Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
Complex::convertFloatToText(m_calculation->parameterAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits), Constant::ShortNumberOfSignificantDigits, Expression::DisplayMode::Auto);
Complex::convertFloatToText(m_calculation->parameterAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits), Constant::ShortNumberOfSignificantDigits, Expression::FloatDisplayMode::Auto);
m_calculationCell[index].setText(buffer);
}
@@ -243,7 +243,7 @@ void CalculationController::updateTitle() {
strlcpy(m_titleBuffer+currentChar, " = ", 4);
currentChar += 3;
char buffer[Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
Complex::convertFloatToText(m_law->parameterValueAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits), Constant::ShortNumberOfSignificantDigits, Expression::DisplayMode::Auto);
Complex::convertFloatToText(m_law->parameterValueAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits), Constant::ShortNumberOfSignificantDigits, Expression::FloatDisplayMode::Auto);
strlcpy(m_titleBuffer+currentChar, buffer, strlen(buffer)+1);
currentChar += strlen(buffer);
m_titleBuffer[currentChar++] = ' ';

View File

@@ -4,12 +4,12 @@
namespace Settings {
const SettingsNode angleChildren[2] = {SettingsNode("Degre"), SettingsNode("Radian")};
const SettingsNode displayModeChildren[2] = {SettingsNode("Auto"), SettingsNode("Scientifique")};
const SettingsNode FloatDisplayModeChildren[2] = {SettingsNode("Auto"), SettingsNode("Scientifique")};
const SettingsNode numberTypeChildren[2] = {SettingsNode("Reel"), SettingsNode("Complexe")};
const SettingsNode complexFormatChildren[2] = {SettingsNode("Algebrique"), SettingsNode("Polaire")};
const SettingsNode languageChildren[3] = {SettingsNode("Anglais"), SettingsNode("Francais"), SettingsNode("Espagnol")};
const SettingsNode menu[5] = {SettingsNode("Unite d'angles", angleChildren, 2), SettingsNode("Format resultat", displayModeChildren, 2),
const SettingsNode menu[5] = {SettingsNode("Unite d'angles", angleChildren, 2), SettingsNode("Format resultat", FloatDisplayModeChildren, 2),
SettingsNode("Reel ou complexe", numberTypeChildren, 2), SettingsNode("Format complexe", complexFormatChildren, 2),
SettingsNode("Langue", languageChildren, 3)};
const SettingsNode model = SettingsNode("Parametres", menu, 5);

View File

@@ -90,7 +90,7 @@ void SubController::setPreferenceAtIndexWithValueIndex(int preferenceIndex, int
m_preferences->setAngleUnit((Expression::AngleUnit)valueIndex);
break;
case 1:
m_preferences->setDisplayMode((Expression::DisplayMode)valueIndex);
m_preferences->setDisplayMode((Expression::FloatDisplayMode)valueIndex);
break;
case 2:
m_preferences->setNumberType((Preferences::NumberType)valueIndex);

View File

@@ -87,7 +87,7 @@ void CurveView::computeLabels(Axis axis) {
for (int index = 0; index < numberOfLabels(axis); index++) {
Complex::convertFloatToText(2.0f*step*(ceilf(min(axis)/(2.0f*step)))+index*2.0f*step, buffer,
Complex::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits),
Constant::ShortNumberOfSignificantDigits, Expression::DisplayMode::Auto);
Constant::ShortNumberOfSignificantDigits, Expression::FloatDisplayMode::Auto);
//TODO: check for size of label?
strlcpy(label(axis, index), buffer, strlen(buffer)+1);
}

View File

@@ -67,7 +67,7 @@ int EditableCellTableViewController::indexFromCumulatedHeight(KDCoordinate offse
return (offsetY-1) / k_cellHeight;
}
void EditableCellTableViewController::willDisplayCellAtLocationWithDisplayMode(TableViewCell * cell, int i, int j, Expression::DisplayMode displayMode) {
void EditableCellTableViewController::willDisplayCellAtLocationWithDisplayMode(TableViewCell * cell, int i, int j, Expression::FloatDisplayMode FloatDisplayMode) {
EvenOddCell * myCell = (EvenOddCell *)cell;
myCell->setEven(j%2 == 0);
// The cell is editable
@@ -85,7 +85,7 @@ void EditableCellTableViewController::willDisplayCellAtLocationWithDisplayMode(T
}
}
if (!myEditableValueCell->isEditing()) {
Complex::convertFloatToText(dataAtLocation(i, j), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits, displayMode);
Complex::convertFloatToText(dataAtLocation(i, j), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits, FloatDisplayMode);
myEditableValueCell->setText(buffer);
}
return;

View File

@@ -17,7 +17,7 @@ public:
void tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY) override;
int numberOfRows() override;
void willDisplayCellAtLocationWithDisplayMode(TableViewCell * cell, int i, int j, Poincare::Expression::DisplayMode displayMode);
void willDisplayCellAtLocationWithDisplayMode(TableViewCell * cell, int i, int j, Poincare::Expression::FloatDisplayMode FloatDisplayMode);
KDCoordinate rowHeight(int j) override;
KDCoordinate cumulatedHeightFromIndex(int j) override;
int indexFromCumulatedHeight(KDCoordinate offsetY) override;

View File

@@ -31,7 +31,7 @@ int FloatParameterController::activeCell() {
void FloatParameterController::willDisplayCellForIndex(TableViewCell * cell, int index) {
EditableTextMenuListCell * myCell = (EditableTextMenuListCell *) cell;
char buffer[Complex::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits)];
Complex::convertFloatToText(parameterAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits, Expression::DisplayMode::Auto);
Complex::convertFloatToText(parameterAtIndex(index), buffer, Complex::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits), Constant::LargeNumberOfSignificantDigits, Expression::FloatDisplayMode::Auto);
myCell->setAccessoryText(buffer);
}

View File

@@ -30,7 +30,7 @@ InteractiveCurveViewController::InteractiveCurveViewController(Responder * paren
StackViewController * stack = graphController->stackController();
stack->push(graphController->initialisationParameterController());
}, this), KDText::FontSize::Small),
m_displayModeVersion(Expression::DisplayMode::Auto)
m_displayModeVersion(Expression::FloatDisplayMode::Auto)
{
}
@@ -40,11 +40,11 @@ const char * InteractiveCurveViewController::title() const {
View * InteractiveCurveViewController::view() {
AppsContainer * myContainer = ((TextFieldDelegateApp *)app())->container();
Expression::DisplayMode displayMode = myContainer->preferences()->displayMode();
if (displayMode != m_displayModeVersion) {
Expression::FloatDisplayMode FloatDisplayMode = myContainer->preferences()->displayMode();
if (FloatDisplayMode != m_displayModeVersion) {
reloadBannerView();
curveView()->reload();
m_displayModeVersion = displayMode;
m_displayModeVersion = FloatDisplayMode;
}
return curveView();
}

View File

@@ -55,7 +55,7 @@ private:
Button m_rangeButton;
Button m_zoomButton;
Button m_defaultInitialisationButton;
Poincare::Expression::DisplayMode m_displayModeVersion;
Poincare::Expression::FloatDisplayMode m_displayModeVersion;
};
}

View File

@@ -67,7 +67,7 @@ int StoreController::typeAtLocation(int i, int j) {
}
void StoreController::willDisplayCellAtLocation(TableViewCell * cell, int i, int j) {
willDisplayCellAtLocationWithDisplayMode(cell, i, j, Expression::DisplayMode::Auto);
willDisplayCellAtLocationWithDisplayMode(cell, i, j, Expression::FloatDisplayMode::Auto);
}
bool StoreController::handleEvent(Ion::Events::Event event) {

View File

@@ -13,7 +13,7 @@ BoxController::BoxController(Responder * parentResponder, HeaderViewController *
m_boxBannerView(BoxBannerView()),
m_view(BoxView(store, &m_boxBannerView)),
m_store(store),
m_displayModeVersion(Expression::DisplayMode::Auto)
m_displayModeVersion(Expression::FloatDisplayMode::Auto)
{
}
@@ -23,11 +23,11 @@ const char * BoxController::title() const {
View * BoxController::view() {
AppsContainer * myContainer = ((App *)app())->container();
Expression::DisplayMode displayMode = myContainer->preferences()->displayMode();
if (displayMode != m_displayModeVersion) {
Expression::FloatDisplayMode FloatDisplayMode = myContainer->preferences()->displayMode();
if (FloatDisplayMode != m_displayModeVersion) {
reloadBannerView();
m_view.reload();
m_displayModeVersion = displayMode;
m_displayModeVersion = FloatDisplayMode;
}
return &m_view;
}

View File

@@ -24,7 +24,7 @@ private:
BoxBannerView m_boxBannerView;
BoxView m_view;
Store * m_store;
Poincare::Expression::DisplayMode m_displayModeVersion;
Poincare::Expression::FloatDisplayMode m_displayModeVersion;
};
}

View File

@@ -23,7 +23,7 @@ HistogramController::HistogramController(Responder * parentResponder, HeaderView
m_store(store),
m_cursor(CurveViewCursor()),
m_histogramParameterController(nullptr, store),
m_displayModeVersion(Expression::DisplayMode::Auto)
m_displayModeVersion(Expression::FloatDisplayMode::Auto)
{
}
@@ -33,11 +33,11 @@ const char * HistogramController::title() const {
View * HistogramController::view() {
AppsContainer * container = ((App *)app())->container();
Expression::DisplayMode displayMode = container->preferences()->displayMode();
if (displayMode != m_displayModeVersion) {
Expression::FloatDisplayMode FloatDisplayMode = container->preferences()->displayMode();
if (FloatDisplayMode != m_displayModeVersion) {
reloadBannerView();
m_view.reload();
m_displayModeVersion = displayMode;
m_displayModeVersion = FloatDisplayMode;
}
return &m_view;
}

View File

@@ -47,7 +47,7 @@ private:
uint32_t m_rangeVersion;
int m_selectedBarIndex;
HistogramParameterController m_histogramParameterController;
Poincare::Expression::DisplayMode m_displayModeVersion;
Poincare::Expression::FloatDisplayMode m_displayModeVersion;
};
}

View File

@@ -49,7 +49,7 @@ void TitleBarView::layoutSubviews() {
void TitleBarView::setPreferences(Preferences * preferences) {
char buffer[13];
int numberOfChar = 0;
if (preferences->displayMode() == Expression::DisplayMode::Scientific) {
if (preferences->displayMode() == Expression::FloatDisplayMode::Scientific) {
strlcpy(buffer, "sci/", 5);
numberOfChar += 4;
}

View File

@@ -13,7 +13,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
};
}

View File

@@ -9,7 +9,7 @@ class Addition : public BinaryOperation {
using BinaryOperation::BinaryOperation;
public:
Type type() const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,
int numnerOfOperands, bool cloneOperands = true) const override;

View File

@@ -12,7 +12,7 @@ public:
const char * fractionalPart, int fractionalPartLength,
const char * exponent, int exponentLength, bool exponentNegative);
void setNumberOfSignificantDigits(int numberOfDigits);
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;
@@ -34,7 +34,7 @@ public:
* is truncated at the end of the buffer.
* ConvertFloat to Text return the number of characters that have been written
* in buffer (excluding the last \O character) */
static int convertFloatToText(float f, char * buffer, int bufferSize, int numberOfSignificantDigits, DisplayMode mode = DisplayMode::Scientific);
static int convertFloatToText(float f, char * buffer, int bufferSize, int numberOfSignificantDigits, FloatDisplayMode mode = FloatDisplayMode::Scientific);
constexpr static int bufferSizeForFloatsWithPrecision(int numberOfSignificantDigits) {
// The wors case is -1.234E-38
return numberOfSignificantDigits + 7;
@@ -50,8 +50,8 @@ private:
constexpr static int k_maxComplexBufferLength = 13+13+1;
/* convertComplexToText and convertFloatToTextPrivate return the string length
* of the buffer (does not count the 0 last char)*/
int convertComplexToText(char * buffer, int bufferSize, DisplayMode displayMode) const;
static int convertFloatToTextPrivate(float f, char * buffer, int numberOfSignificantDigits, DisplayMode mode);
int convertComplexToText(char * buffer, int bufferSize, FloatDisplayMode FloatDisplayMode) const;
static int convertFloatToTextPrivate(float f, char * buffer, int numberOfSignificantDigits, FloatDisplayMode mode);
/* This function prints the int i in the buffer with a '.' at the position
* specified by the decimalMarkerPosition. It starts printing at the end of the
* buffer and print from right to left. The integer given should be of the right

View File

@@ -39,18 +39,18 @@ class Expression {
Symbol,
Tangent,
};
enum class DisplayMode {
Auto = 0,
Scientific = 1
};
enum class AngleUnit {
Degree = 0,
Radian = 1
};
enum class FloatDisplayMode {
Auto = 0,
Scientific = 1
};
static Expression * parse(char const * string);
virtual ~Expression();
virtual ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const = 0; // Returned object must be deleted
virtual ExpressionLayout * createLayout(Expression::FloatDisplayMode FloatDisplayMode = Expression::FloatDisplayMode::Auto) const = 0; // Returned object must be deleted
virtual const Expression * operand(int i) const = 0;
virtual int numberOfOperands() const = 0;
virtual Expression * clone() const = 0;

View File

@@ -8,7 +8,7 @@ namespace Poincare {
class Fraction : public BinaryOperation {
using BinaryOperation::BinaryOperation;
public:
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,

View File

@@ -15,7 +15,7 @@ public:
~Function();
void setArgument(Expression ** args, int numberOfArguments, bool clone = true);
void setArgument(ListData * listData, bool clone = true);
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
const Expression * operand(int i) const override;
int numberOfOperands() const override;
Expression * clone() const override;

View File

@@ -33,7 +33,7 @@ class Integer : public LeafExpression {
bool valueEquals(const Expression * e) const override;
Expression * clone() const override;
virtual ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
virtual ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
private:

View File

@@ -13,7 +13,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
private:
struct DetailedResult
{

View File

@@ -12,7 +12,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
};
}

View File

@@ -15,7 +15,7 @@ class Matrix : public Expression {
const Expression * operand(int i) const override;
int numberOfOperands() const override;
Expression * clone() const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;

View File

@@ -9,7 +9,7 @@ class Multiplication : public BinaryOperation {
using BinaryOperation::BinaryOperation;
public:
Type type() const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,
int numnerOfOperands, bool cloneOperands = true) const override;

View File

@@ -12,7 +12,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
};

View File

@@ -14,7 +14,7 @@ class Opposite : public Expression {
int numberOfOperands() const override;
Expression * clone() const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,

View File

@@ -12,7 +12,7 @@ class Parenthesis : public Expression {
const Expression * operand(int i) const override;
int numberOfOperands() const override;
Expression * clone() const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;

View File

@@ -8,7 +8,7 @@ namespace Poincare {
class Power : public BinaryOperation {
using BinaryOperation::BinaryOperation;
public:
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,

View File

@@ -12,7 +12,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
};

View File

@@ -12,7 +12,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
};

View File

@@ -8,7 +8,7 @@ namespace Poincare {
class Subtraction : public BinaryOperation {
using BinaryOperation::BinaryOperation;
public:
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;
Expression * cloneWithDifferentOperands(Expression** newOperands,

View File

@@ -12,7 +12,7 @@ public:
Type type() const override;
Expression * cloneWithDifferentOperands(Expression ** newOperands,
int numberOfOperands, bool cloneOperands = true) const override;
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
};

View File

@@ -11,7 +11,7 @@ public:
Ans = '^'
};
Symbol(char name);
ExpressionLayout * createLayout(DisplayMode displayMode = DisplayMode::Auto) const override;
ExpressionLayout * createLayout(FloatDisplayMode FloatDisplayMode = FloatDisplayMode::Auto) const override;
float approximate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Expression * evaluate(Context& context, AngleUnit angleUnit = AngleUnit::Radian) const override;
Type type() const override;

View File

@@ -53,8 +53,8 @@ Expression * AbsoluteValue::evaluate(Context& context, AngleUnit angleUnit) cons
return result;
}
ExpressionLayout * AbsoluteValue::createLayout(DisplayMode displayMode) const {
return new AbsoluteValueLayout(m_args[0]->createLayout(displayMode));
ExpressionLayout * AbsoluteValue::createLayout(FloatDisplayMode FloatDisplayMode) const {
return new AbsoluteValueLayout(m_args[0]->createLayout(FloatDisplayMode));
}
}

View File

@@ -13,11 +13,11 @@ Expression::Type Addition::type() const {
return Type::Addition;
}
ExpressionLayout * Addition::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Addition::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout** children_layouts = (ExpressionLayout **)malloc(3*sizeof(ExpressionLayout *));
children_layouts[0] = m_operands[0]->createLayout(displayMode);
children_layouts[0] = m_operands[0]->createLayout(FloatDisplayMode);
children_layouts[1] = new StringLayout("+", 1);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(displayMode)) : m_operands[1]->createLayout(displayMode);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(FloatDisplayMode)) : m_operands[1]->createLayout(FloatDisplayMode);
return new HorizontalLayout(children_layouts, 3);
}

View File

@@ -78,14 +78,14 @@ Expression::Type Complex::type() const {
return Type::Complex;
}
ExpressionLayout * Complex::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Complex::createLayout(FloatDisplayMode displayMode) const {
char buffer[k_maxComplexBufferLength];
int numberOfChars = convertComplexToText(buffer, k_maxComplexBufferLength, displayMode);
return new StringLayout(buffer, numberOfChars);
}
int Complex::writeTextInBuffer(char * buffer, int bufferSize) {
return convertComplexToText(buffer, bufferSize, DisplayMode::Auto);
return convertComplexToText(buffer, bufferSize, FloatDisplayMode::Auto);
}
float Complex::a() {
@@ -116,7 +116,7 @@ float Complex::absoluteValue() {
}
int Complex::convertFloatToText(float f, char * buffer, int bufferSize,
int numberOfSignificantDigits, DisplayMode mode) {
int numberOfSignificantDigits, FloatDisplayMode mode) {
char tempBuffer[k_maxFloatBufferLength];
int requiredLength = convertFloatToTextPrivate(f, tempBuffer, numberOfSignificantDigits, mode);
/* if the required buffer size overflows the buffer size, we first force the
@@ -124,18 +124,18 @@ int Complex::convertFloatToText(float f, char * buffer, int bufferSize,
* fit the buffer size. If the buffer size is still to small, we only write
* the beginning of the float and truncate it (which can result in a non sense
* text) */
if (mode == DisplayMode::Auto && requiredLength >= bufferSize) {
requiredLength = convertFloatToTextPrivate(f, tempBuffer, numberOfSignificantDigits, DisplayMode::Scientific);
if (mode == FloatDisplayMode::Auto && requiredLength >= bufferSize) {
requiredLength = convertFloatToTextPrivate(f, tempBuffer, numberOfSignificantDigits, FloatDisplayMode::Scientific);
}
if (requiredLength >= bufferSize) {
requiredLength = convertFloatToTextPrivate(f, tempBuffer, numberOfSignificantDigits - requiredLength + bufferSize - 1, DisplayMode::Scientific);
requiredLength = convertFloatToTextPrivate(f, tempBuffer, numberOfSignificantDigits - requiredLength + bufferSize - 1, FloatDisplayMode::Scientific);
}
requiredLength = requiredLength < bufferSize ? requiredLength : bufferSize;
strlcpy(buffer, tempBuffer, bufferSize);
return requiredLength;
}
int Complex::convertComplexToText(char * buffer, int bufferSize, DisplayMode displayMode) const {
int Complex::convertComplexToText(char * buffer, int bufferSize, FloatDisplayMode displayMode) const {
int numberOfChars = 0;
if (m_a != 0.0f || m_b == 0.0f) {
numberOfChars = convertFloatToText(m_a, buffer, bufferSize, m_numberOfSignificantDigits, displayMode);
@@ -160,7 +160,7 @@ int Complex::convertComplexToText(char * buffer, int bufferSize, DisplayMode dis
}
int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSignificantDigits, DisplayMode mode) {
int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSignificantDigits, FloatDisplayMode mode) {
if (isinf(f)) {
buffer[0] = f > 0 ? '+' : '-';
buffer[1] = 'I';
@@ -187,12 +187,12 @@ int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSigni
exponentInBase10--;
}
DisplayMode displayMode = mode;
if ((exponentInBase10 >= numberOfSignificantDigits || exponentInBase10 <= -numberOfSignificantDigits) && mode == DisplayMode::Auto) {
displayMode = DisplayMode::Scientific;
FloatDisplayMode displayMode = mode;
if ((exponentInBase10 >= numberOfSignificantDigits || exponentInBase10 <= -numberOfSignificantDigits) && mode == FloatDisplayMode::Auto) {
displayMode = FloatDisplayMode::Scientific;
}
int decimalMarkerPosition = exponentInBase10 < 0 || displayMode == DisplayMode::Scientific ?
int decimalMarkerPosition = exponentInBase10 < 0 || displayMode == FloatDisplayMode::Scientific ?
1 : exponentInBase10+1;
// Number of char available for the mantissa
@@ -205,11 +205,11 @@ int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSigni
* threshold during computation. */
int numberMaximalOfCharsInInteger = log10f(powf(2, 31));
assert(availableCharsForMantissaWithoutSign - 1 < numberMaximalOfCharsInInteger);
int numberOfDigitBeforeDecimal = exponentInBase10 >= 0 || displayMode == DisplayMode::Scientific ?
int numberOfDigitBeforeDecimal = exponentInBase10 >= 0 || displayMode == FloatDisplayMode::Scientific ?
exponentInBase10 + 1 : 1;
int mantissa = roundf(f * powf(10, availableCharsForMantissaWithoutSign - 1 - numberOfDigitBeforeDecimal));
// Correct the number of digits in mantissa after rounding
int mantissaExponentInBase10 = exponentInBase10 > 0 || displayMode == DisplayMode::Scientific ? availableCharsForMantissaWithoutSign - 1 : availableCharsForMantissaWithoutSign + exponentInBase10;
int mantissaExponentInBase10 = exponentInBase10 > 0 || displayMode == FloatDisplayMode::Scientific ? availableCharsForMantissaWithoutSign - 1 : availableCharsForMantissaWithoutSign + exponentInBase10;
if ((int)(mantissa * powf(10, - mantissaExponentInBase10)) > 0) {
mantissa = mantissa/10;
exponentInBase10++;
@@ -225,9 +225,9 @@ int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSigni
int dividend = fabsf((float)mantissa);
int quotien = dividend/10;
int digit = dividend - quotien*10;
int minimumNumberOfCharsInMantissa = displayMode == DisplayMode::Scientific ? 3 : 1;
int minimumNumberOfCharsInMantissa = displayMode == FloatDisplayMode::Scientific ? 3 : 1;
while (digit == 0 && availableCharsForMantissaWithSign > minimumNumberOfCharsInMantissa &&
(availableCharsForMantissaWithoutSign > exponentInBase10+2 || displayMode == DisplayMode::Scientific)) {
(availableCharsForMantissaWithoutSign > exponentInBase10+2 || displayMode == FloatDisplayMode::Scientific)) {
mantissa = mantissa/10;
availableCharsForMantissaWithoutSign--;
availableCharsForMantissaWithSign--;
@@ -237,13 +237,13 @@ int Complex::convertFloatToTextPrivate(float f, char * buffer, int numberOfSigni
}
// Suppress the decimal marker if no fractional part
if (displayMode == DisplayMode::Auto && availableCharsForMantissaWithoutSign == exponentInBase10+2) {
if (displayMode == FloatDisplayMode::Auto && availableCharsForMantissaWithoutSign == exponentInBase10+2) {
availableCharsForMantissaWithSign--;
}
// Print mantissa
printBase10IntegerWithDecimalMarker(buffer, availableCharsForMantissaWithSign, mantissa, decimalMarkerPosition);
if (displayMode == DisplayMode::Auto) {
if (displayMode == FloatDisplayMode::Auto) {
buffer[availableCharsForMantissaWithSign] = 0;
return availableCharsForMantissaWithSign;
}

View File

@@ -15,8 +15,8 @@ Expression * Fraction::cloneWithDifferentOperands(Expression** newOperands,
return new Fraction(newOperands, cloneOperands);
}
ExpressionLayout * Fraction::createLayout(DisplayMode displayMode) const {
return new FractionLayout(m_operands[0]->createLayout(displayMode), m_operands[1]->createLayout(displayMode));
ExpressionLayout * Fraction::createLayout(FloatDisplayMode FloatDisplayMode) const {
return new FractionLayout(m_operands[0]->createLayout(FloatDisplayMode), m_operands[1]->createLayout(FloatDisplayMode));
}
float Fraction::approximate(Context& context, AngleUnit angleUnit) const {

View File

@@ -67,13 +67,13 @@ Expression * Function::clone() const {
return this->cloneWithDifferentOperands(m_args, m_numberOfArguments, true);
}
ExpressionLayout * Function::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Function::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout ** grandChildrenLayouts = (ExpressionLayout **)malloc((2*m_numberOfArguments-1)*sizeof(ExpressionLayout *));
int layoutIndex = 0;
grandChildrenLayouts[layoutIndex++] = m_args[0]->createLayout(displayMode);
grandChildrenLayouts[layoutIndex++] = m_args[0]->createLayout(FloatDisplayMode);
for (int i = 1; i < m_numberOfArguments; i++) {
grandChildrenLayouts[layoutIndex++] = new StringLayout(",", 1);
grandChildrenLayouts[layoutIndex++] = m_args[i]->createLayout(displayMode);
grandChildrenLayouts[layoutIndex++] = m_args[i]->createLayout(FloatDisplayMode);
}
ExpressionLayout * argumentLayouts = new HorizontalLayout(grandChildrenLayouts, 2*m_numberOfArguments-1);
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));

View File

@@ -318,7 +318,7 @@ Expression::Type Integer::type() const {
return Type::Integer;
}
ExpressionLayout * Integer::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Integer::createLayout(FloatDisplayMode FloatDisplayMode) const {
char buffer[255];
Integer base = Integer(10);

View File

@@ -46,11 +46,11 @@ float Integral::approximate(Context& context, AngleUnit angleUnit) const {
#endif
}
ExpressionLayout * Integral::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Integral::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));
childrenLayouts[0] = m_args[0]->createLayout(displayMode);
childrenLayouts[0] = m_args[0]->createLayout(FloatDisplayMode);
childrenLayouts[1] = new StringLayout("dx", 2);
return new IntegralLayout(m_args[1]->createLayout(displayMode), m_args[2]->createLayout(displayMode), new HorizontalLayout(childrenLayouts, 2));
return new IntegralLayout(m_args[1]->createLayout(FloatDisplayMode), m_args[2]->createLayout(FloatDisplayMode), new HorizontalLayout(childrenLayouts, 2));
}
float Integral::functionValueAtAbscissa(float x, VariableContext xContext, AngleUnit angleUnit) const {

View File

@@ -36,13 +36,13 @@ float Logarithm::approximate(Context& context, AngleUnit angleUnit) const {
return log10f(m_args[1]->approximate(context, angleUnit))/log10f(m_args[0]->approximate(context, angleUnit));
}
ExpressionLayout * Logarithm::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Logarithm::createLayout(FloatDisplayMode FloatDisplayMode) const {
if (m_numberOfArguments == 1) {
return Function::createLayout(displayMode);
return Function::createLayout(FloatDisplayMode);
}
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));
childrenLayouts[0] = new BaselineRelativeLayout(new StringLayout(m_name, strlen(m_name)), m_args[0]->createLayout(displayMode), BaselineRelativeLayout::Type::Subscript);
childrenLayouts[1] = new ParenthesisLayout(m_args[1]->createLayout(displayMode));
childrenLayouts[0] = new BaselineRelativeLayout(new StringLayout(m_name, strlen(m_name)), m_args[0]->createLayout(FloatDisplayMode), BaselineRelativeLayout::Type::Subscript);
childrenLayouts[1] = new ParenthesisLayout(m_args[1]->createLayout(FloatDisplayMode));
return new HorizontalLayout(childrenLayouts, 2);
}

View File

@@ -43,10 +43,10 @@ Expression * Matrix::clone() const {
return this->cloneWithDifferentOperands(m_matrixData->operands(), numberOfOperands(), true);
}
ExpressionLayout * Matrix::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Matrix::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(numberOfOperands()*sizeof(ExpressionLayout *));
for (int i = 0; i < numberOfOperands(); i++) {
childrenLayouts[i] = operand(i)->createLayout(displayMode);
childrenLayouts[i] = operand(i)->createLayout(FloatDisplayMode);
}
return new MatrixLayout(childrenLayouts, numberOfRows(), numberOfColumns());
}

View File

@@ -15,11 +15,11 @@ Expression::Type Multiplication::type() const {
return Expression::Type::Multiplication;
}
ExpressionLayout * Multiplication::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Multiplication::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout** children_layouts = (ExpressionLayout **)malloc(3*sizeof(ExpressionLayout *));
children_layouts[0] = m_operands[0]->createLayout(displayMode);
children_layouts[0] = m_operands[0]->createLayout(FloatDisplayMode);
children_layouts[1] = new StringLayout("*", 1);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(displayMode)) : m_operands[1]->createLayout(displayMode);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(FloatDisplayMode)) : m_operands[1]->createLayout(FloatDisplayMode);
return new HorizontalLayout(children_layouts, 3);
}

View File

@@ -33,8 +33,8 @@ float NthRoot::approximate(Context& context, AngleUnit angleUnit) const {
return powf(m_args[0]->approximate(context, angleUnit), 1.0f/m_args[1]->approximate(context, angleUnit));
}
ExpressionLayout * NthRoot::createLayout(DisplayMode displayMode) const {
return new NthRootLayout(m_args[0]->createLayout(displayMode), m_args[1]->createLayout(displayMode));
ExpressionLayout * NthRoot::createLayout(FloatDisplayMode FloatDisplayMode) const {
return new NthRootLayout(m_args[0]->createLayout(FloatDisplayMode), m_args[1]->createLayout(FloatDisplayMode));
}
Expression * NthRoot::evaluate(Context& context, AngleUnit angleUnit) const {

View File

@@ -52,11 +52,11 @@ Expression * Opposite::evaluate(Context& context, AngleUnit angleUnit) const {
return result;
}
ExpressionLayout * Opposite::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Opposite::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout** children_layouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));
char string[2] = {'-', '\0'};
children_layouts[0] = new StringLayout(string, 1);
children_layouts[1] = m_operand->type() == Type::Opposite ? new ParenthesisLayout(m_operand->createLayout(displayMode)) : m_operand->createLayout(displayMode);
children_layouts[1] = m_operand->type() == Type::Opposite ? new ParenthesisLayout(m_operand->createLayout(FloatDisplayMode)) : m_operand->createLayout(FloatDisplayMode);
return new HorizontalLayout(children_layouts, 2);
}

View File

@@ -33,8 +33,8 @@ Expression * Parenthesis::clone() const {
return this->cloneWithDifferentOperands((Expression**) &m_operand, 1, true);
}
ExpressionLayout * Parenthesis::createLayout(DisplayMode displayMode) const {
return new ParenthesisLayout(m_operand->createLayout(displayMode));
ExpressionLayout * Parenthesis::createLayout(FloatDisplayMode FloatDisplayMode) const {
return new ParenthesisLayout(m_operand->createLayout(FloatDisplayMode));
}
float Parenthesis::approximate(Context& context, AngleUnit angleUnit) const {

View File

@@ -22,13 +22,13 @@ Expression * Power::cloneWithDifferentOperands(Expression** newOperands,
return new Power(newOperands, cloneOperands);
}
ExpressionLayout * Power::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Power::createLayout(FloatDisplayMode FloatDisplayMode) const {
Expression * indiceOperand = m_operands[1];
// Delete eventual parentheses of the indice in the pretty print
if (m_operands[1]->type() == Type::Parenthesis) {
indiceOperand = (Expression *)m_operands[1]->operand(0);
}
return new BaselineRelativeLayout(m_operands[0]->createLayout(displayMode),indiceOperand->createLayout(displayMode), BaselineRelativeLayout::Type::Superscript);
return new BaselineRelativeLayout(m_operands[0]->createLayout(FloatDisplayMode),indiceOperand->createLayout(FloatDisplayMode), BaselineRelativeLayout::Type::Superscript);
}
Expression * Power::evaluateOnComplex(Complex * c, Complex * d, Context& context, AngleUnit angleUnit) const {

View File

@@ -46,11 +46,11 @@ float Product::approximate(Context& context, AngleUnit angleUnit) const {
return result;
}
ExpressionLayout * Product::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Product::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));
childrenLayouts[0] = new StringLayout("n=", 2);
childrenLayouts[1] = m_args[1]->createLayout(displayMode);
return new ProductLayout(new HorizontalLayout(childrenLayouts, 2), m_args[2]->createLayout(displayMode), m_args[0]->createLayout(displayMode));
childrenLayouts[1] = m_args[1]->createLayout(FloatDisplayMode);
return new ProductLayout(new HorizontalLayout(childrenLayouts, 2), m_args[2]->createLayout(FloatDisplayMode), m_args[0]->createLayout(FloatDisplayMode));
}
Expression * Product::evaluate(Context& context, AngleUnit angleUnit) const {

View File

@@ -31,8 +31,8 @@ float SquareRoot::approximate(Context& context, AngleUnit angleUnit) const {
return powf(m_args[0]->approximate(context, angleUnit), 1.0f/2.0f);
}
ExpressionLayout * SquareRoot::createLayout(DisplayMode displayMode) const {
return new NthRootLayout(m_args[0]->createLayout(displayMode),nullptr);
ExpressionLayout * SquareRoot::createLayout(FloatDisplayMode FloatDisplayMode) const {
return new NthRootLayout(m_args[0]->createLayout(FloatDisplayMode),nullptr);
}
Expression * SquareRoot::evaluate(Context& context, AngleUnit angleUnit) const {

View File

@@ -26,12 +26,12 @@ Expression::Type Subtraction::type() const {
return Expression::Type::Subtraction;
}
ExpressionLayout * Subtraction::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Subtraction::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout** children_layouts = (ExpressionLayout **)malloc(3*sizeof(ExpressionLayout *));
children_layouts[0] = m_operands[0]->createLayout(displayMode);
children_layouts[0] = m_operands[0]->createLayout(FloatDisplayMode);
char string[2] = {'-', '\0'};
children_layouts[1] = new StringLayout(string, 1);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(displayMode)) : m_operands[1]->createLayout(displayMode);
children_layouts[2] = m_operands[1]->type() == Type::Opposite ? new ParenthesisLayout(m_operands[1]->createLayout(FloatDisplayMode)) : m_operands[1]->createLayout(FloatDisplayMode);
return new HorizontalLayout(children_layouts, 3);
}

View File

@@ -46,11 +46,11 @@ float Sum::approximate(Context& context, AngleUnit angleUnit) const {
return result;
}
ExpressionLayout * Sum::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Sum::createLayout(FloatDisplayMode FloatDisplayMode) const {
ExpressionLayout ** childrenLayouts = (ExpressionLayout **)malloc(2*sizeof(ExpressionLayout *));
childrenLayouts[0] = new StringLayout("n=", 2);
childrenLayouts[1] = m_args[1]->createLayout(displayMode);
return new SumLayout(new HorizontalLayout(childrenLayouts, 2), m_args[2]->createLayout(displayMode), m_args[0]->createLayout(displayMode));
childrenLayouts[1] = m_args[1]->createLayout(FloatDisplayMode);
return new SumLayout(new HorizontalLayout(childrenLayouts, 2), m_args[2]->createLayout(FloatDisplayMode), m_args[0]->createLayout(FloatDisplayMode));
}
Expression * Sum::evaluate(Context& context, AngleUnit angleUnit) const {

View File

@@ -33,7 +33,7 @@ const char Symbol::name() const {
return m_name;
}
ExpressionLayout * Symbol::createLayout(DisplayMode displayMode) const {
ExpressionLayout * Symbol::createLayout(FloatDisplayMode FloatDisplayMode) const {
if (m_name == SpecialSymbols::Ans) {
return new StringLayout("ans", 4);
}

View File

@@ -38,23 +38,23 @@ QUIZ_CASE(poincare_complex_to_text) {
Complex::convertFloatToText(10000000000000000000000000000.0f, buffer, 14, 7);
char result10[20] = {'1','.','0',Ion::Charset::Exponent,'2','8',0};
assert(strcmp(buffer, result10) == 0);
Complex::convertFloatToText(10000000000000000000000000000.0f, buffer, 14, 7, Expression::DisplayMode::Auto);
Complex::convertFloatToText(10000000000000000000000000000.0f, buffer, 14, 7, Expression::FloatDisplayMode::Auto);
assert(strcmp(buffer, result10) == 0);
Complex::convertFloatToText(1000000.0f, buffer, 14, 7, Expression::DisplayMode::Auto);
Complex::convertFloatToText(1000000.0f, buffer, 14, 7, Expression::FloatDisplayMode::Auto);
assert(strcmp(buffer, "1000000") == 0);
Complex::convertFloatToText(10000000.0f, buffer, 14, 7, Expression::DisplayMode::Auto);
Complex::convertFloatToText(10000000.0f, buffer, 14, 7, Expression::FloatDisplayMode::Auto);
char result11[20] = {'1','.','0',Ion::Charset::Exponent,'7',0};
assert(strcmp(buffer, result11) == 0);
Complex::convertFloatToText(0.000001f, buffer, 14, 7, Expression::DisplayMode::Auto);
Complex::convertFloatToText(0.000001f, buffer, 14, 7, Expression::FloatDisplayMode::Auto);
assert(strcmp(buffer, "0.000001") == 0);
Complex::convertFloatToText(0.0000001f, buffer, 14, 7, Expression::DisplayMode::Auto);
Complex::convertFloatToText(0.0000001f, buffer, 14, 7, Expression::FloatDisplayMode::Auto);
char result12[20] = {'1','.','0',Ion::Charset::Exponent,'-','7',0};
assert(strcmp(buffer, result12) == 0);
char buffer2[6];
Complex::convertFloatToText(123.421f, buffer2, 6, 4, Expression::DisplayMode::Auto);
Complex::convertFloatToText(123.421f, buffer2, 6, 4, Expression::FloatDisplayMode::Auto);
assert(strcmp(buffer2, "123.4") == 0);
char buffer3[6];
Complex::convertFloatToText(123.421f, buffer3, 6, 5, Expression::DisplayMode::Auto);
Complex::convertFloatToText(123.421f, buffer3, 6, 5, Expression::FloatDisplayMode::Auto);
char result13[20] = {'1','.','2',Ion::Charset::Exponent,'2',0};
assert(strcmp(buffer3, result13) == 0);