1 $TEMPLATE[ggevx.all.min_size_bwork.args] 2 SENSE, N 3 $TEMPLATE[ggevx.all.min_size_bwork] 4 if ( sense == 'N' ) 5 return 0; 6 else 7 return n; 8 $TEMPLATE[ggevx.real.min_size_iwork.args] 9 SENSE, N 10 $TEMPLATE[ggevx.real.min_size_iwork] 11 if ( sense == 'E' ) 12 return 0; 13 else 14 return n+6; 15 $TEMPLATE[ggevx.complex.min_size_iwork.args] 16 SENSE, N 17 $TEMPLATE[ggevx.complex.min_size_iwork] 18 if ( sense == 'E' ) 19 return 0; 20 else 21 return n+2; 22 $TEMPLATE[ggevx.complex.min_size_rwork.args] 23 BALANC, N 24 $TEMPLATE[ggevx.complex.min_size_rwork] 25 if ( balanc == 'S' || balanc == 'B' ) 26 return std::max< $INTEGER_TYPE >( 1, 6*n ); 27 else 28 return std::max< $INTEGER_TYPE >( 1, 2*n ); 29 $TEMPLATE[ggevx.real.min_size_work.args] 30 BALANC,JOBVL,JOBVR,SENSE,N 31 $TEMPLATE[ggevx.real.min_size_work] 32 if ( balanc == 'S' || balanc == 'B' || jobvl == 'V' || jobvr == 'V' ) 33 return std::max< $INTEGER_TYPE >( 1, 6*n ); 34 if ( sense == 'E' ) 35 return std::max< $INTEGER_TYPE >( 1, 10*n ); 36 if ( sense == 'V' || sense == 'B' ) 37 return 2*n*n + 8*n + 16; 38 return std::max< $INTEGER_TYPE >( 1, 2*n ); 39 $TEMPLATE[ggevx.complex.min_size_work.args] 40 SENSE, N 41 $TEMPLATE[ggevx.complex.min_size_work] 42 if ( sense == 'N' ) 43 return std::max< $INTEGER_TYPE >( 1, 2*n ); 44 else { 45 if ( sense == 'E' ) 46 return std::max< $INTEGER_TYPE >( 1, 4*n ); 47 else 48 return std::max< $INTEGER_TYPE >( 1, 2*n*n+2*n ); 49 } 50 $TEMPLATE[end] 51