Newsgroup: it.comp.lang.c++
Titolo: Perche?

In una libreria, il cui autore e' irragiungibile, viene usato nella 
definizione inline di un metodo  della classe A una cosa tipo:
	a = -b*c*(-1.0)+d*e
Tutte le variabili sono double e definite in A, tranne d, che e' comunque
double ma e' globale.
DOMANDA: perche' moltiplicare per -1.0?
 
Dal punto di vista matematico e' ovviamente inutile. Da quello del tipo
della  operazione, mi sembra, anche.  C'e' nessuno che ha qualche idea in
proposito?
grazie.
					Roberto 
==============================================================================
"There are more things in heaven and        |  Robero Memo
earth, Horatio, than are dreamt of in       |  Via S. Martino Dx, 799 
our philosophy"                             |  30012 Burano -VE- Italy 
                "Hamlet", W. Shakespeare       email: 
rm...@dsi.unive.it

Dal punto di vista matematico e' ovviamente inutile
A me veramente sembrerebbe il contrario... moltiplicando per -1 inverti il
segno dell'espressione, infatti:
a = -b*c + d*e = -bc + de
a = -b*c*(-1.0) + d*e = bc +de
Quindi mi sembra che sia una scelta puramente matematica!
--
Byez
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org

Quindi mi sembra che sia una scelta puramente matematica!
Il punto e` che c'e` un "-b" all'inizio dell'espressione che quindi
poteva essere scritta come a= b*c+d*e...
Paolo
------------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  La vita e` quella cosa che ci accade mentre
  siamo occupati a fare altri progetti. (A. De Mello)
------------------------------------------------------------------

poteva essere scritta come a= b*c+d*e...
Ma la formula che invii e' composta da banali lettere insignificanti
di per se, mentre magari rappresenta matematicamente qualcosa che ha
un senso (anche estetico) maggiore se si considera che la lettera b
sia negativa, potrebbe per esempio rappresentare una distanza negativa
se la formula rappresenta un costrutto geometrico basato su un certo
sistema di coordinate, visto che non ci guadagni in velocita' a
sostituire due meno con un piu' perche' dunque far perdere
espressivita' a una formula?
please remove NOSPAM from email address to write me.
-------------------------------------------------------
Free download software: Post-it, Scheduler, Slide-show, Calendar, 
  Network Chat, Network Mail, Phone book, Apps Laucher... at:
http://come.to/oddera

espressivita' a una formula?
Matematicamente parlando il meno iniziale e il -1.0 si semplificano,
non importa il significato delle variabili.
Da un punto di vista matematico quindi la cosa non ha molto senso, aggiungere
quel -1.0 era assolutamente inutile. Inoltre in quel modo i calcoli sono piu` lenti
perche` bisogna eseguire operator- e poi la moltiplicazione per -1.0, operazioni
che potevano benissimo essere evitate. Sarebbe stato molto meglio semplificare
sin dall'inizio...
Tutto cio` senza che la formula perda di espressivita`.
(nota che la semplificazione per'altro non avrebbe richiesto l'esecuzione di
alcun operator+...)
Un senso potrebbe esserci se operator - operasse con una semantica assai
diversa da quella matematica... ma in questo caso ci sarebbero non
poche critiche da volgere contro quel codice (es. come conciliare il
significato di operator- con una moltiplicazione per -1.0...).
Ritengo quindi che la domanda iniziale ("che senso ha scrivere -b*c*(-1.0)")
non possa non aver risposta "nessuno". Qualunque matematico semplificherebbe
il tutto in b*c.
In effetti a voler cercare il pelo nell'uovo potrebbe avere un senso la moltiplicazione per 1.0
(ma non i due -) perche` costringe il risultato ad essere almeno di tipo double, ma
anche questa sarebbe una via criticabile, molto meglio scrivere
static_cast<double>(b*c + d*e);
Saluti,
Paolo
------------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  G: Per concludere, possiamo chiedervi di commentare
     l'attuale panorama informatico?
  I: /* l'attuale panorama informatico */
------------------------------------------------------------------

 wrote in message
news:Pine.OSF.4.05.990303...@alfa3.dsi.unive.it...
