Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / stm / stm_modtbl.h
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI AVERTEC */
4 /* */
5 /* Produit : STM Version 1.00 */
6 /* Fichier : stm_modtbl.h */
7 /* */
8 /* (c) copyright 2000 AVERTEC */
9 /* Tous droits reserves */
10 /* */
11 /* Auteur(s) : Gilles Augustins */
12 /* */
13 /****************************************************************************/
14
15 #ifndef STM_MODTBL_H
16 #define STM_MODTBL_H
17
18 /****************************************************************************/
19 /* includes */
20 /****************************************************************************/
21
22 #include STM_H
23
24
25 /* constructors */
26 extern timing_table *stm_modtbl_create (int nx, int ny, char xtype, char ytype);
27 extern timing_table *stm_modtbl_create_ftemplate (timing_ttable *ttemplate);
28 extern timing_table *stm_modtbl_create_fequac (float sdt, float sck, float fdt, float fck, float t);
29 extern timing_table *stm_modtbl_create_fequa (float r, float s, float c, float f, float t);
30 extern timing_table *stm_modtbl_create_fcst (float value);
31 extern timing_table *stm_modtbl_duplicate (timing_table *table);
32 extern float *stm_modtbl_createset1D (int nx);
33 extern float **stm_modtbl_createset2D (int nx, int ny);
34
35 /* destructors */
36 extern void stm_modtbl_destroy (timing_table *table);;
37 extern void stm_modtbl_destroyset2D (float **set, int x);
38 extern void stm_modtbl_destroyset1D (float *set);
39
40 /* value setters */
41 extern void stm_modtbl_setXrange (timing_table *table, chain_list *xrange, float scale);
42 extern void stm_modtbl_setYrange (timing_table *table, chain_list *yrange, float scale);
43 extern void stm_modtbl_set1Dval (timing_table *table, int xpos, float value);
44 extern void stm_modtbl_setXrangeval (timing_table *table, int xpos, float value);
45 extern void stm_modtbl_setYrangeval (timing_table *table, int ypos, float value);
46 extern void stm_modtbl_set2Dval (timing_table *table, int xpos, int ypos, float value);
47 extern void stm_modtbl_set1Dset (timing_table *table, chain_list *xdata, float scale);
48 extern void stm_modtbl_set2Dset (timing_table *table, chain_list *xydata, float scale);
49 extern void stm_modtbl_setconst (timing_table *tab, float value);
50
51 /* value accessors */
52 extern int stm_modtbl_isnull (float value);
53 extern float stm_modtbl_initval ();
54 extern float stm_modtbl_getslewaxisval (timing_table *tab, int i);
55 extern float stm_modtbl_getckslewaxisval (timing_table *tab, int i);
56 extern float stm_modtbl_getloadaxisval (timing_table *tab, int i);
57 extern float *stm_modtbl_getloadaxis (timing_table *tab, int *nval);
58 extern float *stm_modtbl_getslewaxis (timing_table *tab, int *nval);
59 extern int stm_modtbl_getnslew (timing_table *table);
60 extern int stm_modtbl_getnckslew (timing_table *table);
61 extern int stm_modtbl_getnload (timing_table *table);
62
63 #endif