Пример #1
0
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));
}
Пример #2
0
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;
}
Пример #3
0
    /**
     * 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 ); }