Una funzione che produce un’alternanza di segno in corrispondenza di una sequenza di interi è if:<iseven, k:1, k:-1>. Ad esempio, si avrà:
aa:(if:<iseven, k:1, k:-1>):(0..10) |
< 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1 > |
Un risultato analogo si ottiene usando l’espressione (-1)n, che risulta pari a 1 per n pari, e a -1 per n dispari:
-1 ** 4 **:<-1,4> 1.0 |
e, currizzando l’operatore binario ** di elevamento a potenza:
aa:(c:**:-1):(0..10) |
< 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 > |