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_Ttmm_l(FLA_Obj A,fla_ttmm_t * cntl)13 FLA_Error FLA_Ttmm_l( FLA_Obj A, fla_ttmm_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_Ttmm_l_blk_ext( A );
20 	}
21 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_EXTERN )
22 	{
23 		r_val = FLA_Ttmm_l_unb_ext( A );
24 	}
25 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
26 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT1 )
27 	{
28 		r_val = FLA_Ttmm_l_unb_var1( A );
29 	}
30 #endif
31 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT2 )
32 	{
33 		r_val = FLA_Ttmm_l_unb_var2( A );
34 	}
35 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
36 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT3 )
37 	{
38 		r_val = FLA_Ttmm_l_unb_var3( A );
39 	}
40 #endif
41 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
42 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
43 	{
44 		r_val = FLA_Ttmm_l_opt_var1( A );
45 	}
46 #endif
47 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT2 )
48 	{
49 		r_val = FLA_Ttmm_l_opt_var2( A );
50 	}
51 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
52 	else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT3 )
53 	{
54 		r_val = FLA_Ttmm_l_opt_var3( A );
55 	}
56 #endif
57 	else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
58 	{
59 		r_val = FLA_Ttmm_l_blk_var1( A, cntl );
60 	}
61 #ifdef FLA_ENABLE_NON_CRITICAL_CODE
62 	else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
63 	{
64 		r_val = FLA_Ttmm_l_blk_var2( A, cntl );
65 	}
66 	else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
67 	{
68 		r_val = FLA_Ttmm_l_blk_var3( A, cntl );
69 	}
70 #endif
71 	else
72 	{
73 		FLA_Check_error_code( FLA_NOT_YET_IMPLEMENTED );
74 	}
75 
76 	return r_val;
77 }
78 
79