Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];

Вниз

"Феня" компилятора   Найти похожие ветки 

 
KilkennyCat ©   (2009-08-17 14:53) [40]


> Учите матчасть:

по википедии?!


 
@!!ex ©   (2009-08-17 14:58) [41]

> [40] KilkennyCat ©   (17.08.09 14:53)

Ну дайте другой источник...
Хотя вроде все что там написано соответствует тому, что нам в ВУЗе расскзаывали...


 
@!!ex ©   (2009-08-17 15:00) [42]

Если вы считаете, что я сказал глупость - дайте ссылку на спецификацию где написано прямо обрабтное тому, что я написал.
Спасибо.


 
Anatoly Podgoretsky ©   (2009-08-17 15:08) [43]

> KilkennyCat  (17.08.2009 14:53:40)  [40]

Ага по ней и при этом делать хитрое лицо, стараясь его не испачкать.


 
@!!ex ©   (2009-08-17 15:26) [44]

> [43] Anatoly Podgoretsky ©   (17.08.09 15:08)

Если считаете что я сказал глупость - дайте ссылку на спецификацию где написано прямо обрабтное тому, что я написал.


 
Anatoly Podgoretsky ©   (2009-08-17 15:30) [45]

> @!!ex  (17.08.2009 15:26:44)  [44]

Жди


 
@!!ex ©   (2009-08-17 15:38) [46]

> [45] Anatoly Podgoretsky ©   (17.08.09 15:30)

Ок. Вы мастерски подтердили свое интеллектуальное превосходство и уровень знаний.
Зачем правда вы это сделали остаеться загадкой... ведь ничего кроме издевки с вашей стороны не поступило...


 
Anatoly Podgoretsky ©   (2009-08-17 15:47) [47]

> @!!ex  (17.08.2009 15:38:46)  [46]

Кончай с наездами и не пытайся требовать ответа, это открытая конференция, каждый сам решает, писать или нет, я лично решил не тратить время, с учетом предыдущих обсуждений это пустая трата времени.

Но если хочешь, то жди.


 
Дмитрий Белькевич   (2009-08-17 15:48) [48]


> Зачем правда вы это сделали остаеться загадкой...


У слона всё равно больше.


 
SPeller ©   (2009-08-17 15:53) [49]


> ничего кроме издевки с вашей стороны не поступило

Здесь мнение мастеров - истина в последней инстанции :)


> if (С = GetChecksum(s)) = true then Result := true else Result := false

Да, хороший вариант :)


 
Anatoly Podgoretsky ©   (2009-08-17 16:25) [50]

Да трудно с вами, с гурами.


 
Дмитрий Белькевич   (2009-08-17 16:54) [51]


> Да, хороший вариант :)


Только две вещи бесконечны - Вселенная и человеческая глупость,
хотя насчёт первой я не уверен. (с) самизнаетекто.


 
@!!ex ©   (2009-08-17 16:55) [52]

> [47] Anatoly Podgoretsky ©   (17.08.09 15:47)

Да не требую я, и не наезжаю.
Мне просто не понятно зачем так делать: "В форме насмешки указывать на ошибку, и потом ничем не подтверждая своих слов продолжить насмехаться".

действительно, наверно со мной сложно спорить, потому что я не считаю что
> [49] SPeller ©   (17.08.09 15:53)
> мнение мастеров - истина в последней инстанции :)

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


 
Anatoly Podgoretsky ©   (2009-08-17 16:58) [53]

Ну не будем же мы выяснять отношения в форуме.


 
DrPass ©   (2009-08-17 17:18) [54]


> Мне просто не понятно зачем так делать: "В форме насмешки
> указывать на ошибку, и потом ничем не подтверждая своих
> слов продолжить насмехаться".

Как это зачем? Унизить тебя, втоптать в грязь твои светлые чувства, смешать с дерьмом твою репутацию, и таким образом получить удовольствие


 
KilkennyCat ©   (2009-08-17 18:32) [55]


> DrPass © (17.08.09 17:18) [54]

осторожнее с объяснениями - могут подумать, что судишь по себе.


 
test ©   (2009-08-17 19:47) [56]

Anatoly Podgoretsky ©   (17.08.09 15:08) [43]
В выражении не указан не тип c, не тип GetChecksum, не тип s. Все может быть, там может быть сплошной boolean...


 
Anatoly Podgoretsky ©   (2009-08-17 19:54) [57]

> test  (17.08.2009 19:47:56)  [56]

А типы и не важны, важен оператор отношения


 
@!!ex ©   (2009-08-17 20:01) [58]

> [57] Anatoly Podgoretsky ©   (17.08.09 19:54)

Я не с потолка написал.
В 2006 году делали проект по нейросетям, и в файл надо было писать 0 для false и 1 для true.
Я в то время на первом курсе СГАУ учился и нам как раз рассказали о том, что можно вместо
if a=b then Result:=true else Result:=false;
писать Result:=a=b;

Придя на работу, я занялся как раз модификацией куска кода сохраняющего нейросеть в файл.
Увидел место в котором мной ранее было написано if then else, исправил, проверил, работает. А когда нчали прогонять авто-тесты - прога начала валиться.... Почему? Потому что вместо 1 для true, стояли в некоторых случаях другие значения. Я нехилый втык тогда получил. За дело получил, потому что надо учитывать то, как данные представляются в машине. Случай запомнил.
Именно поэтому с полной уверенность написал свое сообщение в [32]


 
Anatoly Podgoretsky ©   (2009-08-17 20:24) [59]

У тебя видимо была ошибка в другом месте, кроме того неизвестно какого типа у тебя Result и какой язык программирования.

Но оператор отношения (=) дает только два ответа, выражение истинно или ложно.
Ничего другого, иначе прекращает работать булева алгебра, которая имеет другое название логика высказываний и опирается только истинность высказывания и ни на чего больше. Для не булевых операций могут быть другие правила. Про представление я ничего не говорю, это дело внутренней реализации, но значение истина - это true, значение ложь - это false и больше никаких других значений. В Паскале реализация 1/0, в других языках могут быть другие, я встречал 0/255 (FF).

Отсюда ты получил науку, ты предположил, что оно обязательно 0/1, так как тебе представлялось и как тебе надо, но это не так. Так это в Паскале, поскольку у него встроена булева алгебра еще с начала 70 годов и как минимум с 83 года оно равно 0/1

Поэтому ты был изначально не корректен и в своей агресивной манере.

ЗЫ: что бы не быть головословным я приведу выписку из справки

The four predefined Boolean types are Boolean, ByteBool, WordBool, and LongBool. Boolean is the preferred type. The others exist to provide compatibility with other languages and operating system libraries.

A Boolean variable occupies one byte of memory, a ByteBool variable also occupies one byte, a WordBool variable occupies two bytes (one word), and a LongBool variable occupies four bytes (two words).

Boolean values are denoted by the predefined constants True and False. The following relationships hold.

Boolean ByteBool, WordBool, LongBool
False < True False <> True
Ord(False) = 0 Ord(False) = 0
Ord(True) = 1 Ord(True) <> 0
Succ(False) = True Succ(False) = True
Pred(True) = False Pred(False) = True

Ключевые моменты помечены жирным.

И мою небольшую статью по Булевой алгебре и битовой логике.

http://www.podgoretsky.com/Redir.aspx?id=137&DownloadFile=~/ddp/bits.aspx


 
@!!ex ©   (2009-08-17 20:59) [60]

Вот это место(специально код откопал) если я правильно помню:
     if ilayers<=Table.Layers[ilayers].Neirons[ineirons].Enters[ienters].Layer then
      Neuron^.Dendrits[ienters].IsRecursiveDendrit:=1
     else
      Neuron^.Dendrits[ienters].IsRecursiveDendrit:=0;

     integer(Neuron^.Dendrits[ienters].Neuron):=ShiftInLayer[Table.Layers[ilayers].Ne irons[ineirons].Enters[ienters].Layer]+Table.Layers[ilayers].Neirons[ineirons].Enters[ienters].Neiron;
     if GetTeachLayer(Table.Layers[ilayers].Neirons[ineirons].Enters[ienters].Layer,ilay ers) then
       Neuron^.Dendrits[ienters].CanTeach:=1
     else
       Neuron^.Dendrits[ienters].CanTeach:=0;

IsRecursiveDendrit и CanTeach - integer
Если подставляли само выражение и приводили к integer"у - был тот самый косяк с неверным представлением.
Следующим после этого кодом, рекорды просто сбрасываються в файл:
 FileHandle:=FileCreate(FileName);
 FileWrite(FileHandle,Memory^,integer(LastNeuron)-integer(Memory));
 FileClose(FileHandle);


 
@!!ex ©   (2009-08-17 21:04) [61]

> [59] Anatoly Podgoretsky ©   (17.08.09 20:24)

Мне не совсем понятно как Ord должен себя вести по отношению к boolean, он же вроде дя char предназначен? И параметр входной у него вроде char...


 
Кто б сомневался ©   (2009-08-17 21:06) [62]

ну так надо было объявить их как longbool (BOOL сишное). И не было бы косяка.


 
@!!ex ©   (2009-08-17 21:07) [63]

В свежей справке по 2006 дельфе, написано что boolean true - строго 1...


 
Kolan ©   (2009-08-17 21:08) [64]

Table.Layers[ilayers].Neirons[ineirons].Enters[ienters].Layer
или нет, вот даже лучше
ShiftInLayer[Table.Layers[ilayers].Ne irons[ineirons].Enters[ienters].Layer]+Table.Layers[ilayers].Neirons[ineirons].Enters[ienters].Neiron

«Красота» объектно-ориентированного программирования.

Как такое называется знаете?


 
Anatoly Podgoretsky ©   (2009-08-17 21:09) [65]

> @!!ex  (17.08.2009 20:59:00)  [60]

IsRecursiveDendrit это уже не Boolean
Кроме того разница в размерах.
Это рулетка, нельзя присваивать Boolean, кроме того при присваивании видимо будет присваивание типа Bool c автоматическим преобразованием и без сообщения об ошибке.
В общем подошли к задаче безответственно, не понимая, что творите и хорошо, что сразу обнаружили.

В итоге к обсуждению присвоения к Boolean типв это не относится, по причине отсутствия факта присваивания.


 
@!!ex ©   (2009-08-17 21:15) [66]

> [64] Kolan ©   (17.08.09 21:08)

У тебя есть идеи как построить нейронную сеть лучше? Поделишься?


> [65] Anatoly Podgoretsky ©   (17.08.09 21:09)

Имелось ввиду вот так:
Neuron^.Dendrits[ienters].IsRecursiveDendrit:=ilayers<=Table.Layers[ilayer s].Neirons[ineirons].Enters[ienters].Layer;


 
@!!ex ©   (2009-08-17 21:16) [67]

Neuron^.Dendrits[ienters].IsRecursiveDendrit:=integer(ilayers<=Table.Layers[ilay er s].Neirons[ineirons].Enters[ienters].Layer);


 
Anatoly Podgoretsky ©   (2009-08-17 21:26) [68]


> @!!ex ©   (17.08.09 21:15) [66]

Я понял как делали, эти грабли вы сами себе расставили

Boolean := a <= B; - это правильно и это всегда работает
Integer := a <= B;
или
Bool := a <= B;  работает только для False, для True это значение от единицы до максимального значения.

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

Примерно в тоже время, на предположение об конкретном значение TRUE для Bool погорело много Си программистов, те которые считали, что True это 1, некоторые рабочие программы стали давать странные результаты, оказалось что какие то функции стали возвращать -1. Что тоже TRUE. все из-за того, что эти программисты тоже не читали, что такое Bool

Твой случай из этой оперы и зря ты на меня наехал.


 
@!!ex ©   (2009-08-17 21:33) [69]

> [68] Anatoly Podgoretsky ©   (17.08.09 21:26)

В том сообщении что я комментировал - не был определен тип Result.

реакция моя немного агрессивная связана с насмешливым тоном указывающим на ошибку. Сорри.


 
Anatoly Podgoretsky ©   (2009-08-17 21:58) [70]

А ведь началось с "И где же здесь булевская функция", вместо признания, ты начал юлить.


 
@!!ex ©   (2009-08-17 22:03) [71]

> [70] Anatoly Podgoretsky ©   (17.08.09 21:58)

Ок. Считаем что там нет булевской функции. Досадно опечатался.


 
Andy BitOff ©   (2009-08-17 22:05) [72]

А я вот, тоже в справку не заглядывал, однако, всегда считал, что False = 0, а True <> 0. А чему уж оно будет там равно, это уж по барабану, т.к. однозначно False = 0. И даже не возникало желания заглянуть в справку. Уж откуда это пошло и не упомню.


 
Andy BitOff ©   (2009-08-17 22:07) [73]

Удалено модератором


 
Andy BitOff ©   (2009-08-17 22:08) [74]

Удалено модератором


 
Anatoly Podgoretsky ©   (2009-08-17 22:11) [75]

> @!!ex  (17.08.2009 22:03:11)  [71]

А у меня больше претензий и не было :-)


 
Anatoly Podgoretsky ©   (2009-08-17 22:17) [76]

> Andy BitOff  (17.08.2009 22:05:12)  [72]

Я тут упоминал предыдущие обсуждения, так вот там к аналогичному выводу пришли и методика присвоения должна быть такая

Вместо A := Expr писать A := expr <> False; где Expr типа Bool


 
Кто б сомневался ©   (2009-08-17 22:35) [77]

Молодой еще сможет сказать да я ошибся здесь, но вот не совсем молодой (за 30-35)...
Даже если он ошибся на публике, то он строго будет придерживатся своей неправильной точки зрения, придумывать новые левые аргументы.. Даже если ему дать неопровержимые факты. Так было с И.Шевченко когда-то. :) И часто такое встречается на просторах сети.
Я не знаю почему, такова психология таких людей..


 
Кто б сомневался ©   (2009-08-17 22:35) [78]

Я имел ввиду программистов.


 
Kolan ©   (2009-08-17 22:37) [79]

Да нейронная или не нейронная сеть или не сеть мне кажется тут не так уж важно. Посмотрите запах Message Chains.


 
Дмитрий Белькевич   (2009-08-17 23:29) [80]


> Мне не совсем понятно как Ord должен себя вести по отношению
> к boolean, он же вроде дя char предназначен? И параметр
> входной у него вроде char...


Returns the ordinal value of an ordinal-type expression.

Ordinal type не только char.


> Я не знаю почему, такова психология таких людей..


Ну это известная особенность. И "такие" - не только программисты.


> Да нейронная или не нейронная сеть или не сеть мне кажется
> тут не так уж важно.


Не знаю, каким именно методом, но нужно определенно с этим что-то делать, т.к. сильно говнокодом попахивает...



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.008 c
15-1250678829
DSKalugin
2009-08-19 14:47
2009.10.18
Переведите пожалуйста с паскаля на php


2-1250164694
АЫ
2009-08-13 15:58
2009.10.18
Call Methods


4-1219768499
Deltas
2008-08-26 20:34
2009.10.18
Кнопки в системном меню


2-1250517034
ford
2009-08-17 17:50
2009.10.18
RichEdit текст в верхнем индексе


1-1218043397
ПЗ
2008-08-06 21:23
2009.10.18
В продолжение темы про DLL-классы на Delphi и MSVC. Нужен совет!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский