7 Обработка данных

В данной главе описываются классы mglData и mglDataC для работы с массивами действительных и комплексных данных, определённые в #include <mgl2/data.h> и #include <mgl2/datac.h> соответственно. Оба класса являются наследниками абстрактного класса mglDataA, и могут быть использованы в аргументах всех функций рисования (см. Ядро MathGL). Классы содержат функции для выделения памяти и изменения размера данных, чтения данных из файла, численного дифференцирования, интегрирования, интерполяции и пр., заполнения по текстовой формуле и т.д. Классы позволяют работать с данными размерности не более 3 (как функции от трёх переменных – x,y,z). По умолчанию внутреннее представление данных использует тип mreal (и dual=std::complex<mreal> для mglDataC), который может быть сконфигурирован как float или double на этапе установки указав опцию --enable-double (см. Установка MathGL). Тип float удобен в силу меньшего размера занимаемой памяти и, как правило, достаточной для построения графиков точности. Однако, тип double имеет большую точность, что может быть важно, например, для осей с метками времени. Массивы которые могут быть созданы командами MGL отображаются Small Caps шрифтом (например, DAT).