- 1
- 2
- 3
- 4
if (MACaddress == 0)
MACaddress = pAdapterInfo->Address [5] + pAdapterInfo->Address [4] * 256 +
pAdapterInfo->Address [3] * 256 * 256 +
pAdapterInfo->Address [2] * 256 * 256 * 256;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+137
if (MACaddress == 0)
MACaddress = pAdapterInfo->Address [5] + pAdapterInfo->Address [4] * 256 +
pAdapterInfo->Address [3] * 256 * 256 +
pAdapterInfo->Address [2] * 256 * 256 * 256;
+141
static int16_t have_upper_dot(cell *c)
{
cell *cc;
int16_t H;
H=my_bases.ps;
cc=c->prev;
if ((cc->flg & c_f_dust) &&
(c->w>4 && cc->h>=2 && cc->w>=2 &&
(abs(cc->h-cc->w)<=H/6 || cc->h<cc->w && cc->w-cc->h<=H/4) &&
cc->col+1>=c->col && cc->col+cc->w-5<=c->col+c->w ||
c->w<=4 && abs(c->col-cc->col+(c->w-cc->w)/2)<=2) &&
cc->row+cc->h-2<=my_bases.b2)
return 1;
cc=c->next;
if ((cc->flg & c_f_dust) &&
(c->w>4 && cc->h>=2 && cc->w>=2 &&
(abs(cc->h-cc->w)<=H/6 || cc->h<cc->w && cc->w-cc->h<=H/4) &&
cc->col+1>=c->col && cc->col+cc->w-5<=c->col+c->w ||
c->w<=4 && abs(c->col-cc->col+(c->w-cc->w)/2)<=2) &&
cc->row+cc->h-2<=my_bases.b2)
return 1;
return 0;
}
Из одной OCR программы.
+146
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
// man sendfile
int main (int argc, char **argv, char **envp) {
while(
(
argc < 0 // true if all ok, false on first iter
||
(
argc != 2 // true if error
&&
(printf("usage %s filename\n", argv[0]) && 0 == (argc = 0))// show error (true)
) // true if error, and argc == 0
||
(
((argc = open(argv[1], O_RDONLY) * -1) < 0) // false if error
||
(printf("cannot open %m\n") && 0 == (argc = 0))// show error (true)
)
) // true if all ok, also argc != 0
&&
(
argc < 0 // if open success this is true
&&
(read(argc * -1, memset(envp[1], 0, 1025), 1024) > 0 && printf("%s", envp[1])) || (close(argc * -1))
)
) ;
}
работает и под linux и под cygwin (gcc какие были под рукой)
затрудняюсь определить парадигму :)
+134
............................
int mas1[5]={1,6,3,4,9};
int mas2[5]={9,6,3,4,1};
int mas3[5];
mas mas3[1]=sqr (mas1[1]*mas2[1]);
mas mas3[2]=sqr (mas1[2]*mas2[2]);
mas mas3[3]=sqr (mas1[3]*mas2[3]);
mas mas3[4]=sqr (mas1[4]*mas2[4]);
mas mas3[5]=sqr (mas1[5]*mas2[5]);
............................
Данный пример народного творчества попался мне в работе одного стюдента ) синтаксис сохранен в оригинале там точно написано sqr :). А пример должен был вычислять среднегеометрическое и писать в третий массив.
+140
ZEB_CALLBACK ZEB_CACHE_GetPage(ZEB_PagesCache *pPagesCache, ZEB_PAGEIDX fpPageIndex, void **ppCachedPageAdress)
{
ZEB_WORD i;
for(i = 0; i < pPagesCache->loadedCount; i++)
{
if(pPagesCache->pDescriptors[i].fpPosition == fpPageIndex)
{
pPagesCache->pDescriptors[i].hitPoints++;
(*ppCachedPageAdress)=(pPagesCache->pCache)+(i<<(pPagesCache->pageRatio)); //выдаю адрес подгруженной страницы в кэше
return ZEBCB_GOOD;
}
}
// запрошенная страница все еще не найдена}
//если страницы нету - то проверяем - есть ли свободный слот, а если нет слotа, то проводим операцию по выпиливанию страницы с наименьшим ХП
if( pPagesCache->loadedCount < pPagesCache->capacity )
{//если слот еще есть то загружаем в позицию края - это loadedCount и увеличиваем его на 1
pPagesCache->pDescriptors[pPagesCache->loadedCount].fpPosition = fpPageIndex; //указываем реальный адрес в соусе
pPagesCache->pDescriptors[pPagesCache->loadedCount].hitPoints = 1; //ХП ставим в 1
ZEB_CACHE_MechMountPage(pPagesCache,pPagesCache->loadedCount,fpPageIndex);//загружаем эту страницу в кэш (позиция соответствует индексу дескриптора)
(*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы
pPagesCache->loadedCount++; //увеличиваем количество загруженных страниц
return ZEBCB_GOOD;
}else //TODO: елсе не нужен // Почему не нужен? (2010 07 12) //Не знаю (2010 07 28)
{//если свободных слотов нет - то проводим поиск наименьшего хп и выпиливаем его, загружая на его место новый дескриптор и страницу
//поиск наименбшего хп
ZEB_WORD
register minHP,
register minDIDX //Descriptor InDeX
;
minHP = pPagesCache->pDescriptors[0].hitPoints;
minDIDX = 0;
for(i = 1; i < pPagesCache->capacity; i++)
{
if(pPagesCache->pDescriptors[i].hitPoints < minHP)
{
minHP = pPagesCache->pDescriptors[i].hitPoints;
minDIDX = i;
}
}
//страница в любос случае найдена - выпиливаем ее - сохраняя ее в сурс обратно
ZEB_CACHE_MechUnmountPage(pPagesCache,minDIDX,pPagesCache->pDescriptors[minDIDX].fpPosition);
//и на ее место грузим новый дескриптор и саму страницу
pPagesCache->pDescriptors[minDIDX].fpPosition = fpPageIndex; //указываем реальный адрес в соусе //TODO: Нужно запихивать дескрипторы в отдельный массив и обращаться по указателю, потом это дело можно сортировать для ускорения поиска страниц. Режимы сортировок - максимум и минимум: 1 - для быстрого обращения к наиболее часто используемым страницам, 2 - для быстрого выпиливания менее используемых страниц. (2010 07 28)
pPagesCache->pDescriptors[minDIDX].hitPoints = 1; //ХП ставим в 1
//кэшируем требуемую страницу
ZEB_CACHE_MechMountPage(pPagesCache,minDIDX,fpPageIndex);
(*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы
return ZEBCB_GOOD;
}
}
Господа - я не уверен говнокод ли это, но вы как бесспорные эксперты в области обнаружения ГК дайте свое заключение. Метод получает страницу из кэша. Страницы фиксированного размера и кэшируются из файла. Буфер под кэш - определяется один раз при создании как единый динамически полученный массив. Код кодил ОП.
+120
SleepMsec( 3600 * 1024 );
Это вынесло мне моск
+127
#include <stdio.h>
#include <math.h>
double math_average (double values[2][3], int rows);
double dispers (double values[2][3], int rows);
void main() {
int rows = 2;
double values[2][3] = {(1,2),(2,4), (4,8)};
double av = math_average (values, rows);
double di = dispers (values, rows);
}
/* **********************************************
Srednee Arifmeticheskoe
@values[][0]: vremya otpravki paketa;
@values[][1]: vremya priema paketa
@values[][2]: raznitsa vremeni priema i otpravki
@rows: kolichestvo strok
********************************************** */
double math_average (double* values[2][3], int rows){
int count = rows;
double sum = 0;
while (count){
*values[count][2] = *values[count][0] - *values[count][1];
sum += *values[count][2];
count--;
}
return (sum / rows);
}
/* ***********************************
Dispersiya
D= sqrt (sum((sr_arifm - a[i])^2))
@values[][0]: vremya otpravki paketa;
@values[][1]: vremya priema paketa
@values[][2]: raznitsa vremeni priema i otpravki
@rows_sum: kolichestvo strok
*/
double dispers (double* values[2][3], int rows){
int count = rows;
double sum = 0;
double math_av = math_average(values, rows);
for (int i = 0; i < count; i++){
sum += pow((math_av - *values[i][2]), 2);
}
return (sqrt(sum));
}
+145
/*----------------------------------------------------------------------------*/
double XzMinSec( double XBOCT, unsigned int OKP){ /*Gr(Ch).dG(dC)->Gr(Ch)MS.dS*/
signed int min, xz = XBOCT; XBOCT-=xz; min=60*XBOCT; XBOCT=(XBOCT*60-min)*60;
if (XBOCT>=59.5) { unsigned char teg[32]; double n = pow(10,OKP) * (XBOCT-min);
signed int z=n;n-=z; if(n>=0.5||n<=-0.5){ signed int x,y=0; sprintf(teg,"%d",z);
while(teg[y]!='\0') y++; z=1; for( x=0; x<OKP; x++ ) if ( teg[--y]!='9' ) z=0;
if(z==1) if(abs(min)==59) if(min<0) XBOCT=-4100; else XBOCT=4100; else if(min<0)
XBOCT=-100; else XBOCT=100; }} return xz * 10000 + min * 100 + XBOCT; }
/*----------------------------------------------------------------------------*/
гм... работает...
+145
/*---------------------------------------------------------------------------------------------------------------*/
double XzMinSec(double XBOCT,unsigned int OKP){ /*Gr(Ch).dG(dC)->Gr(Ch)MS.dS*/
signed int min, xz=XBOCT; XBOCT-=xz;min=60*XBOCT; XBOCT=(XBOCT*60-min)*60;
if (XBOCT>=59.5) { unsigned char teg[32]; double n = pow (10,OKP) * (XBOCT-min);
signed int z=n; n-=z; if ( n>=0.5 || n<=-0.5 ) { signed int x, y=0; sprintf ( teg, "%d", z);
while ( teg[y] != '\0' ) y++; z=1; for ( x=0; x<OKP; x++ ) if ( teg[--y] != '9' ) z=0;
if(z==1) if (abs(min) == 59 ) if(min<0) XBOCT=-4100; else XBOCT=4100; else if(min<0)
XBOCT = -100; else XBOCT = 100; } } return xz * 10000 + min * 100 + XBOCT; }
/*----------------------------------------------------------------------------------------------------------------*/
гм... работает...
+136
int CheckError( TStatusMessage* ctrl )
{
if( !ctrl ) return 1;
if(ctrl->request>40) return 1;
if(ctrl->prm.radiation!=ctrl->prm.aradiation) return 1;
if(ctrl->prm.pulse!=ctrl->prm.apulse) return 1;
if(ctrl->prm.frequency!=ctrl->prm.afrequency)
{
if( (ctrl->prm.frequency&2) != (ctrl->prm.afrequency&2) )
{
return 1;
}
}
if(ctrl->prm.autotune==ctrl->prm.aautotune) return 1;
if(ctrl->prm.antenna==ctrl->prm.aantenna) return 1;
if(ctrl->prm.blanking!=ctrl->prm.ablanking) return 1;
if(ctrl->prm.vob!=ctrl->prm.avob) return 1;
return 0;
}
Проверка на наличие ошибки.