Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / stm / stm_mod_display.c
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI AVERTEC */
4 /* */
5 /* Fichier : stm_mod_display.c */
6 /* */
7 /* © copyright 2003 AVERTEC */
8 /* Tous droits reserves */
9 /* */
10 /* Auteur(s) : Antony PINTO */
11 /* */
12 /****************************************************************************/
13
14 #include "stm.h"
15
16 /****************************************************************************/
17 /*{{{ stm_displayTable() */
18 /* */
19 /* */
20 /****************************************************************************/
21 void stm_displayTable(char *str, timing_table *table)
22 {
23 if (table)
24 {
25 if (table->SET2D)
26 {
27 int i, j, k, nb = 8, x;
28
29 for (k = 0; k <= (table->NX)/nb ; k ++)
30 {
31 x = k*nb + ((k < (table->NX)/nb) ? nb : (table->NX - k*nb)%nb);
32 avt_log (LOGSTM, 1, "/¯¯¯¯¯¯¯¯");
33 for (i = k*nb; i < x; i ++)
34 avt_log (LOGSTM, 1, "|¯¯¯¯¯¯¯¯¯");
35 avt_log (LOGSTM, 1, "\\\n");
36
37 avt_log (LOGSTM, 1, "|%8s|",str);
38 for (i = k*nb; i < x; i ++)
39 avt_log (LOGSTM, 1, "%+1.2e|",table->XRANGE[i]);
40 avt_log (LOGSTM, 1, "\n");
41
42 avt_log (LOGSTM, 1, ">~~~~~~~~");
43 for (i = k*nb; i < x; i ++)
44 avt_log (LOGSTM, 1, "+~~~~~~~~~");
45 avt_log (LOGSTM, 1, "<\n");
46
47 for (j = 0; j < table->NY; j ++)
48 {
49 avt_log (LOGSTM, 1, "|%1.2e|",table->YRANGE[j]);
50 for (i = k*nb; i < x; i ++)
51 {
52 if (table->SET2D[i][j] == STM_NOVALUE)
53 avt_log (LOGSTM, 1, " |");
54 else
55 avt_log (LOGSTM, 1, "%+1.2e|",table->SET2D[i][j]);
56 }
57 avt_log (LOGSTM, 1, "\n");
58 }
59
60 avt_log (LOGSTM, 1, "\\________");
61 for (i = k*nb; i < x; i ++)
62 avt_log (LOGSTM, 1, "|_________");
63 avt_log (LOGSTM, 1, "/\n");
64 }
65 }
66 else if (table->SET1D)
67 {
68 int i, k, nb = 8, x;
69
70 for (k = 0; k <= (table->NX)/nb ; k ++)
71 {
72 x = k*nb + ((k < (table->NX)/nb) ? nb : (table->NX - k*nb)%nb);
73
74 avt_log (LOGSTM, 1, "/¯¯¯¯¯");
75 for (i = k*nb; i < x; i ++)
76 avt_log (LOGSTM, 1, "|¯¯¯¯¯¯¯¯¯");
77 avt_log (LOGSTM, 1, "\\\n");
78
79 avt_log (LOGSTM, 1, "| X ");
80 for (i = k*nb; i < x; i ++)
81 avt_log (LOGSTM, 1, "|%+1.2e",table->XRANGE[i]);
82 avt_log (LOGSTM, 1, "|\n");
83
84 avt_log (LOGSTM, 1, "+~~~~~");
85 for (i = k*nb; i < x; i ++)
86 avt_log (LOGSTM, 1, "+~~~~~~~~~");
87 avt_log (LOGSTM, 1, "<\n");
88
89 avt_log (LOGSTM, 1, "| Val ");
90 for (i = k*nb; i < x; i ++)
91 {
92 if (table->SET1D[i] == STM_NOVALUE)
93 avt_log (LOGSTM, 1, "| ");
94 else
95 avt_log (LOGSTM, 1, "|%+1.2e",table->SET1D[i]);
96 }
97 avt_log (LOGSTM, 1, "|\n");
98
99 avt_log (LOGSTM, 1, "\\_____");
100 for (i = k*nb; i < x; i ++)
101 avt_log (LOGSTM, 1, "|_________");
102 avt_log (LOGSTM, 1, "/\n");
103 }
104 }
105 }
106 }
107
108 /*}}}************************************************************************/
109 /*{{{ stm_mod_display() */
110 /* */
111 /* */
112 /****************************************************************************/
113 void stm_mod_display(char *str,timing_model *stm)
114 {
115 if (stm)
116 switch (stm->UTYPE)
117 {
118 case STM_MOD_MODTBL :
119 stm_displayTable(str,stm->UMODEL.TABLE);
120 break;
121 default :
122 break;
123 }
124 }
125
126 /*}}}************************************************************************/