From d1a5ae450f9ca78beaaebe2a8d4902a6bcb68515 Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 14 Nov 2004 19:16:18 +0000 Subject: Ajout de la division d'un f824 par un f824. --- n/asserv/src/test_dsp.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'n/asserv/src/test_dsp.c') 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) { -- cgit v1.2.3