Browse Source

Update some samples

mingodad 6 years ago
parent
commit
50a92ab4d1

+ 1 - 1
SquiLu/samples/show-vars.nut

@@ -4,7 +4,7 @@ local function getMembersNotInBaseClass(klass, klass_members){
 	local bklass_members = {};
 	if(bklass) foreach(k,v in bklass) bklass_members[k] <- true;
 	foreach(k,v in klass) {
-		if(bklass_members.get(k, klass) == klass) { //not found
+		if(table_get(bklass_members, k, klass) == klass) { //not found
 			klass_members.push([k,v]);
 		}
 	}

+ 3 - 0
SquiLu/samples/sqtypedefs.nut

@@ -31,3 +31,6 @@ typedef void_ptr_t SQFuncState_ptr_t;
 typedef void_ptr_t SQObjectPtr_ptr_t;
 typedef void_ptr_t SQUserPointer;
 typedef void_ptr_t va_list;
+typedef class_t SQLocalVarInfo;
+typedef class_t SQFunctionProto;
+typedef struct_t FILE;

+ 41 - 31
SquiLu/samples/test-bitvector.nut

@@ -1,41 +1,43 @@
 auto bv_size = 800000;
 auto step = 1;
 
-auto sqBitVect = blob((bv_size / 8) + 512);
+const BITVEC_SZ = 8;
+auto sqBitVect = blob((bv_size / BITVEC_SZ) + 512);
+//auto sqBitVect = array_int8((bv_size / BITVEC_SZ) + 512);
 //sqBitVect.memset(0, 0, sqBitVect.len()-1);
 
-auto bitGet(bpos)
+int_t bitGet(size_t bpos)
 {
-	auto cpos = bpos/8;
-	auto b8 = 1 << (bpos%8);
+	auto cpos = bpos/BITVEC_SZ;
+	auto b8 = 1 << (bpos%BITVEC_SZ);
 	return sqBitVect[cpos] & b8;
 }
 
-auto bitSet(bpos)
+void bitSet(size_t bpos)
 {
-	auto cpos = bpos/8;
-	auto b8 = 1 << (bpos%8);
+	auto cpos = bpos/BITVEC_SZ;
+	auto b8 = 1 << (bpos%BITVEC_SZ);
 	sqBitVect[cpos] |= b8;
 }
  
-auto bitClear(bpos)
+void bitClear(size_t bpos)
 {
-	auto cpos = bpos/8;
-	auto b8 = 1 << (bpos%8);
+	auto cpos = bpos/BITVEC_SZ;
+	auto b8 = 1 << (bpos%BITVEC_SZ);
 	sqBitVect[cpos] &= (~b8);
 }
  
-auto bitTogle(bpos)
+void bitTogle(size_t bpos)
 {
-	auto cpos = bpos/8;
-	auto b8 = 1 << (bpos%8);
+	auto cpos = bpos/BITVEC_SZ;
+	auto b8 = 1 << (bpos%BITVEC_SZ);
 	sqBitVect[cpos] ^= b8;
 }
 
 auto bit_pos = 3;
 
-auto cpos = bit_pos/8;
-auto m8 = (bit_pos%8);
+auto cpos = bit_pos/BITVEC_SZ;
+auto m8 = (bit_pos%BITVEC_SZ);
 auto b8 = 1 << m8;
 
 print(bit_pos, cpos, m8, b8);
@@ -50,6 +52,8 @@ print(bitGet(bit_pos));
 
 print("===");
 ++bit_pos;
+if(type(sqBitVect) != "array")
+{
 print(sqBitVect.bitGet(bit_pos));
 sqBitVect.bitSet(bit_pos);
 print(sqBitVect.bitGet(bit_pos));
@@ -57,6 +61,7 @@ sqBitVect.bitClear(bit_pos);
 print(sqBitVect.bitGet(bit_pos));
 sqBitVect.bitTogle(bit_pos);
 print(sqBitVect.bitGet(bit_pos));
+}
 
 //return;
  
@@ -92,25 +97,29 @@ start_milli = os.getmillicount();
 for(auto i=0; i < bv_size; i+=step) bitGet(i);
 print("Time spent get sq", os.getmillicount() - start_milli);
 
-start_milli = os.getmillicount();
-for(auto i=0; i < bv_size; i+=step) sqBitVect.bitSet(i);
-print("Time spent set blob", os.getmillicount() - start_milli);
+auto cbitSet,  cbitGet;
 
-start_milli = os.getmillicount();
-for(auto i=0; i < bv_size; i+=step) sqBitVect.bitGet(i);
-print("Time spent get blob", os.getmillicount() - start_milli);
+if(type(sqBitVect) != "array")
+{
+	start_milli = os.getmillicount();
+	for(auto i=0; i < bv_size; i+=step) sqBitVect.bitSet(i);
+	print("Time spent set blob", os.getmillicount() - start_milli);
 
-auto cbitSet = sqBitVect.bitSet;
-auto cbitGet = sqBitVect.bitGet;
+	start_milli = os.getmillicount();
+	for(auto i=0; i < bv_size; i+=step) sqBitVect.bitGet(i);
+	print("Time spent get blob", os.getmillicount() - start_milli);
 
-start_milli = os.getmillicount();
-for(auto i=0; i < bv_size; i+=step) rawcall(cbitSet, sqBitVect, i);
-print("Time spent set rawcall blob", os.getmillicount() - start_milli);
+	cbitSet = sqBitVect.bitSet;
+	cbitGet = sqBitVect.bitGet;
 
-start_milli = os.getmillicount();
-for(auto i=0; i < bv_size; i+=step) rawcall(cbitGet, sqBitVect, i);
-print("Time spent get rawcall blob", os.getmillicount() - start_milli);
+	start_milli = os.getmillicount();
+	for(auto i=0; i < bv_size; i+=step) rawcall(cbitSet, sqBitVect, i);
+	print("Time spent set rawcall blob", os.getmillicount() - start_milli);
 
+	start_milli = os.getmillicount();
+	for(auto i=0; i < bv_size; i+=step) rawcall(cbitGet, sqBitVect, i);
+	print("Time spent get rawcall blob", os.getmillicount() - start_milli);
+}
 cbitSet = BitVector.set;
 cbitGet = BitVector.test;
 print(cbitSet, cbitGet);
@@ -124,9 +133,10 @@ start_milli = os.getmillicount();
 for(auto i=1; i <= bv_size; i+=step) rawcall(cbitGet, bv, i);
 print("Time spent get rawcall bv", os.getmillicount() - start_milli);
 
-bv = array(bv_size);
+//bv = array(bv_size);
+bv = array_int8(bv_size);
 start_milli = os.getmillicount();
-for(auto i=0; i < bv_size; i+=step) bv[i] = true;
+for(auto i=0; i < bv_size; i+=step) bv[i] = 1;
 print("Time spent set array", os.getmillicount() - start_milli);
 
 start_milli = os.getmillicount();

+ 2 - 0
SquiLu/samples/test-ifdef.nut

@@ -1,6 +1,8 @@
 #define NESTED_INCLUDE
 #ifdef NESTED_INCLUDE
 #include "test-array.nut"
+#else
+#include <stdio.h>
 #endif
 
 # define DEBUG