5.12. Библиотека mathn
5.12. Библиотека mathn
В программах, выполняющих большой объем математических вычислений, очень пригодится замечательная библиотека mathn, которую написал Кейдзу Исидзука (Keiju Ishitsuka). В ней есть целый ряд удобных методов и классов; кроме того, она унифицирует все классы Ruby для работы с числами так, что они начинают хорошо работать совместно.
Простейший способ воспользоваться этой библиотекой — включить ее с помощью директивы require и забыть. Поскольку она сама включает библиотеки complex, rational и matrix (в таком порядке), то вы можете этого не делать.
В общем случае библиотека mathn пытается вернуть «разумные» результаты вычислений. Например, при извлечении квадратного корня из Rational будет возвращен новый объект Rational, если это возможно; в противном случае Float. В таблице 5.1 приведены некоторые последствия загрузки этой библиотеки.
Таблица 5.1. Результаты вычислений в случае отсутствия и наличия библиотеки mathn
Выражение Без mathn С mathn Math.sqrt(Rational(9,16)) 0.75 Rational(3,4) 1/2 0 Rational(1,2) Matrix.identity(3)/3 Matrix[[0,0,0], [0,0,0],[0,0,0]] Matrix[[1/3,0,0], [0,1/3,0],[0,0,1/3]] Math.sqrt(64/25) 1.4142… Rational(8,5) Rational(1,10).inspect Rational(1,10) 1/10Библиотека mathn добавляет методы ** и power2 в класс Rational. Она изменяет поведение метода Math.sqrt и добавляет метод Math.rsqrt, умеющий работать с рациональными числами.
Дополнительная информация приводится в разделах 5.13 и 5.14.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Библиотека Ext Core
Библиотека Ext Core В этом разделе мы будем изучать самые полезные для нас на данный момент возможности библиотеки Ext Core. Полностью она описана в справочнике, доступном на ее "домашнем" Web-сайте. Зачем нужна библиотека Ext Core Но зачем нужна эта библиотека? Почему бы нам не
Мобильная библиотека
Мобильная библиотека Книги на компьютерах и ноубтуках Итак, электронная книга может обитать, как минимум, на трех различных «квартирах»: обычный компьютер (десктоп или ноутбук), карманный компьютер или коммуникатор, и, наконец, мобильник или смартфон. Само собой
23.2. Библиотека Glib
23.2. Библиотека Glib 23.2.1. Стандартные типы данных библиотеки Glib Библиотека Glib содержит типы данных, аналогичные типам данных языка С, а также такие структуры, как деревья, списки; функции для работы с памятью и обработки ошибок. Это сделано для того, чтобы ваше приложение
Стандартная библиотека С++
Стандартная библиотека С++ В данном разделе мы кратко рассмотрим стандартную библиотеку С++. На рис. Б.З приводится список базовых заголовочных файлов С++:• <bitset> — шаблонный класс для представления последовательностей битов фиксированной длины,• <complex> — шаблонный
Библиотека муфт
Библиотека муфт Ускорение процесса трехмерного проектирования и конструирования всегда является основной проблемой для разработчиков любой CAD-системы. Однако, несмотря на это, количество узконаправленных прикладных 3D-библиотек не так уж велико (их значительно меньше,
14.3. Библиотека Shell
14.3. Библиотека Shell Не всегда Ruby удобен в качестве языка сценариев. Например, в языке bash для запуска внешней программы достаточно просто указать ее имя безо всякого дополнительного синтаксиса.Оборотной стороной мощи и гибкости Ruby является более сложный синтаксис. Кроме
20.1. Обзор: библиотека drb
20.1. Обзор: библиотека drb Библиотека drb состоит из двух основных частей: серверной и клиентской. Грубую границу между ними можно провести следующим образом:Сервер:• запускает TCPServer и начинает прослушивать порт;• привязывает объект к экземпляру сервера drb;• принимает
Библиотека
Библиотека CoolReaderСайт: http://www.coolreader.orgРазмер: 1,6 МбСтатус: Freeware CoolReader – «читалка» почти идеальная, во всяком случае, для настольного компьютера. Варианта программы для PocketPC, увы, не предусмотрено – в этом случае вас выручит привычный HaaliReader. Кроме того, несколько огорчает