long Regression_getFactorIndexFromFactorName_e (Regression me, const char32 *factorName) { for (long iparm = 1; iparm <= my parameters -> size; iparm ++) { RegressionParameter parm = static_cast<RegressionParameter> (my parameters -> item [iparm]); if (Melder_equ (factorName, parm -> label)) return iparm; } Melder_throw (Thing_messageName (me), U" has no parameter named \"", factorName, U"\"."); }
void TableOfReal_removeRow (TableOfReal me, long rowNumber) { try { if (my numberOfRows == 1) Melder_throw (Thing_messageName (me), " has only one row, and a TableOfReal without rows cannot exist."); if (rowNumber < 1 || rowNumber > my numberOfRows) Melder_throw ("No row ", rowNumber, "."); autoNUMmatrix <double> data (1, my numberOfRows - 1, 1, my numberOfColumns); for (long icol = 1; icol <= my numberOfColumns; icol ++) { for (long irow = 1; irow < rowNumber; irow ++) data [irow] [icol] = my data [irow] [icol]; for (long irow = rowNumber; irow < my numberOfRows; irow ++) data [irow] [icol] = my data [irow + 1] [icol]; } /* * Change without error. */ Melder_free (my rowLabels [rowNumber]); for (long irow = rowNumber; irow < my numberOfRows; irow ++) my rowLabels [irow] = my rowLabels [irow + 1]; NUMmatrix_free (my data, 1, 1); my data = data.transfer(); my numberOfRows --; } catch (MelderError) { Melder_throw (me, ": row ", rowNumber, " not removed."); } }