Пример #1
0
CAMLprim value ml_gsl_linalg_solve_cyc_tridiag(value DIAG, value ABOVE, value BELOW,
					       value B, value X)
{
  _DECLARE_VECTOR5(DIAG, ABOVE, BELOW, B, X);
  _CONVERT_VECTOR5(DIAG, ABOVE, BELOW, B, X);
  gsl_linalg_solve_cyc_tridiag(&v_DIAG, &v_ABOVE, &v_BELOW, &v_B, &v_X);
  return Val_unit;
}
Пример #2
0
    /**
     * C++ version of gsl_linalg_solve_cyc_tridiag().
     * @param diag A vector of diagonal elements
     * @param abovediag Off-diagonal vector (one element shorte than @c diag)
     * @param belowdiag Off-diagonal vector (one element shorte than @c diag)
     * @param b A vector
     * @param x A vector
     * @return Error code on failure
     */
    inline int solve_cyc_tridiag( vector const& diag, vector const& abovediag, vector const& belowdiag,
				  vector const& b, vector& x ){
      return gsl_linalg_solve_cyc_tridiag( diag.get(), abovediag.get(), belowdiag.get(), b.get(), x.get() ); }