Browse Source

Add new samples

mingodad 7 years ago
parent
commit
aa58aeebe9

+ 31 - 0
SquiLu/samples/test-array.nut

@@ -47,3 +47,34 @@ local sar = ["1","2","3","4","5","6","7","8","9"];
 foreach(v in sar) print(sar.bsearch(v));
 foreach(v in sar) print(sar.bsearch(v));
 print(sar.bsearch("0"));
 print(sar.bsearch("0"));
 print(sar.bsearch("10"));
 print(sar.bsearch("10"));
+
+local array_size = 1000;
+ar = array(array_size);
+for(local i=0; i < array_size; ++i) ar[i] = i;
+
+local sum, start_time;
+
+start_time = os.clock();
+sum = 0;
+foreach(elm in ar) sum += elm;
+print("Time spent", os.clock() - start_time, sum);
+
+start_time = os.clock();
+sum = 0;
+foreach(elm in ar) sum += ar[elm];
+print("Time spent", os.clock() - start_time, sum);
+
+start_time = os.clock();
+sum = 0;
+foreach(elm in ar) sum += ar.get(elm);
+print("Time spent", os.clock() - start_time, sum);
+
+start_time = os.clock();
+sum = 0;
+for(local i=0; i < array_size; ++i) sum += ar[i];
+print("Time spent", os.clock() - start_time, sum);
+
+start_time = os.clock();
+sum = 0;
+for(local i=0; i < array_size; ++i) sum += ar.get(i);
+print("Time spent", os.clock() - start_time, sum);

+ 17 - 27
SquiLu/samples/test-bitvector.nut

@@ -15,21 +15,21 @@ auto bitSet(bpos)
 {
 {
 	auto cpos = bpos/8;
 	auto cpos = bpos/8;
 	auto b8 = 1 << (bpos%8);
 	auto b8 = 1 << (bpos%8);
-	sqBitVect[cpos] = sqBitVect[cpos] | b8;
+	sqBitVect[cpos] |= b8;
 }
 }
  
  
 auto bitClear(bpos)
 auto bitClear(bpos)
 {
 {
 	auto cpos = bpos/8;
 	auto cpos = bpos/8;
 	auto b8 = 1 << (bpos%8);
 	auto b8 = 1 << (bpos%8);
-	sqBitVect[cpos] = sqBitVect[cpos] & (~b8);
+	sqBitVect[cpos] &= (~b8);
 }
 }
  
  
 auto bitTogle(bpos)
 auto bitTogle(bpos)
 {
 {
 	auto cpos = bpos/8;
 	auto cpos = bpos/8;
 	auto b8 = 1 << (bpos%8);
 	auto b8 = 1 << (bpos%8);
-	sqBitVect[cpos] = sqBitVect[cpos] ^ b8;
+	sqBitVect[cpos] ^= b8;
 }
 }
 
 
 auto bit_pos = 3;
 auto bit_pos = 3;
@@ -65,80 +65,70 @@ auto bv = BitVector(bv_size);
 print(bv);
 print(bv);
 
 
 auto start_milli = os.getmillicount();
 auto start_milli = os.getmillicount();
-
 for(auto i=1; i <= bv_size; i+=step) bv.set(i);
 for(auto i=1; i <= bv_size; i+=step) bv.set(i);
+print("Time spent set bv a", os.getmillicount() - start_milli);
 
 
-print("Time spent set bv", os.getmillicount() - start_milli);
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
+for(auto i=1; i <= bv_size; i+=step) bv[i] = false;
+print("Time spent set bv b", os.getmillicount() - start_milli);
 
 
-for(auto i=1; i <= bv_size; i+=step) bv.test(i);
+start_milli = os.getmillicount();
+for(auto i=1; i <= bv_size; i+=step) bv[i] = true;
+print("Time spent set bv c", os.getmillicount() - start_milli);
 
 
-print("Time spent get bv", os.getmillicount() - start_milli);
+start_milli = os.getmillicount();
+for(auto i=1; i <= bv_size; i+=step) bv.test(i);
+print("Time spent get bv a", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
+for(auto i=1; i <= bv_size; i+=step) bv[i];
+print("Time spent get bv b", os.getmillicount() - start_milli);
 
 
+start_milli = os.getmillicount();
 for(auto i=0; i < bv_size; i+=step) bitSet(i);
 for(auto i=0; i < bv_size; i+=step) bitSet(i);
-
 print("Time spent set sq", os.getmillicount() - start_milli);
 print("Time spent set sq", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=0; i < bv_size; i+=step) bitGet(i);
 for(auto i=0; i < bv_size; i+=step) bitGet(i);
-
 print("Time spent get sq", os.getmillicount() - start_milli);
 print("Time spent get sq", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=0; i < bv_size; i+=step) sqBitVect.bitSet(i);
 for(auto i=0; i < bv_size; i+=step) sqBitVect.bitSet(i);
-
 print("Time spent set blob", os.getmillicount() - start_milli);
 print("Time spent set blob", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=0; i < bv_size; i+=step) sqBitVect.bitGet(i);
 for(auto i=0; i < bv_size; i+=step) sqBitVect.bitGet(i);
-
 print("Time spent get blob", os.getmillicount() - start_milli);
 print("Time spent get blob", os.getmillicount() - start_milli);
 
 
-start_milli = os.getmillicount();
 auto cbitSet = sqBitVect.bitSet;
 auto cbitSet = sqBitVect.bitSet;
 auto cbitGet = sqBitVect.bitGet;
 auto cbitGet = sqBitVect.bitGet;
 
 
+start_milli = os.getmillicount();
 for(auto i=0; i < bv_size; i+=step) rawcall(cbitSet, sqBitVect, i);
 for(auto i=0; i < bv_size; i+=step) rawcall(cbitSet, sqBitVect, i);
-
 print("Time spent set rawcall blob", os.getmillicount() - start_milli);
 print("Time spent set rawcall blob", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=0; i < bv_size; i+=step) rawcall(cbitGet, sqBitVect, i);
 for(auto i=0; i < bv_size; i+=step) rawcall(cbitGet, sqBitVect, i);
-
 print("Time spent get rawcall blob", os.getmillicount() - start_milli);
 print("Time spent get rawcall blob", os.getmillicount() - start_milli);
 
 
-start_milli = os.getmillicount();
 cbitSet = BitVector.set;
 cbitSet = BitVector.set;
 cbitGet = BitVector.test;
 cbitGet = BitVector.test;
 print(cbitSet, cbitGet);
 print(cbitSet, cbitGet);
 //bv = BitVector(bv_size);
 //bv = BitVector(bv_size);
 
 
+start_milli = os.getmillicount();
 for(auto i=1; i <= bv_size; i+=step) rawcall(cbitSet, bv, i);
 for(auto i=1; i <= bv_size; i+=step) rawcall(cbitSet, bv, i);
-
 print("Time spent set rawcall bv", os.getmillicount() - start_milli);
 print("Time spent set rawcall bv", os.getmillicount() - start_milli);
 
 
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=1; i <= bv_size; i+=step) rawcall(cbitGet, bv, i);
 for(auto i=1; i <= bv_size; i+=step) rawcall(cbitGet, bv, i);
-
 print("Time spent get rawcall bv", os.getmillicount() - start_milli);
 print("Time spent get rawcall bv", os.getmillicount() - start_milli);
 
 
 bv = array(bv_size);
 bv = array(bv_size);
 start_milli = os.getmillicount();
 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] = true;
-
 print("Time spent set array", os.getmillicount() - start_milli);
 print("Time spent set array", os.getmillicount() - start_milli);
 
 
-
 start_milli = os.getmillicount();
 start_milli = os.getmillicount();
-
 for(auto i=0; i < bv_size; i+=step) bv[i];
 for(auto i=0; i < bv_size; i+=step) bv[i];
-
 print("Time spent get array", os.getmillicount() - start_milli);
 print("Time spent get array", os.getmillicount() - start_milli);

+ 13 - 0
SquiLu/samples/test-decimal.nut

@@ -9,6 +9,19 @@ print(f1+f1+f1-f2);
 local d = Decimal();
 local d = Decimal();
 print(d.isnan(), d.iszero(), d.isodd(), d.iseven());
 print(d.isnan(), d.iszero(), d.isodd(), d.iseven());
 
 
+auto saved_prec = Decimal.context.prec();
+print(saved_prec);
+Decimal.context.prec(56);
+print(Decimal(2).sqrt());
+print(Decimal(2).sqrt().pow(Decimal(2)));
+local decpi = Decimal("3.1415926535897932384626433832795028841971693993751058209749445923078164062862090");
+print(decpi.context.prec());
+print("decpi", decpi);
+local decpi2 = Decimal("3.1415926535897932384626433832795028841971693993751058209749445923078164062862090");
+print("decpi2", decpi2);
+print(decpi == decpi2);
+Decimal.context.prec(saved_prec);
+
 local dec1 = Decimal("1.1");
 local dec1 = Decimal("1.1");
 local dec2 = Decimal("2.2");
 local dec2 = Decimal("2.2");
 print(dec1, dec2, dec1 + dec2)
 print(dec1, dec2, dec1 + dec2)

+ 8 - 0
SquiLu/samples/test-enum-type.nut

@@ -4,3 +4,11 @@
   print("opt", opt, option_type.OPT_INT);
   print("opt", opt, option_type.OPT_INT);
   print(type(opt));
   print(type(opt));
 }
 }
+{
+	enum bug {ba, bs="bug", bc};
+	print(bug.ba, bug.bs, bug.bc);
+}
+{
+	enum bug2 {bs="bug", ba, bc};
+	print(bug2.ba, bug2.bs, bug2.bc);
+}