Example #1
0
void NeighListLike::test_against(struct params *input) {
  int nedge=0;
  for (int ii=0; ii<inum; ii++) {
    int i = ilist[ii];
    nedge += numneigh[i];
  }
  assert(nedge == input->nedge);

  int edge_ptr = 0;
  int *edge = new int[nedge*2];
  double *shear = new double[nedge*3];
  for (int ii=0; ii<inum; ii++) {
    int i = ilist[ii];
    for (int jj=0; jj<numneigh[i]; jj++) {
      int j = firstneigh[i][jj];
      edge[(edge_ptr*2)  ] = i;
      edge[(edge_ptr*2)+1] = j;
      double *s = &(firstdouble[i][3*jj]);
      shear[(edge_ptr*3)  ] = s[0];
      shear[(edge_ptr*3)+1] = s[1];
      shear[(edge_ptr*3)+2] = s[2];
      edge_ptr++;
      assert(firsttouch[i][jj] == 1);
    }
  }
  assert(edge_ptr == nedge);
  for (int e=0; e<input->nedge; e++) {
    assert(edge[(e*2)  ] == input->edge[(e*2)  ]);
    assert(edge[(e*2)+1] == input->edge[(e*2)+1]);
    assert(bitwise_equal(shear[(e*3)  ], input->shear[(e*3)  ]));
    assert(bitwise_equal(shear[(e*3)+1], input->shear[(e*3)+1]));
    assert(bitwise_equal(shear[(e*3)+2], input->shear[(e*3)+2]));
  }
  delete[] edge;
  delete[] shear;
}
Example #2
0
int main(void)
{
	{
	float zerof       = 0.0f;
	float minus_zerof = -0.0f;
	assert(!bitwise_equalf(zerof, minus_zerof));

	/* some constant folding */
	assert(bitwise_equalf(minus_zerof + 20.f, 20.f));
	assert(bitwise_equalf(minus_zerof + zerof, zerof));
	assert(bitwise_equalf(zerof + minus_zerof, zerof));
	assert(bitwise_equalf(zerof + zerof, zerof));
	assert(bitwise_equalf(minus_zerof + minus_zerof, minus_zerof));
	/* ensure optimisation did not mess up */
	assert(!bitwise_equalf(add_zerof(minus_zerof), minus_zerof));
	assert(bitwise_equalf(add_minus_zerof(minus_zerof), minus_zerof));
	assert(bitwise_equalf(add_minus_zerof(zerof), zerof));
	assert(bitwise_equalf(sub_zerof(minus_zerof), minus_zerof));
	assert(bitwise_equalf(sub_minus_zerof(minus_zerof), zerof));
	}

	{
	double zero       = 0.0;
	double minus_zero = -0.0;
	assert(!bitwise_equal(zero, minus_zero));

	/* some constant folding */
	assert(!bitwise_equal(zero, minus_zero));
	assert(bitwise_equal(minus_zero + 20., 20.));
	assert(bitwise_equal(minus_zero + zero, zero));
	assert(bitwise_equal(zero + minus_zero, zero));
	assert(bitwise_equal(zero + zero, zero));
	assert(bitwise_equal(minus_zero + minus_zero, minus_zero));
	/* ensure optimisation did not mess up */
	assert(!bitwise_equal(add_zero(minus_zero), minus_zero));
	assert(bitwise_equal(add_minus_zero(minus_zero), minus_zero));
	assert(bitwise_equal(add_minus_zero(zero), zero));
	assert(bitwise_equal(sub_zero(minus_zero), minus_zero));
	assert(bitwise_equal(sub_minus_zero(minus_zero), zero));
	}

	return 0;
}