Здравствуйте, гость ( Вход | Регистрация )
BRE | Дата 11.3.2009, 23:17 |
ЗЫ: что то попробовал открыть под Visual Studio, QT проект не подцепился, ошибку при открытии выдает, под Qt Creator ом, проект открылся только все что по русски написано не читается (кракозябы), пробовал FAR ом открыть он то же кодировку не понял (win, dos), под Linux-ом написано ? UTF8 В QtCreator: Edit -> Select encoding... -> UTF-8 |
|
AntonTatu | Дата 11.3.2009, 21:52 |
Добавил контексты. Разбил по файлам. Кратко документировал. Проект в архиве. ПАСИБА завтра буду вникать ! ЗЫ: что то попробовал открыть под Visual Studio, QT проект не подцепился, ошибку при открытии выдает, под Qt Creator ом, проект открылся только все что по русски написано не читается (кракозябы), пробовал FAR ом открыть он то же кодировку не понял (win, dos), под Linux-ом написано ? |
|
BRE | Дата 11.3.2009, 21:44 |
Добавил контексты. Разбил по файлам. Кратко документировал. Проект в архиве. |
|
BRE | Дата 11.3.2009, 11:31 |
//Очищаем стэк перед новым расчетом //хотя заметил что перед новым расчетом стэк всегда пуст, даже если предыдущий выход из цикла был по брэйку...., //наверно и очищать его не нужно.... и функция лишняя... ? Вот смотри формула: 100 200 300 400 0 / * + + происходит ошибка: Деление на 0, в стеке: 100 200 300 400 Тут от формулы зависит. вот это очень интересно, т.к. скорости мне все равно хочется больше... (если компилировать dll ку с массивом получается намного быстре, только компилятор таскать за собой не получится...) С нативом даже не сравнивай, не расстраивай себя. Такой производительности не будет. Контексты набросаю чуть позже... |
|
AntonTatu | Дата 11.3.2009, 11:09 |
Мне кажется, что логичней, если сам метод run() будет сообщать нужно ли продолжать вычисления. Так и знал что можно было огород не городить......с флажком... Цитата Еще желательно ввести методы для очистки стека, т.к. при таком прерывании операции возможны случаи, когда в стеке останутся данные. сделал так: вот
Если выход из цикла будет по break, то в стэке будет какой то результат, но в этом случае очищать его мне ненужно, т.к., я его в дальнейшем использую... (мне его наооборот получать нужно ) Цитата Можно ввести такое понятие как контекст, в котором хранить арифметический стек, состояние (ошибка), исходные данные, локальные переменные. Тогда мы бы избавились от статического стека и получили возможность пихать расчет формул по разным потокам. Если будут еще вопросы задавай, мне самому интересен этот вопрос. вот это очень интересно, т.к. скорости мне все равно хочется больше... (если компилировать dll ку с массивом получается намного быстре, только компилятор таскать за собой не получится...) |
|
BRE | Дата 11.3.2009, 6:12 |
Мне кажется, что логичней, если сам метод run() будет сообщать нужно ли продолжать вычисления. вот
Еще желательно ввести методы для очистки стека, т.к. при таком прерывании операции возможны случаи, когда в стеке останутся данные. Можно ввести такое понятие как контекст, в котором хранить арифметический стек, состояние (ошибка), исходные данные, локальные переменные. Тогда мы бы избавились от статического стека и получили возможность пихать расчет формул по разным потокам. Если будут еще вопросы задавай, мне самому интересен этот вопрос. |
|
AntonTatu | Дата 10.3.2009, 23:38 |
Ну барин ты задачки задаешь. (с) ............................................. ............................................. Таким образом можно наделать разных необходимых операций, ввести переменные и т.д. Например, если у всех переменных необходимо изменять j, можно сделать такую операцию, которая это будет делать вызовом одной функции. Думай пробуй. Да у самого голова уже пухнет , залез в такие дебри в которых мало что понимаю Последний вопрос связанный вот с этим , и все.... вот эта часть
как сделать так что бы при сложении если на стеке ( m_stack.push( v1 + v2 ) число больше ну к примеру 100 (или любого какое нравится) остановить подсчет Formula::calc() и вывести результат ? я сделал так.... вот
все работает как надо, но мне кажется что можно было както проще сделать ? |
|
BRE | Дата 10.3.2009, 20:46 |
т.е. что бы появилась возможность "сдвигать" формулу и, не перестраивая формулу заново и не генерируя новый массив ? Ну барин ты задачки задаешь. (с) Переделать операцию VarOp или сделать еще одну операцию (это набросок).
Таким образом можно наделать разных необходимых операций, ввести переменные и т.д. Например, если у всех переменных необходимо изменять j, можно сделать такую операцию, которая это будет делать вызовом одной функции. Думай пробуй. |
|
SABROG | Дата 10.3.2009, 20:29 |
Хорошо бы троллям спидтест запостить, а то не хорошо получается. отпишись, и тестовый примерчик приложи, как я понял у тебя он уже естьМопед не мой я просто разместил объяву |
|
Litkevich Yuriy | Дата 10.3.2009, 20:24 |
Хорошо бы троллям спидтест запостить, а то не хорошо получается. отпишись, и тестовый примерчик приложи, как я понял у тебя он уже есть |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 5:32 |