🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2577

Re: Portar codigo C entre maquinas de 32/64 bits?

#2577
From: Esteban Navarro
Date: Mon, 12 Dec 2005 21:22
40 lines
2474 bytes
no puedes usar un arreglo de 4 chars?

Andres E. Hernando wrote:
> Hola!
> 	
> 	Seguro que estoy poniendo en evidencia lo oxidado que
> estoy, pero mi copia del Kernighan y Ritchie esta juntando 
> polvo en Chile y necesito arreglar esto antes de irme...
> 
> 	Bueno, por alguna razon (no importa cual) tengo que
> usar un generador de numeros pseudoaleatorios externo en 
> Matlab. Por un tema de eficiencia, lo estoy haciendo en C
> usando mex files.
> 
> 	El PRNG (Pseudo Random Number Generator) que tengo que
> usar es una version de KISS (Keep It Simple, Stupid) que usa
> operaciones de bits en uno de sus generadores. Basicamente,
> la siguientes lineas:
> 
> 	y  ^= y << 13;
> 	y  ^= y >> 17;
> 	y  ^= y <<  5;
> 
> 	Donde y es un numero de 32 bits... Y aqui esta todo
> mi problema, porque tengo que compartir esto y tiene que 
> funcionar igual en maquinas de 32 y de 64 bits. Por lo que 
> declarar y como "unsigned long int" no me funciona ya que 
> en la maquina Linux donde tiene que correr, un "unsigned
> long int" es de 64 bits, asi que los shifts/xor me generan
> resultados distintos en cada maquina.
> 
> 	Estoy seguro que debe haber una forma de asegurarme
> que y es siempre de 32 bits independiente de la arquitectura, 
> pero hace como 4 annos que no programo en C... Algun puntero
> a la ayuda adecuada?
> 
> 	Saludos,
> 	AHG.
> 
> 
Technical Details
Message-ID: <dnkpmb$kvu$1@helcaraxe.dcc.uchile.cl>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!helcaraxe.dcc.uchile.cl!not-for-mail
References: <40656sF18epvjU1@individual.net>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,88c16e828b86c7df
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!helcaraxe.dcc.uchile.cl!not-for-mail
From: Esteban Navarro <estebann1@yahoo.com>
Newsgroups: chile.comp.programacion
Subject: Re: Portar codigo C entre maquinas de 32/64 bits?
Date: Mon, 12 Dec 2005 18:22:24 -0300
Organization: DCC - Universidad de Chile
Lines: 40
Message-ID: <dnkpmb$kvu$1@helcaraxe.dcc.uchile.cl>
References: <40656sF18epvjU1@individual.net>
NNTP-Posting-Host: anakena.dcc.uchile.cl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: helcaraxe.dcc.uchile.cl 1134422539 21502 192.80.24.6 (12 Dec 2005 21:22:19 GMT)
X-Complaints-To: newsmaster@dcc.uchile.cl
NNTP-Posting-Date: Mon, 12 Dec 2005 21:22:19 +0000 (UTC)
User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050317)
X-Accept-Language: en-us, en
In-Reply-To: <40656sF18epvjU1@individual.net>