Article View: es.comp.os.linux.programacion
Article #32Re: Libreria especifica para trabajar con variables float
From: Martin J. Sanchez
Date: Mon, 29 Apr 2002 13:07
Date: Mon, 29 Apr 2002 13:07
43 lines
3540 bytes
3540 bytes
Javier Davila escribi� en mensaje <3CCD205D.DDADD42A@eurus2.us.es>... >Hola de nuevo a todos, despues de confirmar que efectivamente >el procesador de los ordenadores actuales est� m�s preparado >para variables double que para float, estamos buscando una librer�a >que nos permita "emular" de alguna manera la aritm�tica de >variables float pero aprovechando los recursos de la CPU que >est� m�s preparada para variables double. La raz�n de que >queramos hacer esto es principalmente salvar memoria (un 50%!!) >pues los c�lculos que debemos hacer ocupan bastante (tenemos >problemas para necesitar menos de un gigabyte de memoria RAM), >pero claro no a costa de sufrir un deterioro importante en >velocidad. Hemos comprobado que incluso con variables float >tenemos la precisi�n que deseamos. > >Hemos pensado en emular dicha aritm�tica usando variables enteras, >pero antes de quebrarnos demasiado la cabeza con eso, creemos que debe haber >alguna librer�a por ah� que haga esto �alguien ha visto algo parecido? > Desconozco los algoritmos que estais utilizando o su proposito. Existen muchas librerias optimizadas para aplicaciones especificas. En cuanto a la conversion double/float el problema es que en C todos los calculos se realizan en double. Por otra parte, dependiendo del procesador, estos pueden realizar los calculos en ieee32 o ieee64 o incluso en precisiones mayores. Por tanto, para mejorar la eficiencia de lo que se trata es de evitar en lo posible conversiones de un formato a otro. De todas formas, muchos compiladores optimizan el codigo para evitar conversiones innecesarias. La decision de utilizar o crear una libreria para realizar los calculos de forma mas eficiente, deberia basarse en unos parametros pre-establecidos. Es decir, deberiais establecer que rendimiento necesitais. Ademas, seguramente obtendreis un mayor rendimiento optimizando los algoritmos que creando rutinas de calculo de bajo nivel. Si nada de esto es suficiente, podreis optar a sistemas con varios procesadores o bien podrias implementar todo en aritmetica entera (esto depende del tipo de calculo que utiliceis). Un saludo, Martin.
Technical Details
Message-ID:
<aajgqc$sd5$1@nsnmrro2-gest.nuria.telefonica-data.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!colt.net!newspeer.clara.net!news.clara.net!btnet-peer!btnet-peer0!btnet-feed5!btnet!easynet-melon!easynet.net!news.rediris.es!nsnmrro1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!not-for-mailReferences:
<3CCD205D.DDADD42A@eurus2.us.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 10f58f,33e3fe9fc8bbde52 X-Google-Attributes: gid10f58f,public X-Google-Thread: f86c8,33e3fe9fc8bbde52 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-04-29 06:12:14 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!colt.net!newspeer.clara.net!news.clara.net!btnet-peer!btnet-peer0!btnet-feed5!btnet!easynet-melon!easynet.net!news.rediris.es!nsnmrro1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!not-for-mail From: "Martin J. Sanchez" <martins.halley@cin.es___> Newsgroups: es.comp.os.linux.programacion,es.comp.lenguajes.c Subject: Re: Libreria especifica para trabajar con variables float Date: Mon, 29 Apr 2002 15:07:53 +0200 Organization: Telefonica Data Espagna Lines: 51 Message-ID: <aajgqc$sd5$1@nsnmrro2-gest.nuria.telefonica-data.net> References: <3CCD205D.DDADD42A@eurus2.us.es> NNTP-Posting-Host: 194.143.213.20 X-Trace: nsnmrro2-gest.nuria.telefonica-data.net 1020085900 29093 194.143.213.20 (29 Apr 2002 13:11:40 GMT) X-Complaints-To: usenet@nsnmrro2-gest.nuria.telefonica-data.net NNTP-Posting-Date: Mon, 29 Apr 2002 13:11:40 +0000 (UTC) X-Newsreader: Microsoft Outlook Express 4.72.3612.1700 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3719.2500