Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание использования комплекса и входящих в н...doc
Скачиваний:
4
Добавлен:
17.08.2019
Размер:
357.89 Кб
Скачать

1. Описание использования комплекса и входящих в него компонент.

Комплекс представляет собой библиотеку функций, написанных на языке C++. Поэтому применение данного программно-аппаратного комплекса возможно на платформах, где имеется соответствующий компилятор. Основные функции комплекса реализованы в виде стандартных функций языка “C”. Это связано с тем, что использование объектно-ориентированного программирования не дает в данном конкретном случае никаких преимуществ, а скорость вычислений хотя и незначительно, но снижается. Объектно-ориентированное программирование потребовалось при реализации полинома специального вида, требующегося в итерационных методах вычисления квантили. При этом использовалась инкапсуляция данных, возможность создания нескольких объектов одновременно и удобство реализации взаимодействия между ними. Все это позволило в значительной степени упростить разработку методов вычисления квантили.

При использовании комплекса в целом, требуется установить все заголовочные файлы и файл библиотеки функций комплекса в произвольный каталог на диске. При компиляции необходимо указать путь к заголовочным файлам комплекса, а при сборке – файл библиотеки функций.

Если требуется использовать одну или несколько вполне определенных функций, можно взять файлы с соответствующими исходными текстами и включить их в свой проект. Это позволит более гибко настраивать комплекс для специфичных приложений.

Комплекс в целом имеет следующую структуру. Исходный текст функций, относящихся к одной проблеме, находятся в отдельном файле с расширением ”.cpp”. Для каждого файла с исходными текстами имеется файл заголовков с расширением ”.h”. Кроме этого, имеется набор общих для всего комплекса файлов заголовков. Эти файлы обязательны при использовании как всего комплекса в целом, так и отдельных частей.

2. Описание интерфейсов программирования.

2.1 Общее описание.

Данный комплекс представляет собой библиотеку функций, написанных на языке C++. Выбор языка программирования был определен его широким распространением и удобством в применении. Компиляторы для языка C++ имеются практически на всех платформах. Принимая во внимание также то, что данный комплекс написан без применения платформенно-зависимых расширений, перенос комплекса будет заключаться в простой перекомпиляции исходный текстов.

На данный момент комплекс оформлен в виде статической библиотеки. В этом виде комплекс может применяться на любой платформе. Но в случае необходимости имеется возможность оформить данный комплекс в виде динамической библиотеки (”.dll”). При этом будут экономиться ресурсы компьютера, но библиотека становиться платформенно-зависимой.

Определения функций находятся в файлах с расширением cpp. Интерфейсы функций находятся в файлах с расширением ”.h”. Для использования функций комплекса необходимо включить с помощью директивы языка C++ ”#include” файл с определениями интерфейсов функций ”fpq.h”. Путь к местоположению файлов интерфейсов комплекса должен быть известен компилятору.

При сборке (линковке) программы компилятору необходимо указать библиотеку ”fpq.lib”. Путь к местоположению библиотеки функций комплекса должен быть известен компилятору.

Пример программы, использующей функции данного комплекса и применяющейся для тестирования комплекса находиться в Приложении.

2.2 Используемые типы данных.

2.2.1 Общее описание.

Для упрощения переноса комплекса на другие платформы, а также для снижения потенциальных ошибок в комплексе используются унифицированные типы данных. При необходимости изменения типа данных, необходимо изменить соответствующее переопределение типа в файле ”fpq_type.h” и перекомпилировать весь комплекс.

2.2.2 Вещественные типы.

Все вещественные числа имеют тип REAL – тип вещественное число с двойной точностью. Данный тип определен в файле ”fpq_type.h” и по желанию может быть изменен.

2.2.3 Целочисленные типы.

Все целые числа имеют тип INTEGER – тип целое 32-х битное число. Данный тип определен в файле ”fpq_type.h” и по желанию может быть изменен.

2.2.4 Типизированные указатели.

Для универсализации функций, входящих в комплекс, применяются типизированные указатели.

Используются следующие типизированные указатели:

FPQ_Integral_Func – тип указатель на функцию, имеющую следующий прототип:

REAL FPQ_Integral_Func(

REAL fi,

REAL * pFuncConst

)

Функция данного типа используется при вычислении подынтегрального выражения и задается пользователем как входной параметр функции численного интегрирования методом Симпсона.

Функция имеет следующие параметры:

  1.  fi – переменная интегрирования.

  2.  pFuncConst – массив неизменяемых параметров; задается пользователем как входной параметр функции численного интегрирования методом Симпсона.

FPQ_UniQtFunc – тип указатель на функцию, имеющую следующий прототип:

REAL FPQ_UniQtFunc(

REAL x,

REAL * pArg

)

Функция данного типа используется при вычислении квантили нецентральных распределений и задается пользователем как входной параметр функции вычисления квантили.

Функция имеет следующие параметры:

  1.  x – переменная интегрирования.

  2.  pArg – массив неизменяемых параметров; задается пользователем как входной параметр функции вычисления квантили.