libflame  revision_anchor
FLA_util_base_prototypes.h
Go to the documentation of this file.
00001 /*
00002 
00003     Copyright (C) 2014, The University of Texas at Austin
00004 
00005     This file is part of libflame and is available under the 3-Clause
00006     BSD license, which can be found in the LICENSE file at the top-level
00007     directory, or at http://opensource.org/licenses/BSD-3-Clause
00008 
00009 */
00010 
00011 float     FLA_random_float( void );
00012 double    FLA_random_double( void );
00013 scomplex  FLA_random_scomplex( void );
00014 dcomplex  FLA_random_dcomplex( void );
00015 
00016 FLA_Error FLA_Absolute_square( FLA_Obj alpha );
00017 FLA_Error FLA_Absolute_value( FLA_Obj alpha );
00018 double    FLA_Clock( void );
00019 FLA_Error FLA_Conjugate( FLA_Obj A );
00020 FLA_Error FLA_Conjugate_r( FLA_Uplo uplo, FLA_Obj A );
00021 FLA_Error FLA_Fill_with_linear_dist( FLA_Obj shift, FLA_Obj delta, FLA_Obj x );
00022 FLA_Error FLA_Fill_with_inverse_dist( FLA_Obj alpha, FLA_Obj x );
00023 FLA_Error FLA_Fill_with_geometric_dist( FLA_Obj alpha, FLA_Obj x );
00024 FLA_Error FLA_Fill_with_random_dist( FLA_Obj shift, FLA_Obj max, FLA_Obj x );
00025 FLA_Error FLA_Fill_with_logarithmic_dist( FLA_Obj max, FLA_Obj x );
00026 FLA_Error FLA_Fill_with_cluster_dist( FLA_Obj n_clusters, FLA_Obj cluster_width, FLA_Obj x );
00027 FLA_Error FLA_Hermitianize( FLA_Uplo uplo, FLA_Obj A );
00028 FLA_Error FLA_Invert( FLA_Conj conj, FLA_Obj x );
00029 FLA_Error FLA_Inv_scal_elemwise( FLA_Trans trans, FLA_Obj A, FLA_Obj B );
00030 FLA_Error FLA_Max_abs_value( FLA_Obj A, FLA_Obj amax );
00031 FLA_Error FLA_Max_abs_value_herm( FLA_Uplo uplo, FLA_Obj A, FLA_Obj maxabs );
00032 double    FLA_Max_elemwise_diff( FLA_Obj A, FLA_Obj B );
00033 FLA_Error FLA_Mult_add( FLA_Obj alpha, FLA_Obj beta, FLA_Obj gamma );
00034 FLA_Error FLA_Negate( FLA_Obj x );
00035 FLA_Error FLA_Norm1( FLA_Obj A, FLA_Obj norm );
00036 FLA_Error FLA_Norm_inf( FLA_Obj A, FLA_Obj norm );
00037 FLA_Error FLA_Norm_frob( FLA_Obj A, FLA_Obj norm );
00038 FLA_Error FLA_Pow( FLA_Obj base, FLA_Obj exp, FLA_Obj btoe );
00039 FLA_Error FLA_Random_matrix( FLA_Obj A );
00040 FLA_Error FLA_Random_herm_matrix( FLA_Uplo uplo, FLA_Obj A );
00041 FLA_Error FLA_Random_symm_matrix( FLA_Uplo uplo, FLA_Obj A );
00042 FLA_Error FLA_Random_spd_matrix( FLA_Uplo uplo, FLA_Obj A );
00043 FLA_Error FLA_Random_tri_matrix( FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A );
00044 FLA_Error FLA_Random_unitary_matrix( FLA_Obj A );
00045 FLA_Error FLA_Scal_elemwise( FLA_Trans trans, FLA_Obj A, FLA_Obj B );
00046 FLA_Error FLA_Setr( FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A );
00047 FLA_Error FLA_Shift_pivots_to_check( FLA_Pivot_type ptype, FLA_Obj p );
00048 FLA_Error FLA_Sqrt( FLA_Obj alpha );
00049 FLA_Error FLA_Symmetrize( FLA_Uplo uplo, FLA_Obj A );
00050 FLA_Error FLA_Triangularize( FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A );
00051 FLA_Error FLA_Transpose( FLA_Obj A );
00052 
00053 FLA_Error FLA_Set( FLA_Obj alpha, FLA_Obj A );
00054 FLA_Error FLA_Set_diag( FLA_Obj alpha, FLA_Obj A );
00055 FLA_Error FLA_Set_offdiag( int offset, FLA_Obj alpha, FLA_Obj A );
00056 FLA_Error FLA_Set_to_identity( FLA_Obj A );
00057 FLA_Error FLA_Add_to_diag( void *diag_value, FLA_Obj A );
00058 FLA_Error FLA_Shift_diag( FLA_Conj conj, FLA_Obj sigma, FLA_Obj A );
00059 FLA_Error FLA_Scale_diag( FLA_Conj conj, FLA_Obj alpha, FLA_Obj A );
00060 
00061 FLA_Error FLA_Set_diagonal_vector( FLA_Obj A, FLA_Obj d );
00062 FLA_Error FLA_Set_diagonal_matrix( FLA_Obj d, FLA_Obj A );
00063 
00064 // -----------------------------------------------------------------------------
00065 
00066 FLA_Error FLA_Absolute_square_check( FLA_Obj alpha );
00067 FLA_Error FLA_Absolute_value_check( FLA_Obj alpha );
00068 FLA_Error FLA_Conjugate_check( FLA_Obj A );
00069 FLA_Error FLA_Conjugate_r_check( FLA_Uplo uplo, FLA_Obj A );
00070 FLA_Error FLA_Fill_with_linear_dist_check( FLA_Obj shift, FLA_Obj delta, FLA_Obj x );
00071 FLA_Error FLA_Fill_with_inverse_dist_check( FLA_Obj alpha, FLA_Obj x );
00072 FLA_Error FLA_Fill_with_geometric_dist_check( FLA_Obj alpha, FLA_Obj x );
00073 FLA_Error FLA_Fill_with_random_dist_check( FLA_Obj shift, FLA_Obj max, FLA_Obj x );
00074 FLA_Error FLA_Fill_with_logarithmic_dist_check( FLA_Obj alpha, FLA_Obj x );
00075 FLA_Error FLA_Fill_with_cluster_dist_check( FLA_Obj n_clusters, FLA_Obj cluster_width, FLA_Obj x );
00076 FLA_Error FLA_Hermitianize_check( FLA_Uplo uplo, FLA_Obj A );
00077 FLA_Error FLA_Invert_check( FLA_Conj conj, FLA_Obj x );
00078 FLA_Error FLA_Inv_scal_elemwise_check( FLA_Trans trans, FLA_Obj A, FLA_Obj B );
00079 FLA_Error FLA_Max_abs_value_check( FLA_Obj A, FLA_Obj amax );
00080 FLA_Error FLA_Max_abs_value_herm_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj maxabs );
00081 FLA_Error FLA_Max_elemwise_diff_check( FLA_Obj A, FLA_Obj B );
00082 FLA_Error FLA_Mult_add_check( FLA_Obj alpha, FLA_Obj beta, FLA_Obj gamma );
00083 FLA_Error FLA_Negate_check( FLA_Obj x );
00084 FLA_Error FLA_Norm1_check( FLA_Obj A, FLA_Obj norm );
00085 FLA_Error FLA_Norm_inf_check( FLA_Obj A, FLA_Obj norm );
00086 FLA_Error FLA_Norm_frob_check( FLA_Obj A, FLA_Obj norm );
00087 FLA_Error FLA_Pow_check( FLA_Obj base, FLA_Obj exp, FLA_Obj btoe );
00088 FLA_Error FLA_Random_matrix_check( FLA_Obj A );
00089 FLA_Error FLA_Random_herm_matrix_check( FLA_Uplo uplo, FLA_Obj A );
00090 FLA_Error FLA_Random_symm_matrix_check( FLA_Uplo uplo, FLA_Obj A );
00091 FLA_Error FLA_Random_spd_matrix_check( FLA_Uplo uplo, FLA_Obj A );
00092 FLA_Error FLA_Random_tri_matrix_check( FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A );
00093 FLA_Error FLA_Random_unitary_matrix_check( FLA_Obj A );
00094 FLA_Error FLA_Scal_elemwise_check( FLA_Trans trans, FLA_Obj A, FLA_Obj B );
00095 FLA_Error FLA_Setr_check( FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A );
00096 FLA_Error FLA_Sort_check( FLA_Direct direct, FLA_Obj x );
00097 FLA_Error FLA_Sqrt_check( FLA_Obj alpha );
00098 FLA_Error FLA_Symmetrize_check( FLA_Uplo uplo, FLA_Obj A );
00099 FLA_Error FLA_Triangularize_check( FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A );
00100 FLA_Error FLA_Transpose_check( FLA_Obj A );
00101 
00102 FLA_Error FLA_Set_check( FLA_Obj alpha, FLA_Obj A );
00103 FLA_Error FLA_Set_diag_check( FLA_Obj alpha, FLA_Obj A );
00104 FLA_Error FLA_Set_to_identity_check( FLA_Obj A );
00105 FLA_Error FLA_Add_to_diag_check( void *diag_value, FLA_Obj A );
00106 FLA_Error FLA_Shift_diag_check( FLA_Conj conj, FLA_Obj sigma, FLA_Obj A );
00107 FLA_Error FLA_Scale_diag_check( FLA_Conj conj, FLA_Obj alpha, FLA_Obj A );
00108 
00109 // -----------------------------------------------------------------------------
00110 
00111 FLA_Error FLA_Transpose_blk_var1( FLA_Obj A, fla_tpose_t* cntl );
00112 FLA_Error FLA_Transpose_blk_var2( FLA_Obj A, fla_tpose_t* cntl );
00113 FLA_Error FLA_Transpose_unb_var1( FLA_Obj A );
00114 FLA_Error FLA_Transpose_unb_var2( FLA_Obj A );
00115 FLA_Error FLA_Swap_t_blk_var1( FLA_Obj A, FLA_Obj B, fla_swap_t* cntl );
00116 FLA_Error FLA_Swap_t_blk_var2( FLA_Obj A, FLA_Obj B, fla_swap_t* cntl );
00117 
00118 FLA_Error FLA_Sort( FLA_Direct direct, FLA_Obj x );
00119 FLA_Error FLA_Sort_f_ops( int     m_x,
00120                           float*  x, int inc_x );
00121 FLA_Error FLA_Sort_b_ops( int     m_x,
00122                           float*  x, int inc_x );
00123 FLA_Error FLA_Sort_f_opd( int     m_x,
00124                           double* x, int inc_x );
00125 FLA_Error FLA_Sort_b_opd( int     m_x,
00126                           double* x, int inc_x );
00127