All streams
Search
Write a publication
Pull to refresh
81
0
Валерий @Vayun

Пользователь

Send message
Вообще-то они не просто занимают непрерывный диапазон, но еще и пересекаются. Другое дело что дырки всегда есть, не в частотах, так во времени.
То что она дискуссионная это вам Мойша напел? Может стоит сначала прочитать, а потом делать выводы?

На том уровне на каком написана книга, ничего за последние 35 лет в теории эволюции не изменилось. Это азбука.
Пора вам заняться самообразованием, стоит начать с азов например Richard Dawkins «The Selfish Gene».

Уже давно строят карты генетического родства и все ясно видно, кто от кого и с кем.
Это не праздный вопрос нужно ли «дать четкое и понятное представление для всех собравшихся о том, что происходит с бюджетом компании» или просто «показать красивые картинки».

Если все-таки нужно, то последний график все еще далек от идеала. Лучше делать график остатков чем перерасходов, тк рост интуитивно воспринимается более позитивно. Также на последнем графике не отображена динамика бюджета, а только отношение бюджета/расходов, те он менее информативен. Те лучше оставить с двумя линиями, а снизу приклеить 20% по высоте график отклонения.

На мой взгляд оси помечены мелко даже для печати, не говоря о слайдах. Плюс не плохо бы как-то акцентировать порядок величин, например сделать линии сетки жирнее на +-10% (или там допустимое политикой компании отклонение). И если это слайд, минусовую часть кривой сделать красной и плюсовую синей, чтобы сразу было видно что хорошо, а что плохо.
Для построения графиков и визуализации данных matplotlib вне конкуренции. Экспорт во все что душа пожелает, возможность использовать LaTeX для текстовых элементов.
На изобретение велосипеда уйдет больше времени чем заняло бы забить ту же таблицу руками)) «Нельзя отправить по почте» это слабый аргумент, отправлять надо уже обработанный файл.

Как зарядка для мозгов полезно, хотя и устарело слегка, ибо уже на подходе LuaTeX, где плясок с бубном устраивать не надо. А еще есть python.sty (хотя тоже костыль).
Только то что очевидно шестилетнему ребенку, далеко не всегда легко понять взрослому.

Хороший пример эта задачка:
forum.bobr.by/viewtopic.php?f=1&t=568&st=0&sk=t&sd=a
Да мне тоже не понятно, как человек знающий зачем есть «disas» в gdb может измерять время через ./time prog
Есть valgrind, есть vtune, которые (помимо всего прочего) отлично меряют затраченные циклы процессора.
Скажем так, для других языков нужны более веские причины. Английский же можно учить просто так «на всякий случай», все равно пригодится.
Английские субтитры могут быть полезны по началу. Но когда станет слышно разницу между речью и субтитрами, от них надо отказаться (ужасно раздражает кстати). Плюс есть опасность научиться быстрому чтению субтитров вместо распознавания речи на слух))
Ну если там руткит, то её и не будет. Надо с livecd грузиться и смотреть.
Целочисленные операции не вызывают исключения при переполнении (по крайней мере на архитектурах, где описываемый трюк работает) и соответственно не будет никакого замедления, просто результат обрежется.

В нашем случае все еще проще, результат который возвращает abs может не поместиться в диапазон положительных значений int, но unsigned int точно хватит.
(тк сумма или разность может быть в общем случае длиннее на 1 бит, например 0b1111+0b1111=0b11110)

Вообще в x86(_64) операции сложения и вычитания одинаковы для знаковых и беззнаковых операндов (собственно поэтому там используется two's complement форма для отрицательных чисел — оптимизация).

Но вот операции сравнения уже различны. Для одного и того же бинарного значения в регистре разные операции сравнения интерпретируют его как знаковое или беззнаковое. Какую операцию использовать мы указываем компилятору через тип переменной (кстати интересно почему abs возвращает int а не unsigned).

ЗЫ все это достаточно сложно прочитать с листа. Легче всего написать тестовую программу. Для float можно сделать почти полный перебор всех возможных входных значений)_
На самом деле, самое маленькое число представимое в float. Которое обычно будет subnormal, но может и не быть, если платформа не поддерживает subnormal числа.
Классика жанра, читать всем кто использует вычисления с плавающей точкой:
What Every Computer Scientist Should Know About Floating-Point Arithmetic
ЗЫ pdf гуглится
статья полезная, но не стоило менять правильное на неправильное))

В приведенной ссылке www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm, функция AlmostEqual2sComplement написана корректно.

Там именно должно быть
if (aInt < 0)
aInt = 0x80000000 - aInt;


Потому что порядок float совпадает с порядком sign-and-magnitude integer. В то время как процессоры оперируют two's complement integer. Чтобы найти расстояние между двумя float в ulp, нужно одно перевести в другое и это делается через 0x80000000 - aInt для отрицательных float.

Обрезка знакового бита через &= 0x7fffffff; приведет к тому, что функция будет считать равными числа отличающиеся знаком (например +1 будет равен -1)

Плюс, есть еще замечательные грабли, которые имеются и у Bruce Dawson.
int intDiff должен быть unsigned int, тогда будет использоваться беззнаковое сравнение (по правилам сравнения С), иначе если в abs случится переполнение, её результат будет интерпретирован как отрицательный и if (intDiff <= maxUlps) вернет истину для совершенно разных чисел.
скорее всего отключен KMS, без которого vgaswitcheroo не работает
Несомненный плюс обычной Timeline серии еще и в том что внутри имеется дополнительный разъем для half-slim SSD. Т.е. можно воткнуть вторым диском SSD, не теряя в доступном пространстве.
1-23^4+5+6^7+8-9

12^3/4-5-6*7*8+9

:-P

Information

Rating
Does not participate
Location
Berlin, Berlin, Германия
Date of birth
Registered
Activity