Ejemplo n.º 1
0
int player_set_vol(int l, int lf, int r, int rf)
{
	int rc = OP_ERROR_SUCCESS;
	if (soft_vol) {
		l = calc_vol(l, soft_vol_l, 100, lf);
		r = calc_vol(r, soft_vol_r, 100, rf);
		player_set_soft_volume(l, r);
	} else {
		mixer_read_volume();
		l = calc_vol(l, volume_l, volume_max, lf);
		r = calc_vol(r, volume_r, volume_max, rf);
		rc = mixer_set_volume(l, r);
		mixer_read_volume();
	}
	return rc;
}
Ejemplo n.º 2
0
static unsigned int calc_asset_vol(struct _asset *a)
{
	struct _asset_file *f = a->a_owner;
	const struct asset_desc *d = f->f_desc + a->a_idx;
	unsigned int i, num_tris, ret = 0;
	idx_t tri[3];
	idx_t *out = a->a_shadow_idx;

	for(i = 0; i < d->a_num_idx; i += 3) {
		tri[0] = a->a_indices[i + 0];
		tri[1] = a->a_indices[i + 1];
		tri[2] = a->a_indices[i + 2];
		num_tris = calc_vol(f, tri, out);
		out += num_tris * 3;
		ret += num_tris * 3;
	}

	return ret;
}
Ejemplo n.º 3
0
void FFTController:: calc_vcoulb(double* qvec, double* a1, double* a2, double* a3,
                                 double* b1, double* b2, double * b3, double shift[3],
                                 double alat, double vol, int nkpt, int iq){

  double* vcoulb;
  vcoulb = new double [geps->ng];
  double gx, gy, gz;
  double gq[3];
  vol = calc_vol(a1, a2, a3);
  double fact = 4*PI/vol/nkpt;

  for (int i=0; i<geps->ng; i++) {
      if (iq==0){
          gx = geps->ig[i] + shift[0];
          gy = geps->jg[i] + shift[1];
          gz = geps->kg[i] + shift[2];
      }
      else{
          gx = geps->ig[i] + qvec[0];
          gy = geps->jg[i] + qvec[1];
          gz = geps->kg[i] + qvec[2];
      }

      vcoulb[i] = 0;
      for (int j=0; j<3; j++) {
          gq[j] =  gx*b1[j] + gy*b2[j] + gz*b3[j];
          gq[j] *= 2*PI/alat;

          vcoulb[i] += gq[j]*gq[j];
      }
      vcoulb[i] = 1/vcoulb[i];
      vcoulb[i] *= fact;
  }

  std::vector<double> vcoulb_v;
  vcoulb_v.resize(geps->ng);
  for(int i=0;i<geps->ng;i++)
    vcoulb_v[i] = vcoulb[i];
  controller_proxy.got_vcoulb(vcoulb_v);
}