Example #1
0
int main(int argc, char** argv) {
  plan_tests(43 + ARRAY_SIZE(Hypot_test_values));

  /* check the division operator */
  ok((fixed_one / fixed_one) * fixed(1000) == fixed(1000), "1/1", 0);
  ok((fixed_two / fixed_two) * fixed(1000) == fixed(1000), "2/2", 0);
  ok((fixed_one / fixed_two) * fixed(1000) == fixed(500), "1/2", 0);
  ok((fixed(1000) / fixed(100)) * fixed(1000) == fixed(10000), "1000/100", 0);
  ok((fixed(100) / fixed(20)) * fixed(1000) == fixed(5000), "100/20", 0);
  ok((fixed(1000000) / fixed(2)) * fixed(1000) == fixed(500000000), "1M/2", 0);
  ok((fixed_minus_one / fixed_one) * fixed(1000) == -fixed(1000), "-1/1", 0);
  ok((fixed_one / fixed_minus_one) * fixed(1000) == -fixed(1000), "1/-1", 0);
  ok((fixed_minus_one / fixed_minus_one) * fixed(1000) == fixed(1000), "-1/-1", 0);
  ok((fixed(-1000000) / fixed(2)) * fixed(1000) == -fixed(500000000), "-1M/2", 0);
  ok((long)((fixed_one / (fixed_one / fixed(10))) * fixed(1000)) == (10000), "1/0.1", 0);
  ok((long)((fixed_one / (fixed_one / fixed(-10))) * fixed(1000)) == -(10000) ||
     (long)((fixed_one / (fixed_one / fixed(-10))) * fixed(1000)) == -(10001), "1/-0.1", 0);

  ok(equals(fixed_one / fixed_half, 2), "1/0.5", 0);
  ok(equals(fixed(1000) / fixed_half, 2000), "1/0.5", 0);
  ok(equals(fixed(1000) / (fixed_one / 5), 5000), "1/0.5", 0);

  ok(equals(fixed(1000000) / (fixed_one / 5), 5000000), "1/0.5", 0);
  ok(equals(fixed(10000000) / (fixed_one / 5), 50000000), "1/0.5", 0);

  double da = 20.0;
  double dsina = sin(da);

  fixed a(da);
  fixed sina(sin(a));

  printf("a=%g, sin(a)=%g\n", FIXED_DOUBLE(a), FIXED_DOUBLE(sina));
  printf("a=%g, sin(a)=%g\n", da, dsina);

  ok(fabs(sina - fixed(dsina)) < fixed(1.0e-5), "sin(a)", 0);

  double dx = -0.3;
  double dy = 0.6;
  double dt = atan2(dy, dx);

  fixed x(dx);
  fixed y(dy);
  fixed t(atan2(y, x));

  printf("x=%g, y=%g atan(y,x)=%g\n",
         FIXED_DOUBLE(x), FIXED_DOUBLE(y), FIXED_DOUBLE(t));
  printf("x=%g, y=%g atan(y,x)=%g\n", dx, dy, dt);

  ok(fabs(t - fixed(dt)) < fixed(1.0e-5), "atan(y,x)", 0);

  {
    for (int i=1; i<=2048; i*= 2) {
      test_mag_rmag(i);
    }
  }

  test_hypot();

  return exit_status();
}
Example #2
0
void LoginDialog::checkAuthStart()
{    
    startLogin();

    account->setUsername(ui->lineEdit_Username->text());
    account->setPassword(ui->lineEdit_Password->text());
    
    //oauth
    QString accessToken, accessTokenSecret;
    if(!getAccessToken(accessToken, accessTokenSecret))
    {
        loginFailed();
        return;
    }
    
    SinaWeibo sina(this->account);;
    if(sina.verifyCredentials()) //success
    {
        if(ui->checkBox_RemeberPwd->isChecked())
        {
            conf->setRemeberedUP(ui->lineEdit_Username->text(), 
                                 ui->lineEdit_Password->text());
        }
        SinaWeibo *sina = new SinaWeibo(account);
        sina->initHomePageStatus();
        sina->initEmotions();
        delete sina;
        this->accept();
    }
    else
    {
        loginFailed();
    }
}
Example #3
0
  void projection_skewed_rows(const T& image, FloatVector* angles, 
			      std::vector<IntVector*>& proj) {
    int y;
    size_t i;
    size_t n = angles->size();

    FloatVector sina(n);
    FloatVector cosa(n);
    for (i = 0; i < n; i++) {
      sina[i] = sin((*angles)[i] * M_PI / 180.0);
      cosa[i] = cos((*angles)[i] * M_PI / 180.0);
    }

    for (i = 0; i < n; i++)
      proj[i] = new IntVector(image.nrows(), 0);

    // compute skewed projections simultanously
    for (size_t r = 0; r < image.nrows(); ++r) {
      for (size_t c = 0; c < image.ncols(); ++c) {
        if (is_black(image.get(Point(c, r)))) {
          for (i = 0; i < n; i++) {
            y = (int) round(c*sina[i] + r*cosa[i]);
            if ((y > 0) && (y < (int)image.nrows()))
              ++(*(proj[i]))[y];
          }
        }
      }
    }
  }
Example #4
0
 static inline A0 sina(const A0& a0){ return sina(a0, style()); }