double gsl_sf_coupling_3j(int two_ja, int two_jb, int two_jc, int two_ma, int two_mb, int two_mc) { EVAL_RESULT(gsl_sf_coupling_3j_e(two_ja, two_jb, two_jc, two_ma, two_mb, two_mc, &result)); }
static VALUE rb_gsl_sf_coupling_3j_e(VALUE obj, VALUE two_ja, VALUE two_jb, VALUE two_jc, VALUE two_ma, VALUE two_mb, VALUE two_mc) { gsl_sf_result *rslt = NULL; VALUE v; // local variable "status" declared and set, but never used //int status; CHECK_FIXNUM(two_ja); CHECK_FIXNUM(two_jb); CHECK_FIXNUM(two_jc); CHECK_FIXNUM(two_ma); CHECK_FIXNUM(two_mb); CHECK_FIXNUM(two_mc); v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt); /*status =*/ gsl_sf_coupling_3j_e(FIX2INT(two_ja), FIX2INT(two_jb), FIX2INT(two_jc), FIX2INT(two_ma), FIX2INT(two_mb), FIX2INT(two_mc), rslt); return v; }
/** * C++ version of gsl_sf_coupling_3j(). * @param two_ja Coupling coefficient in half-integer units * @param two_jb Coupling coefficient in half-integer units * @param two_jc Coupling coefficient in half-integer units * @param two_ma Coupling coefficient in half-integer units * @param two_mb Coupling coefficient in half-integer units * @param two_mc Coupling coefficient in half-integer units * @param result The result as a @c gsl::sf::result object * @return GSL_SUCCESS or GSL_EDOM or GSL_EOVERFLW */ inline int coupling_3j_e( int two_ja, int two_jb, int two_jc, int two_ma, int two_mb, int two_mc, result& result ){ return gsl_sf_coupling_3j_e( two_ja, two_jb, two_jc, two_ma, two_mb, two_mc, &result ); }