int
main(void)
{
	double d, z[4];
	int i, nbad;

	static ADVar a, b, c, x, y, *v[3] = {&a, &b, &c};
	static ADVar **V[4] = {v, v+1, v+2, v};
	static size_t np[4] = {1, 1, 1, 3};
	static double w[3] = { 1., 1., 1. };
	static double *W[4] = {w, w, w, w};

	nbad = 0;
	for(d = 1.; d <= 2.; ++d) {
		printf("\nd = %g\n", d);
		x = 2;
		y = 3;
		a = foo(d,x,y);
		b = goo(d,x,y);
		c = a + b;

		ADVar::Outvar_Gradcomp(a);
		printf("a = %g\n", a.val());
		printf("da/dx = %g\n", x.adj());
		printf("da/dy = %g\n", y.adj());
		nbad += acheck(0, d, a.val(), x.adj(), y.adj());
		z[0] = a.val();

		ADVar::Outvar_Gradcomp(b);
		printf("b = %g\n", b.val());
		printf("db/dx = %g\n", x.adj());
		printf("db/dy = %g\n", y.adj());
		nbad += acheck(1, d, b.val(), x.adj(), y.adj());
		z[1] = b.val();

		ADVar::Outvar_Gradcomp(c);
		printf("c = %g (should be a + b)\n", c.val());
		printf("dc/dx = %g\n", x.adj());
		printf("dc/dy = %g\n", y.adj());
		nbad += acheck(2, d, c.val(), x.adj(), y.adj());
		z[2] = c.val();
		z[3] = z[0] + z[1] + z[2];

		ADVar::Weighted_GradcompVec(4,np,V,W);
		for(i = 0; i < 4; ++i) {
			printf("w %d:\td/dx = %g\td/dy = %g\n", i, x.adj(i), y.adj(i));
			nbad += acheck(i, d, z[i], x.adj(i), y.adj(i));
			}
		}
	if (nbad == 0)
		printf("\nExample passed!\n");
	else
		printf("\nSomething is wrong, example failed!\n");
	return nbad > 0;
	}
Beispiel #2
0
int main() {
    int T;
    scanf("%d", &T);
    while(T--) {
        scanf("%s%s", a, b);
        if(check(a, b)) puts("friends");
        else if(acheck(a, b) || acheck(b, a)) puts("almost friends");
        else puts("nothing");
    }
    return 0;
}
Beispiel #3
0
void
random_init ()
{
  if (initialized)
    random_update ();
  else {
    random_start ();
    while (!nupdates)
      acheck ();
  }
}
Beispiel #4
0
void
rndkbd (const str &msg)
{
  if (msg)
    warnx << msg << "\n";

  warnx << "\nI need secret bits with which to"
    " seed the random number generator.\n"
    "Please type some random or unguessable text until you hear a beep:\n";
  bool finished = false;
  if (!getkbdnoise (64, &rnd_input, wrap (&setbool, &finished)))
    fatal << "no tty\n";
  while (!finished)
    acheck ();
}