LINUX.ORG.RU

Сообщения recon88

 

Overflow flag

Проблемы с пониманием логики overflow flag.

Хочется простого теста который позволит проверять правильность его вычисления.

Пример с википедии:

Overflow - capture changes of sign where it can't be:

1. positive + positive -> negative(must be positive)

2. negative + negative -> positive(must be negative)

Правильный ли он? И как его модифицировать для вычитания(сейчас приходит в голову менять знак второго операнда перед сложением).

recon88
()

Как концентрироваться на задаче?

После начала хронометража увидел ужасную картину : я в 3 раза больше отвлекаюсь чем занимаюьс полезными делами. Причем отвлечения эти частые и недолгие, то на лор заглянуть, то вконтакте проверить сообщения, то почитать про внезапно всплывший в голове вопрос(который может совершенно не относиться к тому чем я в данный момент занимаюсь).

Так вот - что бы повысить производительность труда надо научиться концентрироваться, работать один монолитным куском времени, без разрывов.

Есть ли у кого-то подобные проблемы. и как он с ними борется?

recon88
()

Хранилище для бэкапа

Какое лучше хранилище посоветует для бэкапа данных. Рассматриваются такие варианты:

1. Flash drive - обычная флешка, на которую переодически сбрасывать данные.
2. Онлайн сервис, можете ли посоветовать что-то недорогое?
3. Что-то другое?

Объем данных ~ 4 Гб.

recon88
()

[ld] Указание положения функции в бинарном файле

Для работы программы необходимо чтобы точка входа в программу располагалась по адресу 0x0(тоесть в самом начале секции .text). Однако при линковке туда попадает левая функция которая на самом деле не является точкой входа.

Вопрос : можно ли указать для ld что бы он помещал функцию main в начало секции .text?

Для работы используется простой бинарник(arm-elf-objcopy -R .note -R .comment -S -O binary test test.bin). По этому и необходимо расположить main в начале.

 

recon88
()

[Emacs]Keyboard translation

У меня в емаксе <C-i> интерпретируется как <TAB>. Можно ли как-то убрать это? Что бы нажание <C-i> не интерпретировалось как <TAB>. Подскажите хоть в какую сторону копать.

keyboard-translate-table - пустая

Такая же ситуация наблюдается и при запуске из консоли.

Макрос kbd вроде тоже выдает одинаковые коды для этих клавиш.

 

recon88
()

[GCC][Thumb1][ASM] Проблема с inline ассемблером

Пробую сделать ассемблерную вставку, но он не компилируется.

Такой код:

void main()
{

  unsigned char x = 200;

  asm("mov r7,%[value]"
      :
      : [value] "I" (x)
      );

}

Сообщение об ошибке:

test.c: In function ‘main’:
test.c:5: warning: return type of ‘main’ is not ‘int’
test.c:9: warning: asm operand 0 probably doesn’t match constraints
test.c:9: error: impossible constraint in ‘asm’
make: *** [bin] Error 1

Компилирую под thumb1 вот такой командой:

arm-elf-gcc -mcpu=arm7tdmi -mthumb -O0 -msoft-float -I/usr/arm-elf/include -c test.c

Версия gcc : arm-elf-gcc (GCC) 4.3.2

Список ограничений для inline assembler взял здесь http://www.ethernut.de/en/documents/arm-inline-asm.html, там есть таблица с перечислением всех возможных ограничителей на операнды.

Прошу подсказать что не так

 ,

recon88
()

[Haskell]deriving typeable

Возникает проблема автоматического определения Typeable instance для данного кода.

data Void = Void deriving (Data,Typeable,Show,Eq)

data Expr x where
    DoNothing :: Expr Void
    BinOp :: Expr Word32 -> Expr Word32 -> Expr Word32

data BinaryOperation = Add
                       deriving (Typeable,Data)

deriving instance (Data a) => Data (Expr a)
deriving instance Typeable1 Expr

Текст ошибки:

    Couldn't match expected type `Void' against inferred type `Word32'
      Expected type: Expr a
      Inferred type: Expr Word32
    In the first argument of `z', namely `BinOp'
    In the first argument of `k', namely `z BinOp'
    When typechecking a standalone-derived method for `Data (Expr a)':
      gunfold k z c
                = case constrIndex c of {
                    GHC.Types.I# 1# -> z DoNothing
                    _ -> k (k (z BinOp)) }
Failed, modules loaded: none.

Кто-то может объяснить в чем дело. Или хотя бы отослать к соответствующему разделу документации.

 

recon88
()

[Emacs][auto-save/backup]Проблемы

При открытии файла в emacs в той же директории создается файл вида .#test.lhs, хотя:

(setq auto-save-default nil)
(setq temporary-file-directory «/tmp»)

(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))

(setq backup-inhibited t)

Как-бы все режимы автосохранения выключены, однако эти файлы всеравно создаются. Может это другой режим их создает? Никак не могу разобраться

 

recon88
()

Верификация программ

Может ли кто-то подсказать хорошие ресурсы по верификации программ. Сейчас изучаю все преимущественно по статьям(логика хоара, изоморфизм кари-говарда, теория типов). Однако целостного понимания нет. Интетересует вся эта информация в целостном виде(что-то вроде универского курса), и еще желательно с примерами применения, а то понимаешь что это такое, а как воспользоваться - не знаеш.

recon88
()

ARM CPSR правила обновления

Существуют ли точные правила обновления битов в CPSR(в частности интересуют точные правила обновления N Z C O флагов)

recon88
()

Haskell GADT deriving Show

Здесь http://www.haskell.org/ghc/docs/6.12.1/html/users_guide/deriving.html в секции 7.5.3 написано что возможно автоматическое создание класса Show для GADT, однако компилятор ругается на определение которое не соответствует Haskell-98.

Компилятор : ghc-6.10.4

Интересует возможность использования deriving для GADT, или объяснение того факта что в документации такая возможность описана.

recon88
()

[Алгоритмы][Транспортная задача] Ошибка в алгоритме

Решаю классическую транспортную задачу методом Форда-Фалкерсона:
1. Находим путь в остаточном графе(остаточный граф - граф по которому еще не ходили на прошлых итерациях).
2. Делаем его увечивающимся
3. Делаем так пока существуют пути

В литературе указывается что этот метод гарантированно найдет максимальный возможный поток, однако на этой сети : http://s51.radikal.ru/i132/1005/f8/831c107cf1bc.png такого не происходит, точнее может происходить, однако это сильно зависит от условий выбора пути, чего по идее не должно быть, и в исходном алгоритме по выбор конкретного пути ничего не упоминаются.

На графе все ребра с единичным весом.

8 - исток, 9 - сток

Как срабатывает:
1. Путь 8-6-3-9
2. Путь 8-0-7-9
3. Путь 8-2-1-9

Все, доступных путей не осталось, хотя поток не максимальный!

Максимальный поток получится на следующих путях:
1. 8-6-3-9
2. 8-0-7-9
3. 8-2-5-9
4. 8-4-1-9

Хотя во всей литературе указывается что метод Форда-Фалекрсона гаранированно ищет максимальный поток, этого не происходит. Это я туплю, или ошибка в алгоритме?

 

recon88
()

[a1.net]Не работает отсылка mail - 554 mailbox not found

Не работает отсылка на ящики на почту на сервере a1.net . Пробовал с yandex.ru, gmail.com. Пробовал пустые и не пустые, на английском и на русском, с темой и без.

Примерное содержание ошибки:

----- The following addresses had permanent fatal errors -----
<-------------@a1.net>
(reason: 554 mailbox not found)

----- Transcript of session follows -----
... while talking to smtp.a1.net.:

DATA

<<< 554 mailbox not found
554 5.0.0 Service unavailable
<<< 503 RCPT first (#5.5.1)
[2 <message/delivery-status (7bit)>]
Reporting-MTA: dns; smtp2.infomaniak.ch
Received-From-MTA: DNS; 86-165-179-94.pool.ukrtel.net
Arrival-Date: Sun, 16 May 2010 19:51:22 +0200

Final-Recipient: RFC822; -------------@a1.net
Action: failed
Status: 5.0.0
Remote-MTA: DNS; smtp.a1.net
Diagnostic-Code: SMTP; 554 mailbox not found
Last-Attempt-Date: Sun, 16 May 2010 19:51:26 +0200

recon88
()

[слияние]Внешняя сортировка

Что-то меня некоторые лекции ввели в заблуждение http://video.google.com/videoplay?docid=-978892635109400080 . Там, довольно бородатый лектор, начинает перечислять какие качества нужны для внешней сортировки : среди них есть также inplace(сортировка на месте без привлечения дополнительной памяти). В качестве алгоритма он описывает сортировку слинянием, причем описывает на протяжении всей лекции, потом придумывает всяческие оптимизации(двойная буферизация, n-way merge).

Вопрос : как он делает слияние inplace, потому что известные алгоритмы слияния работают с O(n) дополнительной памяти, и для реализации его примера с 100 милионами записей, на последней итерации прийдется выделить второй файл такого же размера.

Как быть? Есть ли слияние с O(1) дополнительной памятью, и более-менее приспособленое для внешней сортировки?

Кстати он говорит что большинство СУБД используюут как раз внешнюю сортировку слиянием.

recon88
()

[C]Посмотреть использование кэша

Можно ли получить информацию об использовании кэша в программе? Где были cache-miss, или что-то подобное.

 

recon88
()

Внешняя сортировка за линейное время

Интересует, возможно ли сделать это. Собственно интересует именно заключительная фаза алгоритма - слияние отсортированых кусоков файла. Почему то мне кажется что классические алгоритмы сливают не за линейное время от количества записей. Ну две под последовательности сливают конечно за линейное, но там ведь последовательностей большое количество, и приходится уже обработанные куски, сливать с другими обработанными кусками что бы получить результат - в этом, мне кажется, кроется сверх линейное время.

Вопрос : возможно ли слить отсортированные куски большого файла за линейное время.

recon88
()

Задача о подграф изоморфизме

Можно ли узнать простые методы решения задачи, а то гугление дает ссылки в основном на улучшеные методы, которые понять очень сложно, и желательно на русском, хотя можно и на английском.

Задача о подграф изоморфизме: дано два графа, второй предположительно является подграфом первого, проверить это утверждение, и найти вершины в первом графе, которые соответствуют второму.

recon88
()

Рекурсия + мемоизация =? Динамическое программирование

Собственно, интересует сабж. Можно ли считать рекурсивное решение с мемоизацией динамическим программированием, или только способ когда задача переписывается для решения с низу вверх?

recon88
()

Помогите перевести

Public Funding

Increased public expenditure on higher education would have a strong positive impact on the supply of highly educated employees (Asplund 2001). Public support schemes that provide direct monetary support to students vary across the Bologna countries. In general, they are based on universal, compensatory or meritocratic criteria. The need for public funding is stressed in the last ministerial communiqué (2009) and is interrelated with the sustainable funding for the future, which is also one of the concerns raised by the European Students’ Union (ESU 2005).

Как в контесте данного параграфа будет наиболее перевести фразы «public» и «public funding». Гугл подсказывает что «государственны», но это немного не согласуется с общим смыслом текста(перевод материалов по Болонскому процессу, где одно из основных положений - независимость университетов). Поэтому прошу высказать свои соображения по поводу этого текста.

recon88
()

Часто ли вы отвлекаетесь?

Работаю дома, и существует большая проблема - часто отвлекаюсь от важных дел и начинаю страдать фигней. Фигня может быть какая угодно : от пиления emacs(ищу режимы на emacs-wiki которые можно использовать), до чтения википедии. Пользы от этих занятий никакой, я это понимаю, но это уже как наркотик, сконцентрироваться получается, но не долго.

Есть ли у вас эти проблемы, и если да, то как вы с ними боретесь?

recon88
()

RSS подписка на новые темы