mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 22:28:45 +01:00
Move clock into IO.
This commit is contained in:
@ -24,7 +24,7 @@ var minDepth = 4
|
||||
var maxDepth = 12
|
||||
var stretchDepth = maxDepth + 1
|
||||
|
||||
var start = OS.clock
|
||||
var start = IO.clock
|
||||
|
||||
IO.print("stretch tree of depth " + stretchDepth.toString + " check: " +
|
||||
new Tree(0, stretchDepth).check.toString)
|
||||
@ -53,4 +53,4 @@ while (depth < stretchDepth) {
|
||||
IO.print("long lived tree of depth " + maxDepth.toString + " check: " +
|
||||
longLivedTree.check.toString)
|
||||
|
||||
IO.print("elapsed: " + (OS.clock - start).toString)
|
||||
IO.print("elapsed: " + (IO.clock - start).toString)
|
||||
|
||||
@ -3,8 +3,8 @@ var fib = fn(n) {
|
||||
return fib.call(n - 1) + fib.call(n - 2)
|
||||
}
|
||||
|
||||
var start = OS.clock
|
||||
var start = IO.clock
|
||||
for (i in 1..5) {
|
||||
IO.print(fib.call(28))
|
||||
}
|
||||
IO.print("elapsed: " + (OS.clock - start).toString)
|
||||
IO.print("elapsed: " + (IO.clock - start).toString)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
var list = []
|
||||
|
||||
var start = OS.clock
|
||||
var start = IO.clock
|
||||
for (i in 0...1000000) list.add(i)
|
||||
|
||||
var sum = 0
|
||||
for (i in list) sum = sum + i
|
||||
|
||||
IO.print(sum)
|
||||
IO.print("elapsed: " + (OS.clock - start).toString)
|
||||
IO.print("elapsed: " + (IO.clock - start).toString)
|
||||
|
||||
@ -28,7 +28,7 @@ class NthToggle is Toggle {
|
||||
}
|
||||
}
|
||||
|
||||
var start = OS.clock
|
||||
var start = IO.clock
|
||||
var n = 100000
|
||||
var val = true
|
||||
var toggle = new Toggle(val)
|
||||
@ -66,4 +66,4 @@ for (i in 0...n) {
|
||||
|
||||
IO.print(ntoggle.value)
|
||||
|
||||
IO.print("elapsed: " + (OS.clock - start).toString)
|
||||
IO.print("elapsed: " + (IO.clock - start).toString)
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "wren_core.h"
|
||||
#include "wren_value.h"
|
||||
@ -731,12 +730,6 @@ DEF_NATIVE(string_subscript)
|
||||
RETURN_VAL(value);
|
||||
}
|
||||
|
||||
DEF_NATIVE(os_clock)
|
||||
{
|
||||
double time = (double)clock() / CLOCKS_PER_SEC;
|
||||
RETURN_NUM(time);
|
||||
}
|
||||
|
||||
static ObjClass* defineSingleClass(WrenVM* vm, const char* name)
|
||||
{
|
||||
size_t length = strlen(name);
|
||||
@ -899,9 +892,6 @@ void wrenInitializeCore(WrenVM* vm)
|
||||
NATIVE(vm->stringClass, "!= ", string_bangeq);
|
||||
NATIVE(vm->stringClass, "[ ]", string_subscript);
|
||||
|
||||
ObjClass* osClass = defineClass(vm, "OS");
|
||||
NATIVE(osClass->metaclass, "clock", os_clock);
|
||||
|
||||
wrenInterpret(vm, "Wren core library", libSource);
|
||||
|
||||
vm->listClass = AS_CLASS(findGlobal(vm, "List"));
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "wren_io.h"
|
||||
|
||||
@ -17,15 +18,21 @@ static const char* libSource =
|
||||
" }\n"
|
||||
"}\n";
|
||||
|
||||
static void writeString(WrenVM* vm)
|
||||
static void ioWriteString(WrenVM* vm)
|
||||
{
|
||||
const char* s = wrenGetArgumentString(vm, 1);
|
||||
// TODO: Check for null.
|
||||
printf("%s", s);
|
||||
}
|
||||
|
||||
static void ioClock(WrenVM* vm)
|
||||
{
|
||||
wrenReturnDouble(vm, (double)clock() / CLOCKS_PER_SEC);
|
||||
}
|
||||
|
||||
void wrenLoadIOLibrary(WrenVM* vm)
|
||||
{
|
||||
wrenInterpret(vm, "Wren IO library", libSource);
|
||||
wrenDefineStaticMethod(vm, "IO", "writeString_", 1, writeString);
|
||||
wrenDefineStaticMethod(vm, "IO", "writeString_", 1, ioWriteString);
|
||||
wrenDefineStaticMethod(vm, "IO", "clock", 0, ioClock);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user