|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Необъяснимое поведение fix
Регистрация: 06.06.2009
Сообщений: 19
|
||
Просмотров: 9360
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Мы имеем или наблюдаем? И явно у тебя вычитается не 1, а 51
![]() P.S. Число 3549.9996666888999999 вполне может показываться как 3550.0: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Да, ошибся я
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
#2, вопрос в представлении и реальном значении.
(rtos a 2 16) - что вернет? В а - обрабатываемое значение. А еще лучше - вообще кусок кода, который вычисляет это значение.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Это он так думает. И вполне возможно, что AutoCAD его так отображает (в командной строке или в Панели свойств или в размерном тексте). А в действительности это число "чуть меньше", чем 3550.0
![]()
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
интересно, а какой эпсилон заложен в акаде и в самом лиспе.
В том же C# определены как константы: Цитата:
|
|||
![]() |
|
||||
Цитата:
https://en.wikipedia.org/wiki/Double...g-point_format (DBL_EPSILON: 2^52 ≈ 2.2204460492503131e-016)
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
И на русском в википендии
|
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Код:
число вбивалось в том числе и вручную, т.е. прям в панели свойств - 3550 |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Код:
Код:
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
А почему бы не посмотреть описание fix в документации? Эта функция преобразовывает (не округляет) число в целое. Вещественные числа усекаются до ближайшего целого путем отбрасывания дробной части.
Это не баг, а "фича". Сразу была в Автолисп еще версии R10. Видимо предполагая, что иные виды округления разработает программист. А в "ЯП, которые развиваются и где фиксятся баги" имеются наборы других функций. Например в Delphi есть функции округления Ceil (X), Floor (X), Frac (X), Int(X), Round(X), Trunc(X). Причем округления, в основном, внутри себя используют Int. Функция fix в Автолисп работает как Trunc(X) или Int(X). Еще надо помнить, что Лисп сам определяет тип переданного аргумента "по написанию" |
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Цитата:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Код:
----- добавлено через ~7 мин. ----- полной уверенности у меня, конешно, нет, но мне очень хочется верить, что, когда я задаю объекту длину=500, как вручную, так и vla-put-length, то объект содержит именно 500 и, что не менее важно, отдает 500, а не что-то другое |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
luprec поставь "на побольше"
А не смущает, что свойство Length обычно все же ReadOnly? ----- добавлено через 52 сек. ----- Задать объекту длину невозможно - неизвестно, в какую сторону и насколько выполнять увеличение длины. Если это увеличение вообще возможно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Если в других языках тип данных явно объявляется, то в Lisp такого нет. Примеры "странного" поведения, в котором нет ничего странного. Код:
|
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
Цитата:
----- добавлено через ~19 мин. ----- а что еще можно изобразить на дельфях? Цитата:
но вот его странный алгоритм работы меня и поразил ----- добавлено через ~21 мин. ----- попробовал, разницы не заметил |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Да ну?
Цитата:
Код:
----- добавлено через 36 сек. ----- Пример вызова: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
ну да, а что?
Цитата:
Код:
честно говоря, не знаю почему, чего вижу, то и пою |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ничего не меняется - специально несколько раз проверил. Чутка подправил твой код, добавил информационные выводы:
Код:
Ну и показывай свой файл с образцами примитивов, для которых у тебя "все работает".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Примитив (в терминах AutoCAD) - это графический объект. Например, слой или тип линии или размерный стиль - это объекты (не примитивы). А линия, полилиния, дуга, твердое тело и т.д. - это примитивы.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
a-karlson, у тебя там элементы вертикалок, а не чистого ACAD'a. Поведение пользовательских примитивов может принципиально отличаться от поведения стандартных примитивов.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
да, но значения полей, после их получения и занесения в переменную (список, пр.), отчуждаются от примитива и на поведение фикса их происхождение не влияет же
|
|||
![]() |
|
||||
Инженер Регистрация: 24.05.2008
г. Москва
Сообщений: 13
|
Цитата:
![]() |
|||
![]() |
|
||||
Цитата:
В иерархии классов всё четко.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
a-karlson, еще раз - с любым числом, которое тебе "неправильно" обрабатывается, выполни такую последовательность (где val - твое число):
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
Цитата:
выхлоп в текстовое окно: Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
И какое из них - val или tt - "неправильное"?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 06.06.2009
Сообщений: 19
|
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посоветуйте, пожалуйста, литературу по проектированию фундаментов на основаниях, содержащих слой сильновыветрелого грунта (рухляка) или поведение рухляка под нагрузкой | Zvezdaneba | Поиск литературы, чертежей, моделей и прочих материалов | 5 | 28.07.2016 15:11 |
Странное поведение функции GetPoint | krok64 | Программирование | 3 | 15.06.2016 08:01 |
Непонятное поведение цикла по списку | swkx | Программирование | 33 | 28.03.2012 15:39 |
Поведение AutoCAD 2005 после установки 2006 | Кулик Алексей aka kpblc | AutoCAD | 12 | 10.08.2005 08:49 |