7.1.3.3        Operatori Decimali



Espressioni aritmetiche decimali possono essere create da costanti decimali, identificatori o funzioni usando gli operatori seguenti in questo ordine di precedenza....

(...) espressioni tra parentesi
+A -A  !A più, meno, e "NOT" logico
A*B A/B moltiplicazione e divisione
A+B A-B somma e sottrazione


Possono anche essere create espressioni relazionali, logiche e condizionali. Esiste comunque una restrizione e cioè che questi tipi di espressione devono essere inclusi in parentesi. Questa restrizione, che non è imposta dalla maggior parte dei linguaggi di programmazione, è necessaria perché POV-Ray consente di unire espressioni decimali e vettoriali. Senza le parentesi c'è un problema di ambiguità. Le parentesi non sono richieste per l'operatore logico not "!" mostrato prima. Gli operatori e le loro priorità sono mostrati qui di seguito.

Espressioni relazionali: Gli operandi sono espressioni dell'aritmetica ed il risultato è sempre booleano con 1 per vero e 0 per falso. Tutti gli operatori relazionali hanno la stessa precedenza.

(A< B) A è minore di B
(A<= B) A è minore o uguale a B
(A= B) A è uguale a B (ovvero abs(A-B)< EPSILON)
(A!= B) A non è uguale a B (ovvero abs(A-B)>= EPSILON)
(A>= B) A è più grande o uguale a B
(A> B) A è più grande di B


Espressioni logiche: Gli operandi sono convertiti a valori booleani di 0 per falso e 1 per vero. Il risultato è sempre booleano. Tutti gli operatori logici hanno la stessa precedenza.

(A & B) vero solo se sia A che B sono veri, falso altrimenti
(A | B) falso se entrambi sono falsi, vero in tutti gli altri casi


Espressioni condizionali: L'operando C è booleano mentre gli operandi A e B rappresentano espressioni qualsiasi . Il risultato è dello stesso tipo di A e B.

(C ? A : B) se C allora A altrimenti B


Assumendo i vari identificatori che sono stati dichiarati, i seguenti esempi rappresentano espressioni valide...

1+2+3 2*5 1/3 Row*3 Col*5
(Offset-5)/2 Questo/Quello+Altro*Cosa
((Questo<Quello) & (Altro>=Cosa)?Foo:Bar)

Le espressioni sono valutate nel seguente ordine : prima con parentesi da sinistra a destra a partire dalle più interne , poi + , - o ! , poi prodotti e divisioni, poi addizioni e sottrazioni, poi espressioni relazionali, poi logiche, poi condizionali.