コード例 #1
0
void
ompf_static_bsched_(indvar_t *lb, indvar_t *ub, int *step)
{
    extern void _ompc_static_bsched();
    _ompc_static_bsched(lb, ub, UBOFS_F, step);
}
コード例 #2
0
static void
__ompc_func_3 (void **__ompc_args)
{
  auto double *_pp_sx;
  auto double *_pp_sy;
  auto int *_pp_np;
  auto int *_pp_k_offset;
  auto double *_pp_an;
  auto int *_pp_nthreads;
  auto double *_ppthd_x;
  (_ppthd_x) = (((double *) (_ompc_get_thdprv (&_thdprv_x, 1048576, x))));
  (_pp_sx) = (((double *) (*__ompc_args)));
  (_pp_sy) = (((double *) (*((__ompc_args) + (1)))));
  (_pp_np) = (((int *) (*((__ompc_args) + (2)))));
  (_pp_k_offset) = (((int *) (*((__ompc_args) + (3)))));
  (_pp_an) = (((double *) (*((__ompc_args) + (4)))));
  (_pp_nthreads) = (((int *) (*((__ompc_args) + (5)))));
  _ompc_copyin_thdprv (_ppthd_x, x, 1048576);
  {
    auto double t1;
    auto double t2;
    auto double t3;
    auto double t4;
    auto double x1;
    auto double x2;
    auto int kk;
    auto int i;
    auto int ik;
    auto int l;
    auto double qq[10];

# 150 "ep.c"
    for ((i) = (0); (i) < (10); (i)++)
      {
	(*((qq) + (i))) = (0.0);
      }
    {
      auto double _p_sx;
      auto double _p_sy;
      auto int _p_k;
      auto int _p_k_0;
      auto int _p_k_1;
      auto int _p_k_2;
      (_p_sy) = (0.0);
      (_p_sx) = (0.0);
      (_p_k_0) = (1);
      (_p_k_1) = ((*_pp_np) + (1));
      (_p_k_2) = (1);
      _ompc_static_bsched (&_p_k_0, &_p_k_1, &_p_k_2);
# 153 "ep.c"
      for ((_p_k) = (_p_k_0); (_p_k) < (_p_k_1); (_p_k) += (_p_k_2))
	{

# 154 "ep.c"
	  (kk) = ((*_pp_k_offset) + (_p_k));
# 155 "ep.c"
	  (t1) = (2.71828183E8);
# 156 "ep.c"
	  (t2) = (*_pp_an);
# 160 "ep.c"
	  for ((i) = (1); (i) <= (100); (i)++)
	    {

# 161 "ep.c"
	      (ik) = ((kk) / (2));
# 162 "ep.c"
	      if (((2) * (ik)) != (kk))
		{
		  (t3) = (randlc (&(t1), t2));
		}
# 163 "ep.c"
	      if ((ik) == (0))
# 163 "ep.c"
		break;
# 164 "ep.c"
	      (t3) = (randlc (&(t2), t2));
# 165 "ep.c"
	      (kk) = (ik);
	    }
# 170 "ep.c"
	  if ((0) == (1))
	    {
	      timer_start (3);
	    }
# 171 "ep.c"
	  vranlc ((2) * ((1) << (16)), &(t1), 1.220703125E9,
		  (_ppthd_x) - (1));
# 172 "ep.c"
	  if ((0) == (1))
	    {
	      timer_stop (3);
	    }
# 179 "ep.c"
	  if ((0) == (1))
	    {
	      timer_start (2);
	    }
# 181 "ep.c"
	  for ((i) = (0); (i) < ((1) << (16)); (i)++)
	    {

# 182 "ep.c"
	      (x1) = (((2.0) * (*((_ppthd_x) + ((2) * (i))))) - (1.0));
# 183 "ep.c"
	      (x2) =
		(((2.0) * (*((_ppthd_x) + (((2) * (i)) + (1))))) - (1.0));
# 184 "ep.c"
	      (t1) = (((x1) * (x1)) + ((x2) * (x2)));
# 185 "ep.c"
	      if ((t1) <= (1.0))
		{

# 186 "ep.c"
		  (t2) = (sqrt (((-(2.0)) * (log (t1))) / (t1)));
# 187 "ep.c"
		  (t3) = ((x1) * (t2));
# 188 "ep.c"
		  (t4) = ((x2) * (t2));
# 189 "ep.c"
		  (l) =
		    (((int)
		      (((fabs (t3)) >
			(fabs (t4))) ? (fabs (t3)) : (fabs (t4)))));
# 190 "ep.c"
		  (*((qq) + (l))) += (1.0);
# 191 "ep.c"
		  (_p_sx) = ((_p_sx) + (t3));
# 192 "ep.c"
		  (_p_sy) = ((_p_sy) + (t4));
		}
	    }
# 195 "ep.c"
	  if ((0) == (1))
	    {
	      timer_stop (2);
	    }
	}
      _ompc_reduction (&_p_sy, _pp_sy, 14, 6);
      _ompc_reduction (&_p_sx, _pp_sx, 14, 6);
      _ompc_barrier ();
    }
    {
      _ompc_enter_critical (&__ompc_lock_critical);
# 199 "ep.c"
      for ((i) = (0); (i) <= ((10) - (1)); (i)++)
	{
	  (*((q) + (i))) += (*((qq) + (i)));
	}
      _ompc_exit_critical (&__ompc_lock_critical);
    }
    if (_ompc_is_master ())
      {
	(*_pp_nthreads) = (omp_get_num_threads ());
      }
  }
}