JavaScript-Duktape-XS

 view release on metacpan or  search on metacpan

duktape.c  view on Meta::CPAN

	return 365 * (year - 1970) + duk__div_floor(year - 1969, 4) - duk__div_floor(year - 1901, 100) +
	       duk__div_floor(year - 1601, 400);
}

/* Given a day number, determine year and day-within-year. */
DUK_LOCAL duk_int_t duk__year_from_day(duk_int_t day, duk_small_int_t *out_day_within_year) {
	duk_int_t year;
	duk_int_t diff_days;

	/* estimate year upwards (towards positive infinity), then back down;
	 * two iterations should be enough
	 */

	if (day >= 0) {
		year = 1970 + day / 365;
	} else {
		year = 1970 + day / 366;
	}

	for (;;) {
		diff_days = duk__day_from_year(year) - day;

t/03_eval_in_loop.t  view on Meta::CPAN

        push @vms, $vm;

        # my $got = $vm->eval("2 * 2");
        # next if $got == $expected;
        # ok(0, "$got == $expected");
        # last;
    }
    my $t1 = Time::HiRes::gettimeofday();
    my $elapsed = 1000.0 * ($t1 - $t0);
    ok($count == $times,
       sprintf("did all %d iterations with reset=%d, %.0f ms, %.2fms each",
               $times, $do_reset ? 1 : 0, $elapsed, $elapsed / $times));
}

sub main {
    use_ok($CLASS);

    my $times = 100;
    test_eval($times, 1);
    test_eval($times, 0);
    done_testing;



( run in 1.103 second using v1.01-cache-2.11-cpan-71847e10f99 )