Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / stm / stm_modscm_cst_sign.c
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI AVERTEC */
4 /* */
5 /* Produit : STM Version 1.00 */
6 /* Fichier : stm_modscm_dual_sign.c */
7 /* */
8 /* (c) copyright 2000 AVERTEC */
9 /* Tous droits reserves */
10 /* */
11 /* Auteur(s) : Gilles Augustins */
12 /* */
13 /****************************************************************************/
14
15 /****************************************************************************/
16 /* includes */
17 /****************************************************************************/
18
19 #include "stm.h"
20
21 /****************************************************************************/
22 /* functions */
23 /****************************************************************************/
24 #ifdef NEWSIGN
25 float stm_modscm_cst_signature (cstparams *params, char *s)
26 {
27 return params->DS[STM_CST_DELAY]*123+params->DS[STM_CST_SLEW];
28 }
29 #else
30 void stm_modscm_cst_signature (cstparams *params, char *s)
31 {
32 sprintf (s + strlen (s), "scmc_");
33 sprintf (s + strlen (s), "%.5g_", params->DS[STM_CST_DELAY]);
34 sprintf (s + strlen (s), "%.5g", params->DS[STM_CST_SLEW]);
35 }
36 #endif
37 void stm_modscm_cst_change_params (cstparams *params)
38 {
39 #ifdef NEWSIGN
40 float precision = 0.01;
41 params->DS[STM_CST_DELAY]=mbk_rounddouble(params->DS[STM_CST_DELAY], STM_NEWSIGN_ROUND_PRECISION);
42 params->DS[STM_CST_SLEW]=mbk_rounddouble(params->DS[STM_CST_SLEW], STM_NEWSIGN_ROUND_PRECISION);
43 #endif
44 }
45 #ifdef NEWSIGN
46 int stm_modscm_cst_same_params (cstparams *params0, cstparams *params1)
47 {
48 if (params0->DS[STM_CST_DELAY]==params1->DS[STM_CST_DELAY]
49 && params0->DS[STM_CST_SLEW]==params1->DS[STM_CST_SLEW]) return 1;
50 return 0;
51 }
52 #endif