Beispiel #1
0
/*
 * tool_execute - ツールの呼び出し
 */
int tool_execute(const HWND hWnd, TOOL_INFO *ti, const int call_type, DATA_INFO *di, TOOL_DATA_INFO *tdi)
{
	TOOL_DATA_INFO *wk_tdi = tdi;
	TOOL_EXEC_INFO *tei;
	int ctype = call_type;
	int ret = TOOL_ERROR;

	if (ti == NULL) {
		return TOOL_ERROR;
	}

	// ツール用アイテムの設定
	if (tdi == NULL) {
		wk_tdi = tool_data_copy(di, FALSE);
	}
	// フラグの設定
	if (wk_tdi != NULL && ((ctype & CALLTYPE_MENU) || (ctype & CALLTYPE_VIEWER))) {
		if (data_check(&history_data, wk_tdi->di) != NULL) {
			ctype |= CALLTYPE_HISTORY;
		} else if (data_check(&regist_data, wk_tdi->di) != NULL) {
			ctype |= CALLTYPE_REGIST;
		}
	}

	// 実行情報の設定
	if ((tei = mem_calloc(sizeof(TOOL_EXEC_INFO))) == NULL) {
		if (tdi == NULL) {
			tool_data_free(wk_tdi);
		}
		return TOOL_ERROR;
	}
	tei->struct_size = sizeof(TOOL_EXEC_INFO);
	tei->call_type = ctype;
	tei->cmd_line = ti->cmd_line;
	tei->lParam = ti->lParam;

	if (ti->old == 0) {
		if (ti->func != NULL) {
			// ツールの呼び出し
			ret = ti->func(hWnd, tei, wk_tdi);
		}
	} else {
		// 旧ツールの呼び出し
		ret = tool_call_func_old(hWnd, ti, ctype, wk_tdi);
	}

	ti->cmd_line = tei->cmd_line;
	ti->lParam = tei->lParam;
	mem_free(&tei);

	if (ret & TOOL_DATA_MODIFIED) {
		tool_data_reflect(ctype, wk_tdi);
	}
	if (tdi == NULL) {
		tool_data_free(wk_tdi);
	}
	return ret;
}
Beispiel #2
0
/**
 * Post event or status data message to mmonit
 * @param E An event object or NULL for status data
 * @return If failed, return HANDLER_MMONIT flag or HANDLER_SUCCEEDED flag if succeeded
 */
int handle_mmonit(Event_T E) {
        int       rv = HANDLER_MMONIT;
        Socket_T  socket = NULL;
        Mmonit_T  C = Run.mmonits;

        /* The event is sent to mmonit just once - only in the case that the state changed */
        if (! C || (E && ! E->state_changed))
                return HANDLER_SUCCEEDED;

        StringBuffer_T sb = StringBuffer_create(256);
        for (; C; C = C->next) {
                if (! (socket = socket_create_t(C->url->hostname, C->url->port, SOCKET_TCP, C->ssl, C->timeout))) {
                        LogError("M/Monit: cannot open a connection to %s -- %s\n", C->url->url, STRERROR);
                        goto error;
                }
                status_xml(sb, E, E ? LEVEL_SUMMARY : LEVEL_FULL, 2, socket_get_local_host(socket));
                if (! data_send(socket, C, StringBuffer_toString(sb))) {
                        LogError("M/Monit: cannot send %s message to %s\n", E ? "event" : "status", C->url->url);
                        goto error;
                }
                StringBuffer_clear(sb);
                socket_shutdown_write(socket);
                if (! data_check(socket, C)) {
                        LogError("M/Monit: %s message to %s failed\n", E ? "event" : "status", C->url->url);
                        goto error;
                }
                rv = HANDLER_SUCCEEDED; // Return success if at least one M/Monit succeeded
                DEBUG("M/Monit: %s message sent to %s\n", E ? "event" : "status", C->url->url);
error:
                if (socket)
                        socket_free(&socket);
        }
        StringBuffer_free(&sb);
        return rv;
}
Beispiel #3
0
int
main (void)
{
  DECL_FUNC (CC, f, mpc_sqr);
  test_start ();

  testsqr (247, -65, 8, 24);
  testsqr (5, -896, 3, 2);
  testsqr (-3, -512, 2, 16);
  testsqr (266013312, 121990769, 27, 0);
  testsqr (170, 9, 8, 0);
  testsqr (768, 85, 8, 16);
  testsqr (145, 1816, 8, 24);
  testsqr (0, 1816, 8, 24);
  testsqr (145, 0, 8, 24);

  data_check (f, "sqr.dat");
  tgeneric (f, 2, 1024, 1, 0);

  reuse_bug ();

  test_end ();

  return 0;
}
Beispiel #4
0
int
main (void)
{
    mp_prec_t p;

    MPFR_TEST_USE_RANDS ();
    tests_start_mpfr ();

    special ();
    particular_cases ();
    check_pow_ui ();
    check_pow_si ();
    check_special_pow_si ();
    pow_si_long_min ();
    for (p = 2; p < 100; p++)
        check_inexact (p);
    underflows ();
    overflows ();
    x_near_one ();

    test_generic (2, 100, 100);
    test_generic_ui (2, 100, 100);
    test_generic_si (2, 100, 100);

    data_check ("data/pow275", mpfr_pow275, "mpfr_pow275");

    tests_end_mpfr ();
    return 0;
}
Beispiel #5
0
/*
 * tool_data_reflect - ツール用アイテムを実体に反映
 */
static void tool_data_reflect(const int call_type, TOOL_DATA_INFO *tdi)
{
	DATA_INFO *di;

	for (; tdi != NULL; tdi = tdi->next) {
		di = tdi->di;
		if (((call_type & CALLTYPE_MENU) || (call_type & CALLTYPE_VIEWER)) &&
			(((call_type & CALLTYPE_HISTORY) && data_check(&history_data, di) == NULL) ||
			((call_type & CALLTYPE_REGIST) && data_check(&regist_data, di) == NULL))) {
			// リスト中にデータが見つからない
			continue;
		}
		data_menu_free_item(di);
		if (tdi->child != NULL) {
			tool_data_reflect(call_type, tdi->child);
		}
	}
}
int
main (int argc, char *argv[])
{
  mpfr_t x, y;

  tests_start_mpfr ();

  mpfr_init (x);
  mpfr_init (y);

  /* special values */
  mpfr_set_nan (x);
  mpfr_j1 (y, x, MPFR_RNDN);
  MPFR_ASSERTN(mpfr_nan_p (y));

  mpfr_set_inf (x, 1); /* +Inf */
  mpfr_j1 (y, x, MPFR_RNDN);
  MPFR_ASSERTN(mpfr_cmp_ui (y, 0) == 0 && MPFR_IS_POS (y));

  mpfr_set_inf (x, -1); /* -Inf */
  mpfr_j1 (y, x, MPFR_RNDN);
  MPFR_ASSERTN(mpfr_cmp_ui (y, 0) == 0 && MPFR_IS_POS (y));

  mpfr_set_ui (x, 0, MPFR_RNDN); /* +0 */
  mpfr_j1 (y, x, MPFR_RNDN);
  MPFR_ASSERTN(mpfr_cmp_ui (y, 0) == 0 && MPFR_IS_POS (y)); /* j1(+0)=+0 */

  mpfr_set_ui (x, 0, MPFR_RNDN);
  mpfr_neg (x, x, MPFR_RNDN); /* -0 */
  mpfr_j1 (y, x, MPFR_RNDN);
  MPFR_ASSERTN(mpfr_cmp_ui (y, 0) == 0 && MPFR_IS_NEG (y)); /* j1(-0)=-0 */

  mpfr_set_prec (x, 53);
  mpfr_set_prec (y, 53);

  mpfr_set_ui (x, 1, MPFR_RNDN);
  mpfr_j1 (y, x, MPFR_RNDN);
  mpfr_set_str_binary (x, "0.0111000010100111001001111011101001011100001100011011");
  if (mpfr_cmp (x, y))
    {
      printf ("Error in mpfr_j1 for x=1, rnd=MPFR_RNDN\n");
      printf ("Expected "); mpfr_dump (x);
      printf ("Got      "); mpfr_dump (y);
      exit (1);
    }
  mpfr_clear (x);
  mpfr_clear (y);

  test_generic (2, 100, 10);

  data_check ("data/j1", mpfr_j1, "mpfr_j1");

  tests_end_mpfr ();

  return 0;
}
Beispiel #7
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special_erf ();
  special_erfc ();
  large_arg ();
  test_erfc ();
  reduced_expo_range ();

  test_generic_erf (2, 100, 15);
  test_generic_erfc (2, 100, 15);

  data_check ("data/erf",  mpfr_erf,  "mpfr_erf");
  data_check ("data/erfc", mpfr_erfc, "mpfr_erfc");

  tests_end_mpfr ();
  return 0;
}
Beispiel #8
0
int
main (void)
{
  DECL_FUNC (CCS, f, mpc_pow_si);
  test_start ();
  data_check (f, "pow_si.dat");

  compare_mpc_pow (100, 5, 19);

  test_end ();

  return 0;
}
Beispiel #9
0
int
main (void)
{
  tests_start_mpfr ();

  special ();
  test_generic (2, 100, 2);

  data_check ("data/lgamma", mpfr_lgamma1, "mpfr_lgamma");

  tests_end_mpfr ();
  return 0;
}
Beispiel #10
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  check_nans ();
  check_exact ();
  check_float ();

  check53("6.9314718055994530941514e-1", "0.0", MPFR_RNDZ, "0.0");
  check53("0.0", "6.9314718055994530941514e-1", MPFR_RNDZ, "0.0");
  check_sign();
  check53("-4.165000000e4", "-0.00004801920768307322868063274915", MPFR_RNDN,
          "2.0");
  check53("2.71331408349172961467e-08", "-6.72658901114033715233e-165",
          MPFR_RNDZ, "-1.8251348697787782844e-172");
  check53("2.71331408349172961467e-08", "-6.72658901114033715233e-165",
          MPFR_RNDA, "-1.8251348697787786e-172");
  check53("0.31869277231188065", "0.88642843322303122", MPFR_RNDZ,
          "2.8249833483992453642e-1");
  check("8.47622108205396074254e-01", "3.24039313247872939883e-01", MPFR_RNDU,
        28, 45, 2, "0.375");
  check("8.47622108205396074254e-01", "3.24039313247872939883e-01", MPFR_RNDA,
        28, 45, 2, "0.375");
  check("2.63978122803639081440e-01", "6.8378615379333496093e-1", MPFR_RNDN,
        34, 23, 31, "0.180504585267044603");
  check("1.0", "0.11835170935876249132", MPFR_RNDU, 6, 41, 36,
        "0.1183517093595583");
  check53("67108865.0", "134217729.0", MPFR_RNDN, "9.007199456067584e15");
  check("1.37399642157394197284e-01", "2.28877275604219221350e-01", MPFR_RNDN,
        49, 15, 32, "0.0314472340833162888");
  check("4.03160720978664954828e-01", "5.854828e-1"
        /*"5.85483042917246621073e-01"*/, MPFR_RNDZ,
        51, 22, 32, "0.2360436821472831");
  check("3.90798504668055102229e-14", "9.85394674650308388664e-04", MPFR_RNDN,
        46, 22, 12, "0.385027296503914762e-16");
  check("4.58687081072827851358e-01", "2.20543551472118792844e-01", MPFR_RNDN,
        49, 3, 2, "0.09375");
  check_max();
  check_min();

  check_regression ();
  test_generic (2, 500, 100);

  data_check ("data/mulpi", mpfr_mulpi, "mpfr_mulpi");

  valgrind20110503 ();

  tests_end_mpfr ();
  return 0;
}
Beispiel #11
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special ();

  test_generic (2, 100, 30);

  data_check ("data/log2", mpfr_log2, "mpfr_log2");

  tests_end_mpfr ();
  return 0;
}
Beispiel #12
0
int
main (void)
{
    DECL_FUNC (FC, f, mpc_norm);

    test_start ();

    data_check (f, "norm.dat");
    tgeneric (f, 2, 1024, 1, 4096);

    test_end ();

    return 0;
}
Beispiel #13
0
int
main (void)
{
  DECL_FUNC (FC, f, mpc_abs);

  test_start ();

  tgeneric (f, 2, 1024, 1, 0);
  data_check (f, "abs.dat");

  test_end ();

  return 0;
}
int
main (void)
{
  DECL_FUNC (CC, f, mpc_sqrt);

  test_start ();

  data_check (f, "sqrt.dat");
  tgeneric (f, 2, 1024, 7, 256);

  test_end ();

  return 0;
}
Beispiel #15
0
int
main (void)
{
  DECL_FUNC (CCF, f, mpc_pow_fr);
  test_start ();

  test_reuse ();
  data_check (f, "pow_fr.dat");
  tgeneric (f, 2, 1024, 7, 10);

  test_end ();

  return 0;
}
Beispiel #16
0
int
main (void)
{
  DECL_FUNC (CC, f, mpc_asin);

  test_start ();

  data_check (f, "asin.dat");
  tgeneric (f, 2, 512, 7, 7);

  test_end ();

  return 0;
}
Beispiel #17
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special ();

  test_generic (2, 100, 100);

  data_check ("data/sinh", mpfr_sinh, "mpfr_sinh");

  tests_end_mpfr ();
  return 0;
}
Beispiel #18
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special ();

  test_generic (2, 100, 2);

  data_check ("data/digamma", mpfr_digamma, "mpfr_digamma");

  tests_end_mpfr ();
  return 0;
}
Beispiel #19
0
int
main (void)
{
  DECL_FUNC (CC, f, mpc_proj);

  test_start ();

  tgeneric (f, 2, 1024, 1, 4096);
  data_check (f, "proj.dat");

  test_end ();

  return 0;
}
Beispiel #20
0
int
main (void)
{
  DECL_FUNC (CC, f, mpc_log);

  test_start ();

  data_check (f, "log.dat");
  tgeneric (f, 2, 512, 7, 128);

  test_end ();

  return 0;
}
Beispiel #21
0
int
main (void)
{
  DECL_FUNC (CCF, f, mpc_add_fr);
  test_start ();

  check_ternary_value (1024, 1);

  data_check (f, "add_fr.dat");
  tgeneric (f, 2, 1024, 7, 10);

  test_end ();
  return 0;
}
Beispiel #22
0
int
main (void)
{
  DECL_FUNC (CC, f, mpc_tanh);

  test_start ();

  data_check (f, "tanh.dat");
  tgeneric (f, 2, 512, 7, 4);

  test_end ();

  return 0;
}
Beispiel #23
0
int
main (void)
{
  tests_start_mpfr ();

  tcc_bug20160606 ();

  special ();
  test_generic (MPFR_PREC_MIN, 100, 2);

  data_check ("data/lgamma", mpfr_lgamma1, "mpfr_lgamma");

  tests_end_mpfr ();
  return 0;
}
Beispiel #24
0
int
main (void)
{
  DECL_FUNC (C_CC, f, mpc_add);
  f.properties = FUNC_PROP_SYMETRIC;

  test_start ();

  check_ternary_value();
  data_check (f, "add.dat");
  tgeneric (f, 2, 1024, 7, -1);

  test_end ();

  return 0;
}
Beispiel #25
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special ();

  test_generic (2, 100, 100);

  data_check ("data/sinh", mpfr_sinh, "mpfr_sinh");
  bad_cases (mpfr_sinh, mpfr_asinh, "mpfr_sinh", 256, -256, 255,
             4, 128, 800, 100);

  tests_end_mpfr ();
  return 0;
}
int
main (void)
{
  tests_start_mpfr ();

  special ();
  bad_case1 ();
  test_generic (2, 300, 15);

  data_check ("data/rec_sqrt", mpfr_rec_sqrt, "mpfr_rec_sqrt");
  bad_cases (mpfr_rec_sqrt, pm2, "mpfr_rec_sqrt", 8, -256, 255, 4, 128,
             800, 50);

  tests_end_mpfr ();
  return 0;
}
int
main (void)
{
  DECL_FUNC (CC, f, mpc_atanh);

  test_start ();

  bug20091120 ();

  data_check (f, "atanh.dat");
  tgeneric (f, 2, 512, 5, 128);

  test_end ();

  return 0;
}
Beispiel #28
0
int
main (int argc, char *argv[])
{
  MPFR_TEST_USE_RANDS ();
  tests_start_mpfr ();

  special ();
  special_overflow ();
  test_generic (2, 100, 2);
  gamma_integer ();

  data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");

  tests_end_mpfr ();
  return 0;
}
Beispiel #29
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special_overflow ();
  special ();

  test_generic (2, 100, 100);

  data_check ("data/cosh", mpfr_cosh, "mpfr_cosh");
  bad_cases (mpfr_cosh, mpfr_acosh, "mpfr_cosh", 0, 1, 255, 4, 128, 800, 100);

  tests_end_mpfr ();
  return 0;
}
Beispiel #30
0
int
main (int argc, char *argv[])
{
  tests_start_mpfr ();

  special ();

  test_generic (2, 100, 100);

  data_check ("data/expm1", mpfr_expm1, "mpfr_expm1");
  bad_cases (mpfr_expm1, mpfr_log1p, "mpfr_expm1", 256, -256, 255,
             4, 128, 800, 40);

  tests_end_mpfr ();
  return 0;
}