Spec-Zone.ru › Eigen3

Eigen::NumTraits

template<typename T>
class Eigen::NumTraits< T >

Содержит информацию о различных числовых (т.е. скалярных) типах, разрешенных в Eigen.

Параметры шаблона
T числовой тип

Этот класс хранит перечисления, определения типов и статические методы, предоставляющие информацию о числовом типе.

Предоставленные данные состоят из:

  • Определение типа Real, дающий тип "вещественной части" T. Если T уже вещественный, то Real — это просто определение типа T. Если T является std::complex<U>, то Real — это определение типа U.
  • Определение типа NonInteger, дающий тип, который следует использовать для операций, порождающих нецелые значения, такие как частные, квадратные корни и т.д. Если T — тип с плавающей точкой, то это определение типа просто даёт T. Однако обратите внимание, что многие функции Eigen, такие как internal::sqrt, просто отказываются принимать целые числа. Вне нескольких случаев Eigen не выполняет автоматическое повышение типа. Таким образом, это определение типа предназначено только в качестве вспомогательного средства для кода, которому необходимо явно повышать типы.
  • Определение типа Literal, дающий тип, который следует использовать для числовых литералов, таких как "2" или "0.5". Например, для std::complex<U>, Literal определяется как U. Конечно, этот тип должен быть полностью совместим с T. В случае сомнений просто используйте T.
  • Определение типа Nested, дающее тип, который следует использовать для вложения значения в дерево выражений. Если вы не знаете, что это значит, просто используйте T.
  • Значение перечисления IsComplex. Оно равно 1, если T — тип std::complex и 0 в противном случае.
  • Значение перечисления IsInteger. Оно равно 1 если T — целочисленный тип, такой как int, и 0 в противном случае.
  • Значения перечисления ReadCost, AddCost и MulCost, представляющие приблизительную оценку количества циклов ЦП, необходимых для команд перемещения, сложения и умножения соответственно, предполагая, что данные уже хранятся в регистрах ЦП. Оставайтесь неясными. Нет необходимости делать архитектурно-специфические вещи. Если вы не знаете, что это значит, просто используйте Eigen::HugeCost.
  • Значение перечисления IsSigned. Оно равно 1 если T — знаковый тип и 0, если T — беззнаковый.
  • Значение перечисления RequireInitialization. Оно равно 1 если конструктор числового типа T должен быть вызван, и 0, если его можно не вызывать. По умолчанию 0, если T — арифметический тип, и 1 в противном случае.
  • Функция epsilon(), которая, в отличие от std::numeric_limits::epsilon(), возвращает Real вместо T.
  • Функция dummy_precision(), возвращающая слабое значение epsilon. Она в основном используется в качестве значения по умолчанию для операторов нестрогого сравнения.
  • Функции highest() и lowest(), возвращающие соответственно наибольшие и наименьшие возможные значения.
  • Функция digits(), возвращающая количество разрядных цифр (цифр без знака для целых чисел, мантиссы для чисел с плавающей точкой). Это аналог std::numeric_limits<T>::digits, который используется в качестве реализации по умолчанию при специализации.
  • Функция digits10(), возвращающая количество десятичных цифр, которые могут быть представлены без изменений. Это аналог std::numeric_limits<T>::digits10, который используется в качестве реализации по умолчанию при специализации.
  • Функции min_exponent() и max_exponent(), возвращающие соответственно наибольшее и наименьшее возможные значения, такие, что основание, возведенное в степень exponent-1, является нормализованным числом с плавающей точкой. Эти функции эквивалентны std::numeric_limits<T>::min_exponent/ std::numeric_limits<T>::max_exponent.
  • Функция infinity(), возвращающая представление положительной бесконечности, если доступно.
  • Функция quiet_NaN, возвращающая несигнализирующее "не число", если доступно.

Наследуется от Eigen::GenericNumTraits< T >.


Документация для этого класса была сгенерирована из следующего файла:
  • NumTraits.h

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/structEigen_1_1NumTraits.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API