Ejemplo n.º 1
0
inline void
transformation::operator() (const cnormal& nin, cnormal* nout) const
{
  float inv_trans[4][4];

  matrix_transpose (inv, inv_trans);
  matrix_vector_multiply (inv_trans, nin, *nout);
}
Ejemplo n.º 2
0
inline cvector
transformation::operator() (const cvector& v) const
{
  cvector res;

  matrix_vector_multiply (mat, v, res);

  return res;s
}
Ejemplo n.º 3
0
inline cpoint
transformation::operator() (const cpoint& p) const
{
  cpoint res;

  matrix_vector_multiply (mat, p, res);

  return res;
}
Ejemplo n.º 4
0
inline cnormal
transformation::operator() (const cnormal& n) const
{
  float inv_trans[4][4];
  cnormal res;

  matrix_transpose (inv, inv_trans);
  matrix_vector_multiply (inv_trans, n, res);

  return res;
}
Ejemplo n.º 5
0
void dnn::forward_activation(int index_lower_layer, float ** local_weights, float * local_bias, float * visible, float * hidden)
{
  int num_units_hidden=num_units_ineach_layer[index_lower_layer+1];
  int num_units_visible=num_units_ineach_layer[index_lower_layer];
  matrix_vector_multiply(local_weights, visible, hidden, num_units_hidden, num_units_visible);
  add_vector(hidden, local_bias, num_units_hidden);
  if(index_lower_layer<num_layers-2)	
    activate_logistic(hidden, num_units_hidden);
  else if(index_lower_layer==num_layers-2)
    log2ori(hidden,num_units_hidden );

}
int
main(int argc, char **argv)
{
  const int m = 10000, n = 10000;

  double tbeg, tend;

  tbeg = WTime();

  struct vector *x = vector_create(n);
  struct vector *y = vector_create(m);
  struct vector *y_ref = vector_create(m);
  struct matrix *A = matrix_create(m, n);

  // setup values in our test vector and in our reference result
  setup_test_vectors(x, y_ref);

  // build a test matrix
  setup_test_matrix(A);

  tend = WTime();
  printf("setup took %g sec\n", tend - tbeg);

  // calculate y = Ax
  tbeg = WTime();
  matrix_vector_multiply(y, A, x);
  tend = WTime();
  printf("matrix_vector_multiply() took %g sec\n", tend - tbeg);

  // the resulting vector for this test should equal our reference result
  tbeg = WTime();
  assert(vector_is_equal(y, y_ref));
  tend = WTime();
  printf("checking result took %g sec\n", tend - tbeg);

  // clean up
  vector_destroy(x);
  vector_destroy(y);
  vector_destroy(y_ref);
  matrix_destroy(A);

  return 0;
}
Ejemplo n.º 7
0
inline void
transformation::operator() (const cvector& vin, cvector* vout) const
{
  matrix_vector_multiply (mat, vin, *vout);
}
Ejemplo n.º 8
0
inline void
transformation::operator() (const cpoint& pin, cpoint* pout) const
{
  matrix_vector_multiply (mat, pin, *pout);
}