Página 1 de 3
Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
02 Abr 2016 23:03
por KrafT
... código faz?
- Código: Selecionar todos
float AlgumaCoisa( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
return y;
}
Bom, não precisa dizer o que faz, o Google já me disse, mas me senti frustrado ao tentar entender isso por minha própria conta...

Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
03 Abr 2016 07:46
por andre_luis
Nem consigo dar um palpite, mas pelo seu ar de "elementar", Apesar de escrito em "C", tem toda a pinta de ter sido extraído em emngenharia reversa de um Assembly. Se fosse um serumando normal escrevendo isso, teria escrito a fórmula numa única linha.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
03 Abr 2016 10:15
por Red Neck Guy
Como poucos tem conhecimento aprofundado de matemática, o cara olha os operações e não sabe o que está fazendo numericamente.
Uma operação assim: (unsigned short int)(byte_var<<8 | byte_var) já é uma coisa que poucos sabem como é realmente.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
03 Abr 2016 13:34
por xultz
Olha, sem olhar no google eu cheguei à brilhante conclusão que a função faz uma porrada de contas com um número mágico e retorna um número. É, eu sei que sou genial, mas não consigo ser humilde.
Depois de ver na wikipedia o que a função faz, eu voltei a trabalhar na minha horta e fui dar milho prás galinhas...
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
03 Abr 2016 15:15
por Red Neck Guy
Hoje se vê muito por aí pessoal que diz dominar Java,PHP e coisas do tipo. Porém, não hora de utilizar as coisas, caso necessite fazer algo que não seja criar uma Janela, salvar um arquivo ou tarefas comuns de sistemas de negócios, eles se perdem.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 13:02
por pbernardi
Kct, que bruxaria F***!
Chuck norris chorou tentando entender esse código. Com a explicação, rolou quase uma lágrima.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 13:14
por KrafT
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 15:21
por B-EAGLE
o bizarro disso aí é essa constante ae:
0x5f3759df
alguém viu de onde tiraram isso??
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 18:34
por pbernardi
Po Kraft, vc poderia deixar o nome da função, com comentários explicando cada linha e o pessoal não ia adivinhar o que essa função faz ainda... rs
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 19:37
por andre_luis
Eu morro de rir quando encontro comentários desse tipo nos códigos:
i = 0x5f3759df - (i >> 1); // what the fuck?
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 22:36
por KrafT
andre_teprom escreveu:Eu morro de rir quando encontro comentários desse tipo nos códigos:
i = 0x5f3759df - (i >> 1); // what the fuck?
Foi justamente esse comentário que me levou ao código: Tava vendo os comentários mais divertidos encontrados em códigos, e esbarrei nesse.
A id Software sempre foi referência em engines de jogos, tanto é que fizeram o Wolfenstein e o Doom rodar nos míseros PCs, numa época que qualquer aplicação 3D exigia um monstrengo da Silicon Graphics. Isso era perceptível quando se comprava Quake2 com Unreal e Quake3 com Unreal Tournament, por exemplo. Os caras davam uma surra nos lindos games da Epic, em termos de precisão matemática.
Mas enfim, coisas bem feitas e otimizadas não garantem o pão do dia a dia e a softhouse foi "fagocitada" pela Bethesda. Vamos ver o que o novo DOOM a ser lançado na semana que vem, dessa vez sem nenhum membro original da id, é capaz.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
04 Abr 2016 23:32
por B-EAGLE
KrafT escreveu:
Foi justamente esse comentário que me levou ao código: Tava vendo os comentários mais divertidos encontrados em códigos, e esbarrei nesse.
A id Software sempre foi referência em engines de jogos, tanto é que fizeram o Wolfenstein e o Doom rodar nos míseros PCs, numa época que qualquer aplicação 3D exigia um monstrengo da Silicon Graphics. Isso era perceptível quando se comprava Quake2 com Unreal e Quake3 com Unreal Tournament, por exemplo. Os caras davam uma surra nos lindos games da Epic, em termos de precisão matemática.
Mas enfim, coisas bem feitas e otimizadas não garantem o pão do dia a dia e a softhouse foi "fagocitada" pela Bethesda. Vamos ver o que o novo DOOM a ser lançado na semana que vem, dessa vez sem nenhum membro original da id, é capaz.
tá de sacanagem! é semana que vem mesmo?!?!?! putz, vou ter que atualizar meu pczinho!
mas isso é verdade, eu sempre achei os jogos da ID monstros em termos de qualidade em tudo... o último que joguei da Bethesda foi o Rage se não me engano, e eu achei bonzinho até.... mas comilão de recursos

Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
05 Abr 2016 08:12
por Ezequiel
Eu acho que é o algoritmo de tirar raiz quadrada. Ele é rápido, mas não é tão preciso.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
05 Abr 2016 10:37
por xultz
Tem uma página na Wikipedia que explica de onde saiu o número mágico, é bem interessante a explicação.
Aquele * (long *) serve pro compilador pegar o valor em float e tratar como se fosse long, praquela subtração fazer sentido.
Re: Sem pesquisar no Google, vc saberia dizer o que esse...

Enviado:
05 Abr 2016 12:41
por andre_luis
xultz escreveu:Aquele * (long *) serve pro compilador pegar o valor em float e tratar como se fosse long, praquela subtração fazer sentido.
Uau....agora tudo faz sentido.
