1 /*
2
3 Copyright (C) 2014, The University of Texas at Austin
4
5 This file is part of libflame and is available under the 3-Clause
6 BSD license, which can be found in the LICENSE file at the top-level
7 directory, or at http://opensource.org/licenses/BSD-3-Clause
8
9 */
10
11 #include "FLAME.h"
12
FLA_Sylv_hn(FLA_Obj isgn,FLA_Obj A,FLA_Obj B,FLA_Obj C,FLA_Obj scale,fla_sylv_t * cntl)13 FLA_Error FLA_Sylv_hn( FLA_Obj isgn, FLA_Obj A, FLA_Obj B, FLA_Obj C, FLA_Obj scale, fla_sylv_t* cntl )
14 {
15 FLA_Error r_val = FLA_SUCCESS;
16
17 if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_EXTERN )
18 {
19 r_val = FLA_Sylv_hn_blk_ext( isgn, A, B, C, scale );
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
22 {
23 r_val = FLA_Sylv_hn_unb_ext( isgn, A, B, C, scale );
24 }
25 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
26 {
27 r_val = FLA_Sylv_hn_opt_var1( isgn, A, B, C, scale );
28 }
29 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
30 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
31 {
32 r_val = FLA_Sylv_hn_blk_var1( isgn, A, B, C, scale, cntl );
33 }
34 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
35 {
36 r_val = FLA_Sylv_hn_blk_var2( isgn, A, B, C, scale, cntl );
37 }
38 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
39 {
40 r_val = FLA_Sylv_hn_blk_var3( isgn, A, B, C, scale, cntl );
41 }
42 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 )
43 {
44 r_val = FLA_Sylv_hn_blk_var4( isgn, A, B, C, scale, cntl );
45 }
46 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 )
47 {
48 r_val = FLA_Sylv_hn_blk_var5( isgn, A, B, C, scale, cntl );
49 }
50 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 )
51 {
52 r_val = FLA_Sylv_hn_blk_var6( isgn, A, B, C, scale, cntl );
53 }
54 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT7 )
55 {
56 r_val = FLA_Sylv_hn_blk_var7( isgn, A, B, C, scale, cntl );
57 }
58 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT8 )
59 {
60 r_val = FLA_Sylv_hn_blk_var8( isgn, A, B, C, scale, cntl );
61 }
62 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT9 )
63 {
64 r_val = FLA_Sylv_hn_blk_var9( isgn, A, B, C, scale, cntl );
65 }
66 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT10 )
67 {
68 r_val = FLA_Sylv_hn_blk_var10( isgn, A, B, C, scale, cntl );
69 }
70 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT11 )
71 {
72 r_val = FLA_Sylv_hn_blk_var11( isgn, A, B, C, scale, cntl );
73 }
74 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT12 )
75 {
76 r_val = FLA_Sylv_hn_blk_var12( isgn, A, B, C, scale, cntl );
77 }
78 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT13 )
79 {
80 r_val = FLA_Sylv_hn_blk_var13( isgn, A, B, C, scale, cntl );
81 }
82 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT14 )
83 {
84 r_val = FLA_Sylv_hn_blk_var14( isgn, A, B, C, scale, cntl );
85 }
86 #endif
87 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT15 )
88 {
89 r_val = FLA_Sylv_hn_blk_var15( isgn, A, B, C, scale, cntl );
90 }
91 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
92 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT16 )
93 {
94 r_val = FLA_Sylv_hn_blk_var16( isgn, A, B, C, scale, cntl );
95 }
96 #endif
97 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT17 )
98 {
99 r_val = FLA_Sylv_hn_blk_var17( isgn, A, B, C, scale, cntl );
100 }
101 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT18 )
102 {
103 r_val = FLA_Sylv_hn_blk_var18( isgn, A, B, C, scale, cntl );
104 }
105 else
106 {
107 FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
108 }
109
110 return r_val;
111 }
112
113