summaryrefslogtreecommitdiff
path: root/digital/avr/modules/math/fixed/fixed.txt
blob: 645d9cc6c86ae4ee5bae4e98dac8ed52452251e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
*Title: Module AVR math � virgule fixe
*Author: Ni

* La virgule fixe

Le format � virgule fixe, � opposer � la virgule flottante, divise un mot
binaire en deux parties, la partie enti�re et la partie fractionnaire.

L'inconv�nient par rapport � la virgule flottante, c'est de pouvoir
repr�senter une plage plus petite de nombres. Il faut aussi faire tr�s
attention de ne pas d�border lors des calculs interm�diaires.

L'avantage, c'est la vitesse d'ex�cution, �a tombe bien, on est press� !

Je vous laisse consulter internet pour plus d'informations.

* Notation des nombres

Pour d�coder le nom des fonctions :

^<<
	[u]{i|f}x[.y]
^>>

	[u] non sign� ;
	[i] entier ;
	[f] virgule fixe ;
	[x] taille de la partie enti�re en bits ;
	[y] taille de la partie fractionnaire en bits.

Par exemple :

	[i16] mot sign� 16 bits ;
	[uf24.8] nombre en virgule fixe non sign�, avec 24 bits pour la partie
	enti�re et 8 bits pour la partie fractionnaire.

* Format des angles

Les angles utilis�s sont dans l'intervalle [0 ; 1[. La valeur 1 correspond � 2
pi radians, soit un tour complet. Le sens des angles orient�s est le sens
trigonom�trique bien sur.

* Routines de tests

Pour tester les algorithmes, on compile test_fixed pour h�te et pour AVR. On
lance les deux et l'on compare les r�sultats, ils doivent �tre identiques.

La version h�te v�rifie les calculs avec la biblioth�que math�matique du C.

* Doc

*File: fixed.exd