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