diff --git a/apps/regression/calculation_controller.cpp b/apps/regression/calculation_controller.cpp index a424df843..d48de5009 100644 --- a/apps/regression/calculation_controller.cpp +++ b/apps/regression/calculation_controller.cpp @@ -141,7 +141,7 @@ void CalculationController::willDisplayCellAtLocation(HighlightCell * cell, int } int seriesNumber = m_store->indexOfKthNonEmptySeries(i - 1); - assert(i >= 0 && seriesNumber < FloatPairStore::k_numberOfSeries); + assert(i >= 0 && seriesNumber < DoublePairStore::k_numberOfSeries); // Coordinate and series title if (j == 0 && i > 0) { diff --git a/apps/regression/graph_controller.cpp b/apps/regression/graph_controller.cpp index da596897c..60657f202 100644 --- a/apps/regression/graph_controller.cpp +++ b/apps/regression/graph_controller.cpp @@ -30,7 +30,7 @@ bool GraphController::isEmpty() const { if (m_store->isEmpty()) { return true; } - for (int series = 0; series < FloatPairStore::k_numberOfSeries; series++) { + for (int series = 0; series < DoublePairStore::k_numberOfSeries; series++) { if (!m_store->seriesIsEmpty(series) && !std::isinf(m_store->slope(series)) && !std::isnan(m_store->slope(series))) { return false; } diff --git a/apps/regression/regression_context.cpp b/apps/regression/regression_context.cpp index edc1ac6cd..89070e89a 100644 --- a/apps/regression/regression_context.cpp +++ b/apps/regression/regression_context.cpp @@ -18,7 +18,7 @@ const Expression * RegressionContext::expressionForSymbol(const Symbol * symbol) assert(strlen(seriesName) == 2); int series = (int)(seriesName[1] - '0') - 1; - assert(series >= 0 && series < FloatPairStore::k_numberOfSeries); + assert(series >= 0 && series < DoublePairStore::k_numberOfSeries); assert((seriesName[0] == 'X') || (seriesName[0] == 'Y')); int storeI = seriesName[0] == 'X' ? 0 : 1; diff --git a/apps/regression/regression_context.h b/apps/regression/regression_context.h index 8c4237a9a..966b63a0b 100644 --- a/apps/regression/regression_context.h +++ b/apps/regression/regression_context.h @@ -2,13 +2,13 @@ #define REGRESSION_REGRESSION_CONTEXT_H #include -#include "../shared/float_pair_store.h" +#include "../shared/double_pair_store.h" namespace Regression { class RegressionContext : public Poincare::Context { public: - RegressionContext(Shared::FloatPairStore * store, Poincare::Context * parentContext = nullptr) : + RegressionContext(Shared::DoublePairStore * store, Poincare::Context * parentContext = nullptr) : Poincare::Context(), m_store(store), m_seriesPairIndex(-1), @@ -18,7 +18,7 @@ public: void setExpressionForSymbolName(const Poincare::Expression * expression, const Poincare::Symbol * symbol, Poincare::Context & context) override; const Poincare::Expression * expressionForSymbol(const Poincare::Symbol * symbol) override; private: - Shared::FloatPairStore * m_store; + Shared::DoublePairStore * m_store; int m_seriesPairIndex; Poincare::Context * m_parentContext; }; diff --git a/apps/regression/store.cpp b/apps/regression/store.cpp index 86a6acc28..eb0a7be38 100644 --- a/apps/regression/store.cpp +++ b/apps/regression/store.cpp @@ -13,7 +13,7 @@ static inline float min(float x, float y) { return (x= 0 && k < numberOfNonEmptySeries()); int nonEmptySeriesCount = 0; for (int i = 0; i < k_numberOfSeries; i++) { @@ -214,7 +214,7 @@ int Store::indexOfKthNonEmptySeries(int k) const { /* Calculations */ double Store::doubleCastedNumberOfPairsOfSeries(int series) const { - return FloatPairStore::numberOfPairsOfSeries(series); + return DoublePairStore::numberOfPairsOfSeries(series); } float Store::maxValueOfColumn(int series, int i) const { diff --git a/apps/regression/store.h b/apps/regression/store.h index ed1d7d206..1e34e8d77 100644 --- a/apps/regression/store.h +++ b/apps/regression/store.h @@ -2,14 +2,14 @@ #define REGRESSION_STORE_H #include "../shared/interactive_curve_view_range.h" -#include "../shared/float_pair_store.h" +#include "../shared/double_pair_store.h" extern "C" { #include } namespace Regression { -class Store : public Shared::InteractiveCurveViewRange, public Shared::FloatPairStore, public Shared::InteractiveCurveViewRangeDelegate { +class Store : public Shared::InteractiveCurveViewRange, public Shared::DoublePairStore, public Shared::InteractiveCurveViewRangeDelegate { public: Store(); diff --git a/apps/regression/store_controller.cpp b/apps/regression/store_controller.cpp index 0de633e93..70e822e51 100644 --- a/apps/regression/store_controller.cpp +++ b/apps/regression/store_controller.cpp @@ -37,7 +37,7 @@ void StoreController::fillColumnWithFormula(Expression * formula) { const char * seriesName = Symbol::textForSpecialSymbols(variables[index]); assert(strlen(seriesName) == 2); int series = (int)(seriesName[1] - '0') - 1; - assert(series >= 0 && series < FloatPairStore::k_numberOfSeries); + assert(series >= 0 && series < DoublePairStore::k_numberOfSeries); if (numberOfValuesToCompute == -1) { numberOfValuesToCompute = m_store->numberOfPairsOfSeries(series); } else { @@ -46,7 +46,7 @@ void StoreController::fillColumnWithFormula(Expression * formula) { index++; } if (numberOfValuesToCompute == -1) { - numberOfValuesToCompute = m_store->numberOfPairsOfSeries(selectedColumn()/FloatPairStore::k_numberOfColumnsPerSeries); + numberOfValuesToCompute = m_store->numberOfPairsOfSeries(selectedColumn()/DoublePairStore::k_numberOfColumnsPerSeries); } RegressionContext regressionContext(m_store, const_cast(static_cast(app()->container()))->globalContext()); diff --git a/apps/shared/Makefile b/apps/shared/Makefile index 5f92d24d0..3242b58ae 100644 --- a/apps/shared/Makefile +++ b/apps/shared/Makefile @@ -10,7 +10,7 @@ app_objs += $(addprefix apps/shared/,\ editable_cell_table_view_controller.o\ expression_field_delegate_app.o\ expression_layout_field_delegate.o\ - float_pair_store.o\ + double_pair_store.o\ float_parameter_controller.o\ function.o\ function_app.o\ diff --git a/apps/shared/float_pair_store.cpp b/apps/shared/double_pair_store.cpp similarity index 81% rename from apps/shared/float_pair_store.cpp rename to apps/shared/double_pair_store.cpp index c58ceb812..32e84c558 100644 --- a/apps/shared/float_pair_store.cpp +++ b/apps/shared/double_pair_store.cpp @@ -1,4 +1,4 @@ -#include "float_pair_store.h" +#include "double_pair_store.h" #include #include #include @@ -6,7 +6,7 @@ namespace Shared { -void FloatPairStore::set(double f, int series, int i, int j) { +void DoublePairStore::set(double f, int series, int i, int j) { assert(series >= 0 && series < k_numberOfSeries); if (j >= k_maxNumberOfPairs) { return; @@ -19,7 +19,7 @@ void FloatPairStore::set(double f, int series, int i, int j) { } } -int FloatPairStore::numberOfPairs() const { +int DoublePairStore::numberOfPairs() const { int result = 0; for (int i = 0; i < k_numberOfSeries; i++) { result += m_numberOfPairs[i]; @@ -27,7 +27,7 @@ int FloatPairStore::numberOfPairs() const { return result; } -void FloatPairStore::deletePairOfSeriesAtIndex(int series, int j) { +void DoublePairStore::deletePairOfSeriesAtIndex(int series, int j) { m_numberOfPairs[series]--; for (int k = j; k < m_numberOfPairs[series]; k++) { m_data[series][0][k] = m_data[series][0][k+1]; @@ -39,7 +39,7 @@ void FloatPairStore::deletePairOfSeriesAtIndex(int series, int j) { m_data[series][1][m_numberOfPairs[series]] = 0; } -void FloatPairStore::deleteAllPairsOfSeries(int series) { +void DoublePairStore::deleteAllPairsOfSeries(int series) { assert(series >= 0 && series < k_numberOfSeries); /* We reset all values to 0 to ensure the correctness of the checksum.*/ for (int k = 0; k < m_numberOfPairs[series]; k++) { @@ -49,13 +49,13 @@ void FloatPairStore::deleteAllPairsOfSeries(int series) { m_numberOfPairs[series] = 0; } -void FloatPairStore::deleteAllPairs() { +void DoublePairStore::deleteAllPairs() { for (int i = 0; i < k_numberOfSeries; i ++) { deleteAllPairsOfSeries(i); } } -void FloatPairStore::resetColumn(int series, int i) { +void DoublePairStore::resetColumn(int series, int i) { assert(series >= 0 && series < k_numberOfSeries); assert(i == 0 || i == 1); for (int k = 0; k < m_numberOfPairs[series]; k++) { @@ -63,7 +63,7 @@ void FloatPairStore::resetColumn(int series, int i) { } } -double FloatPairStore::sumOfColumn(int series, int i) const { +double DoublePairStore::sumOfColumn(int series, int i) const { assert(series >= 0 && series < k_numberOfSeries); assert(i == 0 || i == 1); double result = 0; @@ -73,7 +73,7 @@ double FloatPairStore::sumOfColumn(int series, int i) const { return result; } -uint32_t FloatPairStore::storeChecksum() const { +uint32_t DoublePairStore::storeChecksum() const { /* Ideally, we would only compute the checksum of the first m_numberOfPairs * pairs. However, the two values of a pair are not stored consecutively. We * thus compute the checksum on all pairs and ensure to set the pair at 0 @@ -83,7 +83,7 @@ uint32_t FloatPairStore::storeChecksum() const { return Ion::crc32((uint32_t *)m_data, dataLengthInBytes/sizeof(uint32_t)); } -double FloatPairStore::defaultValue(int series, int i, int j) const { +double DoublePairStore::defaultValue(int series, int i, int j) const { assert(series >= 0 && series < k_numberOfSeries); if(i == 0 && j > 1) { return 2*m_data[series][i][j-1]-m_data[series][i][j-2]; diff --git a/apps/shared/float_pair_store.h b/apps/shared/double_pair_store.h similarity index 89% rename from apps/shared/float_pair_store.h rename to apps/shared/double_pair_store.h index 68a8cb1f0..f172e3e11 100644 --- a/apps/shared/float_pair_store.h +++ b/apps/shared/double_pair_store.h @@ -1,5 +1,5 @@ -#ifndef SHARED_FLOAT_PAIR_STORE_H -#define SHARED_FLOAT_PAIR_STORE_H +#ifndef SHARED_DOUBLE_PAIR_STORE_H +#define SHARED_DOUBLE_PAIR_STORE_H #include #include @@ -8,17 +8,17 @@ namespace Shared { -class FloatPairStore { +class DoublePairStore { public: constexpr static int k_numberOfSeries = 3; constexpr static int k_numberOfColumnsPerSeries = 2; constexpr static int k_maxNumberOfPairs = 100; - FloatPairStore() : + DoublePairStore() : m_data{}, m_numberOfPairs{} {} // Delete the implicit copy constructor: the object is heavy - FloatPairStore(const FloatPairStore&) = delete; + DoublePairStore(const DoublePairStore&) = delete; double get(int series, int i, int j) const { assert(j < m_numberOfPairs[series]); return m_data[series][i][j]; diff --git a/apps/shared/store_controller.cpp b/apps/shared/store_controller.cpp index 02c60d582..5879ddb89 100644 --- a/apps/shared/store_controller.cpp +++ b/apps/shared/store_controller.cpp @@ -8,7 +8,7 @@ using namespace Poincare; namespace Shared { -StoreController::ContentView::ContentView(FloatPairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, TextFieldDelegate * textFieldDelegate) : +StoreController::ContentView::ContentView(DoublePairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, TextFieldDelegate * textFieldDelegate) : View(), Responder(parentResponder), m_dataView(store, this, dataSource, selectionDataSource), @@ -48,7 +48,7 @@ KDRect StoreController::ContentView::formulaFrame() const { return KDRect(0, bounds().height() - BufferTextViewWithTextField::k_height, bounds().width(), m_displayFormulaInputView ? BufferTextViewWithTextField::k_height : 0); } -StoreController::StoreController(Responder * parentResponder, FloatPairStore * store, ButtonRowController * header) : +StoreController::StoreController(Responder * parentResponder, DoublePairStore * store, ButtonRowController * header) : EditableCellTableViewController(parentResponder), ButtonRowDelegate(header, nullptr), m_editableCells{}, @@ -108,7 +108,7 @@ bool StoreController::textFieldDidAbortEditing(TextField * textField) { int StoreController::numberOfColumns() { - return FloatPairStore::k_numberOfColumnsPerSeries * FloatPairStore::k_numberOfSeries; + return DoublePairStore::k_numberOfColumnsPerSeries * DoublePairStore::k_numberOfSeries; } KDCoordinate StoreController::columnWidth(int i) { @@ -149,7 +149,7 @@ int StoreController::typeAtLocation(int i, int j) { void StoreController::willDisplayCellAtLocation(HighlightCell * cell, int i, int j) { // Handle the separator if (cellAtLocationIsEditable(i, j)) { - bool shouldHaveLeftSeparator = i % FloatPairStore::k_numberOfColumnsPerSeries == 0; + bool shouldHaveLeftSeparator = i % DoublePairStore::k_numberOfColumnsPerSeries == 0; static_cast(cell)->setSeparatorLeft(shouldHaveLeftSeparator); } // Handle empty cells @@ -184,14 +184,14 @@ bool StoreController::handleEvent(Ion::Events::Event event) { assert(selectedColumn() >= 0 && selectedColumn() < numberOfColumns()); int series = seriesAtColumn(selectedColumn()); if ((event == Ion::Events::OK || event == Ion::Events::EXE) && selectedRow() == 0) { - m_storeParameterController.selectXColumn(selectedColumn()%FloatPairStore::k_numberOfColumnsPerSeries == 0); + m_storeParameterController.selectXColumn(selectedColumn()%DoublePairStore::k_numberOfColumnsPerSeries == 0); m_storeParameterController.selectSeries(series); StackViewController * stack = ((StackViewController *)parentResponder()->parentResponder()); stack->push(&m_storeParameterController); return true; } if (event == Ion::Events::Backspace) { - if (selectedRow() == 0 || selectedRow() > m_store->numberOfPairsOfSeries(selectedColumn()/FloatPairStore::k_numberOfColumnsPerSeries)) { + if (selectedRow() == 0 || selectedRow() > m_store->numberOfPairsOfSeries(selectedColumn()/DoublePairStore::k_numberOfColumnsPerSeries)) { return false; } m_store->deletePairOfSeriesAtIndex(series, selectedRow()-1); @@ -225,24 +225,24 @@ bool StoreController::cellAtLocationIsEditable(int columnIndex, int rowIndex) { } bool StoreController::setDataAtLocation(double floatBody, int columnIndex, int rowIndex) { - m_store->set(floatBody, seriesAtColumn(columnIndex), columnIndex%FloatPairStore::k_numberOfColumnsPerSeries, rowIndex-1); + m_store->set(floatBody, seriesAtColumn(columnIndex), columnIndex%DoublePairStore::k_numberOfColumnsPerSeries, rowIndex-1); return true; } double StoreController::dataAtLocation(int columnIndex, int rowIndex) { - return m_store->get(seriesAtColumn(columnIndex), columnIndex%FloatPairStore::k_numberOfColumnsPerSeries, rowIndex-1); + return m_store->get(seriesAtColumn(columnIndex), columnIndex%DoublePairStore::k_numberOfColumnsPerSeries, rowIndex-1); } int StoreController::numberOfElements() { int result = 0; - for (int i = 0; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 0; i < DoublePairStore::k_numberOfSeries; i++) { result = max(result, m_store->numberOfPairsOfSeries(i)); } return result; } int StoreController::maxNumberOfElements() const { - return FloatPairStore::k_maxNumberOfPairs; + return DoublePairStore::k_maxNumberOfPairs; } View * StoreController::loadView() { @@ -262,7 +262,7 @@ void StoreController::unloadView(View * view) { } bool StoreController::cellShouldBeTransparent(int i, int j) { - int seriesIndex = i/FloatPairStore::k_numberOfColumnsPerSeries; + int seriesIndex = i/DoublePairStore::k_numberOfColumnsPerSeries; return j > 1 + m_store->numberOfPairsOfSeries(seriesIndex); } diff --git a/apps/shared/store_controller.h b/apps/shared/store_controller.h index d04a7028b..a99191040 100644 --- a/apps/shared/store_controller.h +++ b/apps/shared/store_controller.h @@ -4,7 +4,7 @@ #include #include "buffer_text_view_with_text_field.h" #include "editable_cell_table_view_controller.h" -#include "float_pair_store.h" +#include "double_pair_store.h" #include "store_cell.h" #include "store_parameter_controller.h" #include "store_selectable_table_view.h" @@ -13,7 +13,7 @@ namespace Shared { class StoreController : public EditableCellTableViewController, public ButtonRowDelegate { public: - StoreController(Responder * parentResponder, FloatPairStore * store, ButtonRowController * header); + StoreController(Responder * parentResponder, DoublePairStore * store, ButtonRowController * header); void displayFormulaInput(); virtual void setFormulaLabel() = 0; @@ -44,14 +44,14 @@ protected: static constexpr KDCoordinate k_cellWidth = 116; static constexpr KDCoordinate k_margin = 8; static constexpr KDCoordinate k_scrollBarMargin = Metric::CommonRightMargin; - constexpr static int k_maxNumberOfEditableCells = 22 * FloatPairStore::k_numberOfSeries; + constexpr static int k_maxNumberOfEditableCells = 22 * DoublePairStore::k_numberOfSeries; constexpr static int k_numberOfTitleCells = 4; static constexpr int k_titleCellType = 0; static constexpr int k_editableCellType = 1; class ContentView : public View , public Responder { public: - ContentView(FloatPairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, TextFieldDelegate * textFieldDelegate); + ContentView(DoublePairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, TextFieldDelegate * textFieldDelegate); StoreSelectableTableView * dataView() { return &m_dataView; } BufferTextViewWithTextField * formulaInputView() { return &m_formulaInputView; } void displayFormulaInput(bool display); @@ -80,9 +80,9 @@ protected: int maxNumberOfElements() const override; virtual HighlightCell * titleCells(int index) = 0; char m_draftTextBuffer[TextField::maxBufferSize()]; - int seriesAtColumn(int column) const { return column / FloatPairStore::k_numberOfColumnsPerSeries; } + int seriesAtColumn(int column) const { return column / DoublePairStore::k_numberOfColumnsPerSeries; } StoreCell * m_editableCells[k_maxNumberOfEditableCells]; - FloatPairStore * m_store; + DoublePairStore * m_store; StoreParameterController m_storeParameterController; private: bool cellShouldBeTransparent(int i, int j); diff --git a/apps/shared/store_parameter_controller.cpp b/apps/shared/store_parameter_controller.cpp index 6625dd84e..49ffb86ce 100644 --- a/apps/shared/store_parameter_controller.cpp +++ b/apps/shared/store_parameter_controller.cpp @@ -4,7 +4,7 @@ namespace Shared { -StoreParameterController::StoreParameterController(Responder * parentResponder, FloatPairStore * store, StoreController * storeController) : +StoreParameterController::StoreParameterController(Responder * parentResponder, DoublePairStore * store, StoreController * storeController) : ViewController(parentResponder), m_deleteColumn(I18n::Message::ClearColumn), m_fillWithFormula(I18n::Message::FillWithFormula), diff --git a/apps/shared/store_parameter_controller.h b/apps/shared/store_parameter_controller.h index c7df1c8a0..be713c2ef 100644 --- a/apps/shared/store_parameter_controller.h +++ b/apps/shared/store_parameter_controller.h @@ -2,7 +2,7 @@ #define SHARED_STORE_PARAM_CONTROLLER_H #include -#include "float_pair_store.h" +#include "double_pair_store.h" #include "../i18n.h" namespace Shared { @@ -11,7 +11,7 @@ class StoreController; class StoreParameterController : public ViewController, public SimpleListViewDataSource, public SelectableTableViewDataSource { public: - StoreParameterController(Responder * parentResponder, FloatPairStore * store, StoreController * storeController); + StoreParameterController(Responder * parentResponder, DoublePairStore * store, StoreController * storeController); void selectXColumn(bool xColumnSelected) { m_xColumnSelected = xColumnSelected; } void selectSeries(int series) { m_series = series; } View * view() override { return &m_selectableTableView; } @@ -33,7 +33,7 @@ private: MessageTableCell m_deleteColumn; MessageTableCell m_fillWithFormula; SelectableTableView m_selectableTableView; - FloatPairStore * m_store; + DoublePairStore * m_store; StoreController * m_storeController; bool m_xColumnSelected; int m_series; diff --git a/apps/shared/store_selectable_table_view.cpp b/apps/shared/store_selectable_table_view.cpp index ec6adcf3d..d7826f164 100644 --- a/apps/shared/store_selectable_table_view.cpp +++ b/apps/shared/store_selectable_table_view.cpp @@ -2,7 +2,7 @@ namespace Shared { -StoreSelectableTableView::StoreSelectableTableView(FloatPairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, SelectableTableViewDelegate * delegate) : +StoreSelectableTableView::StoreSelectableTableView(DoublePairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource, SelectableTableViewDelegate * delegate) : SelectableTableView(parentResponder, dataSource, selectionDataSource, delegate), m_store(store) { @@ -31,7 +31,7 @@ bool StoreSelectableTableView::selecNonHiddenCellAtLocation(int i, int j) { if (j < 0 || j >= dataSource()->numberOfRows()) { return false; } - int seriesIndex = i/FloatPairStore::k_numberOfColumnsPerSeries; + int seriesIndex = i/DoublePairStore::k_numberOfColumnsPerSeries; int numberOfPairsOfCurrentSeries = m_store->numberOfPairsOfSeries(seriesIndex); if (j > 1 + numberOfPairsOfCurrentSeries) { return selectCellAtLocation(i, 1 + numberOfPairsOfCurrentSeries); diff --git a/apps/shared/store_selectable_table_view.h b/apps/shared/store_selectable_table_view.h index ca370b3ef..33a4d3042 100644 --- a/apps/shared/store_selectable_table_view.h +++ b/apps/shared/store_selectable_table_view.h @@ -2,17 +2,17 @@ #define APPS_SHARED_STORE_SELECTABLE_TABLE_VIEW_H #include -#include "float_pair_store.h" +#include "double_pair_store.h" namespace Shared { class StoreSelectableTableView : public SelectableTableView { public: - StoreSelectableTableView(FloatPairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource = nullptr, SelectableTableViewDelegate * delegate = nullptr); + StoreSelectableTableView(DoublePairStore * store, Responder * parentResponder, TableViewDataSource * dataSource, SelectableTableViewDataSource * selectionDataSource = nullptr, SelectableTableViewDelegate * delegate = nullptr); bool handleEvent(Ion::Events::Event event) override; private: bool selecNonHiddenCellAtLocation(int i, int j); - FloatPairStore * m_store; + DoublePairStore * m_store; }; } diff --git a/apps/statistics/calculation_controller.cpp b/apps/statistics/calculation_controller.cpp index 48fe4e700..372143634 100644 --- a/apps/statistics/calculation_controller.cpp +++ b/apps/statistics/calculation_controller.cpp @@ -55,7 +55,7 @@ void CalculationController::willDisplayCellAtLocation(HighlightCell * cell, int char titleBuffer[] = {'V', static_cast('0'+seriesNumber), '/', 'N', static_cast('0'+seriesNumber), 0}; StoreTitleCell * storeTitleCell = static_cast(cell); storeTitleCell->setText(titleBuffer); - storeTitleCell->setColor(FloatPairStore::colorOfSeriesAtIndex(seriesNumber)); + storeTitleCell->setColor(DoublePairStore::colorOfSeriesAtIndex(seriesNumber)); return; } if (i == 0) { diff --git a/apps/statistics/histogram_parameter_controller.cpp b/apps/statistics/histogram_parameter_controller.cpp index 1ffc16f13..e2d187afd 100644 --- a/apps/statistics/histogram_parameter_controller.cpp +++ b/apps/statistics/histogram_parameter_controller.cpp @@ -43,19 +43,19 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl } // There should be at least one value in the drawn bin - for (int i = 0; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 0; i < DoublePairStore::k_numberOfSeries; i++) { if (m_store->firstDrawnBarAbscissa() <= m_store->maxValue(i)+f) { break; - } else if (i == FloatPairStore::k_numberOfSeries - 1) { + } else if (i == DoublePairStore::k_numberOfSeries - 1) { app()->displayWarning(I18n::Message::ForbiddenValue); return false; } } // The number of bars cannot be above the max - assert(FloatPairStore::k_numberOfSeries > 0); + assert(DoublePairStore::k_numberOfSeries > 0); double maxNewNumberOfBars = std::ceil((m_store->maxValue(0) - m_store->minValue(0))/f); - for (int i = 1; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 1; i < DoublePairStore::k_numberOfSeries; i++) { double numberOfBars = std::ceil((m_store->maxValue(i) - m_store->minValue(i))/f); if (maxNewNumberOfBars < numberOfBars) { maxNewNumberOfBars = numberOfBars; @@ -70,9 +70,9 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl m_store->setBarWidth(f); } else { // The number of bars cannot be above the max - assert(FloatPairStore::k_numberOfSeries > 0); + assert(DoublePairStore::k_numberOfSeries > 0); double maxNewNumberOfBars = ceilf((m_store->maxValue(0) - f)/m_store->barWidth()); - for (int i = 1; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 1; i < DoublePairStore::k_numberOfSeries; i++) { double numberOfBars = ceilf((m_store->maxValue(i) - f)/m_store->barWidth()); if (maxNewNumberOfBars < numberOfBars) { maxNewNumberOfBars = numberOfBars; @@ -83,10 +83,10 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl return false; } // There should be at least one value in the drawn bin - for (int i = 0; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 0; i < DoublePairStore::k_numberOfSeries; i++) { if (f <= m_store->maxValue(i)+m_store->barWidth()) { break; - } else if (i == FloatPairStore::k_numberOfSeries - 1) { + } else if (i == DoublePairStore::k_numberOfSeries - 1) { app()->displayWarning(I18n::Message::ForbiddenValue); return false; } diff --git a/apps/statistics/multiple_boxes_view.cpp b/apps/statistics/multiple_boxes_view.cpp index edb29502d..dc4a8c24f 100644 --- a/apps/statistics/multiple_boxes_view.cpp +++ b/apps/statistics/multiple_boxes_view.cpp @@ -7,9 +7,9 @@ namespace Statistics { MultipleBoxesView::MultipleBoxesView(BoxController * controller, Store * store, BoxView::Quantile * selectedQuantile) : MultipleDataView(store), - m_boxView1(controller, store, 0, nullptr, selectedQuantile, FloatPairStore::colorOfSeriesAtIndex(0), FloatPairStore::colorLightOfSeriesAtIndex(0)), - m_boxView2(controller, store, 1, nullptr, selectedQuantile, FloatPairStore::colorOfSeriesAtIndex(1), FloatPairStore::colorLightOfSeriesAtIndex(1)), - m_boxView3(controller, store, 2, nullptr, selectedQuantile, FloatPairStore::colorOfSeriesAtIndex(2), FloatPairStore::colorLightOfSeriesAtIndex(2)), + m_boxView1(controller, store, 0, nullptr, selectedQuantile, DoublePairStore::colorOfSeriesAtIndex(0), DoublePairStore::colorLightOfSeriesAtIndex(0)), + m_boxView2(controller, store, 1, nullptr, selectedQuantile, DoublePairStore::colorOfSeriesAtIndex(1), DoublePairStore::colorLightOfSeriesAtIndex(1)), + m_boxView3(controller, store, 2, nullptr, selectedQuantile, DoublePairStore::colorOfSeriesAtIndex(2), DoublePairStore::colorLightOfSeriesAtIndex(2)), m_axisView(store), m_bannerView() { diff --git a/apps/statistics/multiple_histograms_view.cpp b/apps/statistics/multiple_histograms_view.cpp index 5acfc9a74..2ac29e4b3 100644 --- a/apps/statistics/multiple_histograms_view.cpp +++ b/apps/statistics/multiple_histograms_view.cpp @@ -7,9 +7,9 @@ namespace Statistics { MultipleHistogramsView::MultipleHistogramsView(HistogramController * controller, Store * store) : MultipleDataView(store), - m_histogramView1(controller, store, 0, nullptr, FloatPairStore::colorOfSeriesAtIndex(0)), - m_histogramView2(controller, store, 1, nullptr, FloatPairStore::colorOfSeriesAtIndex(1)), - m_histogramView3(controller, store, 2, nullptr, FloatPairStore::colorOfSeriesAtIndex(2)), + m_histogramView1(controller, store, 0, nullptr, DoublePairStore::colorOfSeriesAtIndex(0)), + m_histogramView2(controller, store, 1, nullptr, DoublePairStore::colorOfSeriesAtIndex(1)), + m_histogramView3(controller, store, 2, nullptr, DoublePairStore::colorOfSeriesAtIndex(2)), m_bannerView(), m_okView() { diff --git a/apps/statistics/series_context.cpp b/apps/statistics/series_context.cpp index 68b875705..8628a83db 100644 --- a/apps/statistics/series_context.cpp +++ b/apps/statistics/series_context.cpp @@ -18,7 +18,7 @@ const Expression * SeriesContext::expressionForSymbol(const Symbol * symbol) { assert(strlen(seriesName) == 2); int series = (int)(seriesName[1] - '0') - 1; - assert(series >= 0 && series < FloatPairStore::k_numberOfSeries); + assert(series >= 0 && series < DoublePairStore::k_numberOfSeries); assert((seriesName[0] == 'V') || (seriesName[0] == 'N')); int storeI = seriesName[0] == 'V' ? 0 : 1; diff --git a/apps/statistics/series_context.h b/apps/statistics/series_context.h index fac98891f..81799a113 100644 --- a/apps/statistics/series_context.h +++ b/apps/statistics/series_context.h @@ -2,13 +2,13 @@ #define STATISTICS_SERIES_CONTEXT_H #include -#include "../shared/float_pair_store.h" +#include "../shared/double_pair_store.h" namespace Statistics { class SeriesContext : public Poincare::Context { public: - SeriesContext(Shared::FloatPairStore * store, Poincare::Context * parentContext = nullptr) : + SeriesContext(Shared::DoublePairStore * store, Poincare::Context * parentContext = nullptr) : Poincare::Context(), m_store(store), m_seriesPairIndex(-1), @@ -18,7 +18,7 @@ public: void setExpressionForSymbolName(const Poincare::Expression * expression, const Poincare::Symbol * symbol, Poincare::Context & context) override; const Poincare::Expression * expressionForSymbol(const Poincare::Symbol * symbol) override; private: - Shared::FloatPairStore * m_store; + Shared::DoublePairStore * m_store; int m_seriesPairIndex; Poincare::Context * m_parentContext; }; diff --git a/apps/statistics/store.cpp b/apps/statistics/store.cpp index cc633b7c9..293c1e1f4 100644 --- a/apps/statistics/store.cpp +++ b/apps/statistics/store.cpp @@ -13,7 +13,7 @@ static_assert(Store::k_numberOfSeries == 3, "The constructor of Statistics::Stor Store::Store() : MemoizedCurveViewRange(), - FloatPairStore(), + DoublePairStore(), m_barWidth(1.0), m_firstDrawnBarAbscissa(0.0), m_seriesEmpty{true, true, true}, @@ -119,9 +119,9 @@ double Store::sumOfOccurrences(int series) const { } double Store::maxValueForAllSeries() const { - assert(FloatPairStore::k_numberOfSeries > 0); + assert(DoublePairStore::k_numberOfSeries > 0); double result = maxValue(0); - for (int i = 1; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 1; i < DoublePairStore::k_numberOfSeries; i++) { double maxCurrentSeries = maxValue(i); if (result < maxCurrentSeries) { result = maxCurrentSeries; @@ -131,9 +131,9 @@ double Store::maxValueForAllSeries() const { } double Store::minValueForAllSeries() const { - assert(FloatPairStore::k_numberOfSeries > 0); + assert(DoublePairStore::k_numberOfSeries > 0); double result = minValue(0); - for (int i = 1; i < FloatPairStore::k_numberOfSeries; i++) { + for (int i = 1; i < DoublePairStore::k_numberOfSeries; i++) { double minCurrentSeries = minValue(i); if (result > minCurrentSeries) { result = minCurrentSeries; @@ -225,19 +225,19 @@ double Store::squaredValueSum(int series) const { } void Store::set(double f, int series, int i, int j) { - FloatPairStore::set(f, series, i, j); + DoublePairStore::set(f, series, i, j); m_seriesEmpty[series] = sumOfOccurrences(series) == 0; updateNonEmptySeriesCount(); } void Store::deletePairOfSeriesAtIndex(int series, int j) { - FloatPairStore::deletePairOfSeriesAtIndex(series, j); + DoublePairStore::deletePairOfSeriesAtIndex(series, j); m_seriesEmpty[series] = sumOfOccurrences(series) == 0; updateNonEmptySeriesCount(); } void Store::deleteAllPairsOfSeries(int series) { - FloatPairStore::deleteAllPairsOfSeries(series); + DoublePairStore::deleteAllPairsOfSeries(series); m_seriesEmpty[series] = true; updateNonEmptySeriesCount(); } @@ -255,7 +255,7 @@ void Store::updateNonEmptySeriesCount() { /* Private methods */ double Store::defaultValue(int series, int i, int j) const { - return i == 0 ? FloatPairStore::defaultValue(series, i, j) : 1.0; + return i == 0 ? DoublePairStore::defaultValue(series, i, j) : 1.0; } double Store::sumOfValuesBetween(int series, double x1, double x2) const { diff --git a/apps/statistics/store.h b/apps/statistics/store.h index 99381d46d..fa4839c83 100644 --- a/apps/statistics/store.h +++ b/apps/statistics/store.h @@ -2,11 +2,11 @@ #define STATISTICS_STORE_H #include "../shared/memoized_curve_view_range.h" -#include "../shared/float_pair_store.h" +#include "../shared/double_pair_store.h" namespace Statistics { -class Store : public Shared::MemoizedCurveViewRange, public Shared::FloatPairStore { +class Store : public Shared::MemoizedCurveViewRange, public Shared::DoublePairStore { public: Store(); uint32_t barChecksum() const; @@ -50,7 +50,7 @@ public: constexpr static int k_bottomMargin = 20; constexpr static float k_displayLeftMarginRatio = 0.04f; - // FloatPairStore + // DoublePairStore void set(double f, int series, int i, int j) override; void deletePairOfSeriesAtIndex(int series, int j) override; void deleteAllPairsOfSeries(int series) override; diff --git a/apps/statistics/store_controller.cpp b/apps/statistics/store_controller.cpp index c17b5974c..943c36a9b 100644 --- a/apps/statistics/store_controller.cpp +++ b/apps/statistics/store_controller.cpp @@ -37,7 +37,7 @@ void StoreController::fillColumnWithFormula(Expression * formula) { const char * seriesName = Symbol::textForSpecialSymbols(variables[index]); assert(strlen(seriesName) == 2); int series = (int)(seriesName[1] - '0') - 1; - assert(series >= 0 && series < FloatPairStore::k_numberOfSeries); + assert(series >= 0 && series < DoublePairStore::k_numberOfSeries); if (numberOfValuesToCompute == -1) { numberOfValuesToCompute = m_store->numberOfPairsOfSeries(series); } else { @@ -46,7 +46,7 @@ void StoreController::fillColumnWithFormula(Expression * formula) { index++; } if (numberOfValuesToCompute == -1) { - numberOfValuesToCompute = m_store->numberOfPairsOfSeries(selectedColumn()/FloatPairStore::k_numberOfColumnsPerSeries); + numberOfValuesToCompute = m_store->numberOfPairsOfSeries(selectedColumn()/DoublePairStore::k_numberOfColumnsPerSeries); } SeriesContext seriesContext(m_store, const_cast(static_cast(app()->container()))->globalContext()); @@ -69,7 +69,7 @@ void StoreController::willDisplayCellAtLocation(HighlightCell * cell, int i, int bool isValuesColumn = i%Store::k_numberOfColumnsPerSeries == 0; mytitleCell->setSeparatorLeft(isValuesColumn); int seriesIndex = i/Store::k_numberOfColumnsPerSeries; - assert(seriesIndex >= 0 && seriesIndex < FloatPairStore::k_numberOfSeries); + assert(seriesIndex >= 0 && seriesIndex < DoublePairStore::k_numberOfSeries); if (isValuesColumn) { I18n::Message valuesMessages[] = {I18n::Message::Values1, I18n::Message::Values2, I18n::Message::Values3}; mytitleCell->setText(I18n::translate(valuesMessages[seriesIndex]));