File: testgen.c

package info (click to toggle)
oss4 4.2-build2020-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 16,408 kB
  • sloc: ansic: 237,053; cpp: 18,981; sh: 4,909; pascal: 3,863; asm: 1,189; makefile: 646; php: 53; xml: 46
file content (92 lines) | stat: -rw-r--r-- 1,836 bytes parent folder | download | duplicates (4)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <stdio.h>
#include <stdlib.h>

#define N 64

static void
gen_inputtest (void)
{
  int i;

  printf ("// Input test program\n");
  printf ("#include \"vu.mac\"\n");
  printf (".gpr VUTMP\n");
  printf (".gpr TMP\n");

  for (i = 0; i < N; i += 2)
    {
      printf (".input I%d_L	%d\n", i, i);
      printf (".input I%d_R	%d\n", i, i + 1);
    }

  for (i = 0; i < N; i += 2)
    {
      if (!(i % 16))
	printf (".parm G%x		0		group\n", i);
      printf (".parm IVU%d	0		stereopeak\n", i);
    }

  for (i = 0; i < N; i += 2)
    {
      printf ("ACC3(TMP, I%d_L, 0, 0)\n", i);
      printf ("VU(IVU%d_L, TMP)\n", i);
      printf ("ACC3(TMP, I%d_R, 0, 0)\n", i);
      printf ("VU(IVU%d_R, TMP)\n", i);
    }

}

static void
gen_outputtest (void)
{
  int i;

  printf ("// Output test program\n");
  printf ("#include \"vu.mac\"\n");
  printf (".parm VU 0 stereopeak\n");
  printf (".gpr VUTMP\n");
  printf (".gpr TMP\n");
  printf (".gpr TMP_L\n");
  printf (".gpr TMP_R\n");
  printf (".send TEST_L 0\n");
  printf (".send TEST_R 1\n");

  for (i = 0; i < N; i += 2)
    {
      printf (".output O%d_L	%d\n", i, i);
      printf (".output O%d_R	%d\n", i, i + 1);
    }

  for (i = 0; i < N; i += 2)
    {
      if (!(i % 16))
	printf (".parm G%x		0		group\n", i);
      printf (".parm OUT%d	0		stereo\n", i);
    }

  printf ("ACC3(TMP_L, TEST_L, 0, 0)\n");
  printf ("ACC3(TMP_R, TEST_R, 0, 0)\n");
  printf ("VU(VU_L, TMP_L)\n");
  printf ("VU(VU_R, TMP_R)\n");

  for (i = 0; i < N; i += 2)
    {
      printf ("MACS(O%d_L, 0, TMP_L, OUT%d_L)\n", i, i);
      printf ("MACS(O%d_R, 0, TMP_R, OUT%d_R)\n", i, i);
    }

}

int
main (int argc, char *argv[])
{
  if (argc < 2)
    exit (-1);

  if (strcmp (argv[1], "in") == 0)
    gen_inputtest ();

  if (strcmp (argv[1], "out") == 0)
    gen_outputtest ();
  exit (0);
}