summaryrefslogtreecommitdiff
path: root/n/asserv/src/test_dsp.c
diff options
context:
space:
mode:
authorschodet2004-11-14 19:16:18 +0000
committerschodet2004-11-14 19:16:18 +0000
commitd1a5ae450f9ca78beaaebe2a8d4902a6bcb68515 (patch)
tree4ce500f2d700a2cfff8c8e41df4e796759a635e3 /n/asserv/src/test_dsp.c
parentb320f6cd36a748cd4a83ba44fb125c0e20c84806 (diff)
Ajout de la division d'un f824 par un f824.
Diffstat (limited to 'n/asserv/src/test_dsp.c')
-rw-r--r--n/asserv/src/test_dsp.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/n/asserv/src/test_dsp.c b/n/asserv/src/test_dsp.c
index d8781f2..27ddc9a 100644
--- a/n/asserv/src/test_dsp.c
+++ b/n/asserv/src/test_dsp.c
@@ -129,6 +129,41 @@ proto_callback (uint8_t c, uint8_t argc, proto_arg_t argv[])
}
}
break;
+ case 'd' | 0 << 8:
+ for (k = 0; k < 2; k++)
+ {
+ for (i = 32; i > 0; i--)
+ {
+ al = wl[k] >> i;
+ for (j = 32; j >= 0; j--)
+ {
+ bl = wl[k] >> j;
+ proto_send4 ('d',
+ (al >> 24) & 0xff, (al >> 16) & 0xff,
+ (al >> 8) & 0xff, al & 0xff);
+ proto_send4 ('v',
+ (bl >> 24) & 0xff, (bl >> 16) & 0xff,
+ (bl >> 8) & 0xff, bl & 0xff);
+ rl = dsp_div_f824 (al, bl);
+ proto_send4 ('r',
+ (rl >> 24) & 0xff, (rl >> 16) & 0xff,
+ (rl >> 8) & 0xff, rl & 0xff);
+ rl = dsp_div_f824 (-al, bl);
+ proto_send4 ('r',
+ (rl >> 24) & 0xff, (rl >> 16) & 0xff,
+ (rl >> 8) & 0xff, rl & 0xff);
+ rl = dsp_div_f824 (al, -bl);
+ proto_send4 ('r',
+ (rl >> 24) & 0xff, (rl >> 16) & 0xff,
+ (rl >> 8) & 0xff, rl & 0xff);
+ rl = dsp_div_f824 (-al, -bl);
+ proto_send4 ('r',
+ (rl >> 24) & 0xff, (rl >> 16) & 0xff,
+ (rl >> 8) & 0xff, rl & 0xff);
+ }
+ }
+ }
+ break;
case 'c' | 0 << 8:
for (al = 0; al < (1L << 24) + (1L << 21); al += 32 << 8)
{