LINUX.ORG.RU

Сообщения l5k

 

Задачка

Давай, LOR. Я знаю, здесь есть теорверы.

Какая в случайной «01»-последовательности (подразумевается равная вероятность появления нуля и единицы) комбинация, 00 или 01, появится раньше?

Решение у меня есть, но я его не понимаю. Может кто лучше расскажет?

 ,

l5k
()

[SmallTalk, real world] Реквестирую кучку годных приложений на ST

После того как погрузился в C++ проект с зашкаливающим количеством ООП, захотелось посмотреть на ST и его средства разработки.
Мельком покопался в Squeak и задался сабжем.
Также интересует, возможно ли ST-приложению с GUI придать нативный look'n'feel?
Здешние смолтокеры, просветите, а то инфы как-то маловато. :3

l5k
()

[c++] forward declaration для подструктуры.

Можно конечно поменять местами декларации B и A, но хотелось бы сохранить такой порядок. Вопрос - как?

struct B;
struct B::C;

struct A {
  typedef B::C DataPtr;
  DataPtr c;
};

struct B {
  struct C {
    int ololo;
  };
  ...
};
Такое мой фю^W^W компилятор отказывается проглатывать. Причина по которой не нравится менять местами декларации: структуре B может понадобиться подструктура A - получаем пиздец.

P.S. никому не кажется лишним правило о строгом порядке объявления?

 

l5k
()

[haskell,ruby,call/cc] Хочется сделать эквивалент примера с ruby на haskell и ещё много чего

Есть такой примерчик, тупо выводит последовательность по три числа: http://brainslugs.blogspot.com/2006/10/callcc.html. Писано на ruby. Можно это реализовать на haskell-е?

После чтения http://en.wikibooks.org/wiki/Haskell/Continuation_passing_style сложилось впечатление что callCC - это какая-то кривая замена простой лямбде и никакими контекстами там и не пахнет. Плохо читал?

В конечно счёте хочется получить последовательность берущуюся из БД по курсору. В принципе, наверное можно не замарачиваться на call/cc, ибо haskell ленивый, в endless loop не уйдёт, но интересно всё таки, да и прозрачно с сохранием контекста в котором бесконечная красота получается, ящитаю.

Пока что не получается сделать даже такое:

nums :: Cont r [Int]
nums = do
  ns <- callCC $ \k -> do
         k [1..]
  return $ take 5 ns

> runCont nums print
[1,2,3,4,5]
А вот как продолжить вычисления до 10, т.е. выполнить этот continuation второй раз? Просветите люди умные и добрые. (:

l5k
()

[lisp, sbcl, streams, галлюцинации] Тормоз в write-sequence

Есть большой-большой, размером 512 млн, vector c элементами типа '(unsigned-byte 8). Нужно его отправить в сокет, делаю так:

(write-sequence bullet (usocket:socket-stream sock))
Но! тут начинаются галлюцинации: процесс sbcl съедает всё процесорное время, принимающий процесс блокируется на select()-е (неважно какой таймаут), через минут 10 программа отвисает, цпу расслабляется, вектор отправлен.

При повторной отправки этого же вектора галлюцинации снова не появляются.

Кто-нибудь с таким сталкивался? Как решил? ЧЯДНТ?

l5k
()

[gnuplot] По данным отметить точки и построить плоскость

Строю так:

        (format-gnuplot #q|~
set pm3d
set dgrid3d
set palette rgbformulae 33,13,10
set view 30,15
splot "~a~:*" u 5:2:($3-$1) with dots
|
         filename)

Появляется плоскость по которой нельзя сказать по каким действительным точкам она построена. Пытаюсь так:

splot "~a~:*" u 5:2:($3-$1) with dots, \
      "~a~:*" u 5:2:($3-$1) with points hidden3d
То же самое.

Доктора, какое предложите лечение?

 

l5k
()

[libstdc++] Хочется поменять default-аллокатор.

Есть ли другие способы кроме как:

- включить libstdc++ в исходники проекта и пересобрать его с --enable-libstdcxx-allocator=mt (много телодвижений, да и поддерживать такой libstdc++ нет желания)

- везде явно указывать аллокатор (явный изврат)

Будет ли достаточно перед всеми инклюдами написать такой хак?

#define _GLIBCXX_CXX_ALLOCATOR_H 1
#define __glibcxx_base_allocator __gnu_cxx::mt_allocator
Проблем с бинарником libstdc++.so не будет?

 

l5k
()

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