|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Под VS2008/nanoCAD собирается, но требует более старую версию eigen - 3.1 (в текущей 3.4 не опознает новомодные шаблоны с переменным числом параметров, что, видимо, не лечится). Похоже, VS2008 не опознает UTF-8 без BOM.
Последний раз редактировалось Нубий-IV, 13.10.2021 в 07:54. |
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
|
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,705
|
Цитата:
код вызывает функцию-прокладку-> прокладка вызывает функцию eigen. Тогда при смене математического модуля придется переписать только "прокладки", а основной код не трогать. Иначе светит глобальная переработка, например у меня в процедурном типе tLocalStiffnessMatrixProcedure используется входной параметр MatrixXd & localStiffnessMatrix, что привязывает дальнейший код к eigen typedef bool (*tLocalStiffnessMatrixProcedure)(const tFiniteElement & finiteElement, const tPoint3dArray& point3dArray, const tMaterialArray & materialArray, const tSectionArray §ionArray, MatrixXd & localStiffnessMatrix); Возможно, имеет смысл вводить промежуточный класс, который будет внутри себя использовать классы eigen. ----- добавлено через ~2 ч. ----- Вы можете найти простой выход из ситуации или будем назад менять кодировку в основном файле? Хотелось бы, конечно, максимальной совместимости в проекте, чтобы везде собирался без проблем и кракозябр. Последний раз редактировалось nickname2019, 13.10.2021 в 10:55. |
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,705
|
Цитата:
Вот сравнение eigen с какой-то boost https://journal.tusur.ru/storage/495...pdf?1472809983 Видимо, надо найти нормальную библиотеку с линейной алгеброй под C#. Под с++, видимо, придется оставить eigen, но чтобы сделать код максимально совместимым с .Net (а также с целью не привязываться к конкретной библиотеке), классы Eigen я уберу из основного кода. В коде будет некоторый (может быть абстрактный) класс типа tLinearAlgebra, который будет вызывать методы из самой математической библиотеки. Последний раз редактировалось nickname2019, 13.10.2021 в 13:14. |
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,705
|
|
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
Цитата:
Цитата:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,705
|
Имхо, мы не можем его включать в свободный продукт, так как распространять нельзя. Наш код может предполагать любое, в т.ч. коммерческое использование.
|
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
А мы его и не будем включать туда. Кому нужно сам его скачает и подключит для ускорения счета "адских" схем.
Просто для коммерческого использования вместе с MKL нужно будет купить лицензию на MKL и все. Не так уж она дорого стоит. |
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Мне помогло пересохранить как UTF с маркером BOM:Если верить гуглу, разные версии компиляторов этот UTF - и BOMнутый, и неBOMнутый - ухитряются понимать по-разному. Вот VS2008 показывает файл без маркера правильно, а компилирует - неправильно; с маркером - все работает как надо. Другие студии - надо тестировать. (Пример - https://www.codeatcpp.com/2016/03/utf-8.html)
Цитата:
Будут как минимум проблемы при компиляции с eigen. Если для старых студий нужна старая версия, то в файле Types.h указывать полный путь к заголовкам (#include <C:\ArxLib\eigen\Eigen\Dense>) не годится: чтобы пересобраться под другую студию, надо будет каждый раз удалять старую папку с одной версией библиотеки и записывать другую версию. Вообще предлагаю отвязать проекты от конкретных путей через свойства:Фокус в том, что файл настроек окружения - это отдельный файл Environment.vsprops, в котором задана только пара макросов с путями, и каждому нужно поправить их под свое расположение библиотек; остальные настройки задаются по-прежнему в проекте, и их менять не придется. А пути к библиотекам после этого можно указывать просто - как и к другим стандартным "#include <Dense>". Не соображу только, как настроить Git, чтобы он этот файл игнорировал: если включить его в gitignore сразу, то он не попадает в репозиторий, и его никто не скачает, чтобы настроить под себя; а если включить после добавления в репозиторий, то он уже не игнорируется. Как сделать, чтобы от с репозитория клонировался, но обратно после настройки уже не просился? |
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
Да, я тут еще вспомнил, что Math.NET, кроме собственного встроенного, использует еще и OpenBLAS в качестве нативного ядра линейной алгеьры, как альтернативу IntelMKL. Оно считает медленне MKL, но значительно быстрее встроенного.
|
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,705
|
Проект, кажется, выходит на финальный этап, когда уже можно начинать писать по-делу.
Нужно обсудить, как в него вносить изменения. Видимо, делать merge через GitHubDesktop (как я все время делал) - не самая удачная идея, так как будет выбивать почву у людей, которые начали писать код на основе предыдущей версии. После того, как румата поменял кодировку arxentrypoint, у меня синхронизация перестала закачиваться на gitHub (наверно, это нормально, так как кодировка файлов другая совершенно). |
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Руководство по Git: https://habr.com/ru/post/150673/ - коротенько, на 300 страниц. В пятой главе вроде про совместную работу пишут. Я туда через пару месяцев дочитаю, наверное - тогда тоже смогу поучаствовать.
|
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 178
|
Товарищи почитайте со стороны что вы пишите!
Румата не обижайся, тебе сказали С++, что ты к ним пристал со своим С#. Делай рядом свой проект, используй какие хочешь библиотеки. Я думаю ребята помогут тебе подключится к своему. Если у тебя будет что то интересное, то подсмотрят. У вас есть лидер, смерись с eigen. Нубий-IV, вот у руматы C#, а у тебя бесплатный нанокад... Я кончено не специалист по гиту, но с ZCAD-ом все просто, перед коммитом делаешь ПУЛЛ, решаешь все конфликты на этом моменте, делаешь коммит(помечаешь те файлы которые отправляешь) и пушешь (отправляешь). Естественно работать надо через тортоисеГИТ Подробнее только подскажет zamtmn |
|||
![]() |
|
||||
Регистрация: 06.04.2015
Сообщений: 2,754
|
Наше дело, как говорится, предложить. Ни к кому я не приставал. Я просто предложил готовое рабочее решение СЛАУ. Без танцев с бубнами вокруг сборки eigen.
Не вопрос, пусть будет eigen. Главное что б кто-то дал ему лад. Работать с репозиторием лучше всего прямо из VS. Лучше всего создать свою ветку кода и "ляпать" в ней. Все коммиты должны синхронизироваться независимо от кодировки файлов. А если коммитов не делать, то ничего и не будет синхронизироваться. |
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Чуток поигрался с этой ЭйГейской библиотекой.
Код:
Второй тест - решение систем. Код:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
СП 335.1325800.2017 «Крупнопанельные конструктивные системы. Правила проектирования» (Обсуждение) | Armin | Прочее. Архитектура и строительство | 37 | 07.11.2018 06:55 |
Фирменные решения по пропуску коммуникаций через стены подвала | Regby | Конструкции зданий и сооружений | 2 | 07.04.2010 20:43 |
устройство и возможные конструктивные решения вентфасада из кирпича | Ivansobaka | Каменные и армокаменные конструкции | 1 | 16.12.2009 06:38 |
Конструктивные решения по перемычкам в многослойных кирпичных стенах! | Westroy | Архитектура | 16 | 30.11.2009 13:57 |
Конструктивные решения монтажных соединений многоэтажных зданий на высокопрочных болтах | VoRoNoFF | Конструкции зданий и сооружений | 1 | 04.04.2009 00:41 |