Newsgroup: it.comp.lang.pascal
Titolo: "invalid floating point operation"

Salve a tutti!
Sapreste come ovviare ad un "invalid floating point operation"?
Ho controllato e ricontrollato il codice, ma non riesco a far girare
l'applicazione.
Grazie
Pho

 l'applicazione.
[assumo turbo-pascal/freepascal]
ottieni l'errore 207 tipicamente con le funzioni sqrt o ln con argomenti 
rispettivamente < 0 oppure <= 0, o durante le conversioni ad intero se hai 
dei numeri troppo grossi (fuori dai longint) (cfr. 
http://dreadnaut.altervista.org/pascal/tp7ita/02C3.html
 )
Se sei certo che non sia uno dei casi sopra (occhio alla conv. ad intero) 
allora c'e' il caso stack-overflow: stai facendo qualche operazione 
floating point che si pianta, e li senza codice davanti non avrei proprio 
idea di dove possa avvenire :)
-- 
Dreadnaut - 
http://dreadnaut.servebeer.com/
(Life would be easier if I had the source code)

 [cut]
Ciao
Pho

 con x fissato (o<=x<=R) ed estremi di integrazione y=0 e y=x
Controllando il dominio di esistenza ho che x-2R<=y<=x,
il che è sempre verificato. Infatti, anche nella peggiore delle ipotesi, 
in cui x=R, si avrebbe -R<=y<=R. Forse è la seconda che hai detto
(stack-overflow), dato che le variabili sono tutte double.
L'integrazione la realizzo discretizzando la funzione in 100
intervalli e sommando i relativi contributi, mediante una
funzione 'ad hoc'.
Si apprezzano altri suggerimenti. Grazie!
Ciao
Pho

( phoenix73 - news:ZXBve.4508$
h5.2...@news3.tin.it
 )
per essere sicuro del sqrt positivo, ti basta mettere un controllo prima 
sull'argomento > 0, cosi' sei a posto :)
altrimenti
  R^2 - y^2 + 2y(x-R) - (x-R)^2 =
= R^2 - (y - (x-R))^2 =
= R^2 - (y - x + R) ^2
questo e' > 0 per
 
|y-x+R| < |R|
|y-x| < 0
|y| < |x|
che da quanto ho capito lo e' sempre ?
(e io che pensavo di essermi lasciato alle spalle analisi...)
(cmq continuo a consigliare un writeln dell'argomento per essere sicuri 
che sia > 0 :) )
Lo stack-overflow non e' cosi' semplice da far saltare fuori, sopratutto 
se il tuo programma fa semplicemente un ciclo da 0 a 100 sommando il 
valore...  codice codice !


 valore...  codice codice !
Grazie ancora per i tuoi preziosi suggerimenti.
Ciao
Pho

 sull'argomento > 0, cosi' sei a posto :)
[cut]
L'applicazione ora gira perfettamente! :)

 Non mi dire che siamo colleghi... :)
beh, io ho riconosciuto un mio vicino di casa su usenet dopo quasi 3 
anni; oramai non do' nulla per impossibile


 
Noi due non siamo vicini di casa { almeno credo :D }
-- 
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net
ICQ   : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com

 Noi due non siamo vicini di casa { almeno credo :D }
no, con te direi di no :)


 anni; oramai non do' nulla per impossibile
Foxolino :******* ehhehe ovvero kernel :P
--
________________________
· Omega
· 
http://gnammo.altervista.org
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

 Foxolino :******* ehhehe ovvero kernel :P
Kernel?!?!? Io ho un amico di torino che usa il nick Kernel abbiamo 
sfiulupato insieme un OS { 
www.italios.it
, oh yes spam ;) } non sara 
mica quel Kernel? Vado spesso da lui :| Dradnaut sei di torino?
