Attualmente ho un'app di orologio che calcola da zero ad ogni iterazione. Ciò significa O (1) bit corrotti nella mia creazione di doppi e oggetti pesanti e cancellazione anche.
Sono diffidente nell'eseguire calcoli indefiniti con doppi o altri float perché i bit corretti di O (n) normalmente accompagnano ogni passo.
Vorrei sapere se esiste un modo alternativo (in un'app iOS) per trasformare e posizionare le lancette dell'orologio con O (1), o forse O (log n), bit corrotti dopo n passaggi.
In particolare, mi chiedevo quale sarebbe stata la corruzione per "Ad ogni passo, ruota ogni mano nella posizione zero, ovvero una trasformazione di rotazione affine di -1 * l'ultima rotazione ricevuta dalla mano, quindi ruota in avanti di la nuova angolazione che la mano dovrebbe avere in questa fase. " Nell'aritmetica in virgola mobile di Objective-C, non è mai il caso (escludendo eccezioni come un valore che indica un numero è corrotto) che x - x! = 0,0 esattamente? I casi che ho visto che illustrano i bit di danneggiamento in virgola mobile includono Python che dice che 1.1 + 1.1 + 1.1 - 3.3! = 0.0; Non ho visto esempi da manuale del modulo x - x! = 0.0.
Questa non è esattamente la questione se un'immagine raster trasformata dall'angolo x e poi dall'angolo -x è il suo sé originale; potrebbe essere che il suggerimento precedente funzionasse bene per errore O (1) sugli angoli ma corruzione usuale nell'immagine disegnata e trasformata.
Qual è la minima "complessità della corruzione", che significa pochi bit corrotti alla fine dei calcoli n, per il rendering di un orologio? Esistono approcci O (1) o O (log n)?
Grazie,