JavaScript-Duktape-XS
view release on metacpan or search on metacpan
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 )