1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-28 20:46:00 +02:00
Beef/IDE/mintest/src/main3.bf

167 lines
2.2 KiB
Beef
Raw Normal View History

//GORB
#pragma warning disable 168
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
//#define A
//#define B
2019-11-25 06:48:19 -08:00
struct StructA
{
2019-11-25 06:48:19 -08:00
public int mA;
2019-11-25 06:48:19 -08:00
public static StructA operator+(StructA lhs, float rhs)
{
2019-11-25 06:48:19 -08:00
StructA newVal = .();
newVal.mA = lhs.mA + (int)rhs;
return newVal;
}
}
2019-11-25 06:48:19 -08:00
struct StructB
{
2019-11-25 06:48:19 -08:00
public int mA;
2019-11-25 06:48:19 -08:00
public static bool operator==(StructA lhs, StructB rhs)
{
2019-11-25 06:48:19 -08:00
return lhs.mA == rhs.mA;
}
}
2019-11-25 06:48:19 -08:00
struct StructC
{
public int mA;
2019-11-25 06:48:19 -08:00
public static operator StructD(StructC val)
{
2019-11-25 06:48:19 -08:00
StructD conv;
conv.mA = val.mA;
return conv;
}
}
2019-11-25 06:48:19 -08:00
struct StructD
{
2019-11-25 06:48:19 -08:00
public int mA;
2019-11-25 06:48:19 -08:00
public static operator StructD(StructC val)
{
2019-11-25 06:48:19 -08:00
StructC conv;
conv.mA = val.mA;
return conv;
}
}
2019-11-25 06:48:19 -08:00
struct StructE
{
public int mA;
2019-11-25 06:48:19 -08:00
public static operator StructD(StructE val)
{
2019-11-25 06:48:19 -08:00
StructC conv;
conv.mA = val.mA;
return conv;
}
}
2019-11-25 06:48:19 -08:00
class ClassA
{
2019-11-25 06:48:19 -08:00
public int mA;
}
2019-11-25 06:48:19 -08:00
struct StructK
{
}
2019-11-25 06:48:19 -08:00
struct StructL : StructK
{
2019-11-25 06:48:19 -08:00
public int mA;
}
2019-11-25 06:48:19 -08:00
struct Checker
{
2019-11-25 06:48:19 -08:00
public static int CheckIt(int* iPtr, int len)
2019-09-29 07:44:39 -07:00
{
2019-11-25 06:48:19 -08:00
int acc = 0;
for (int i < len)
{
acc += iPtr[i];
}
return acc;
2019-09-29 07:44:39 -07:00
}
2019-11-25 06:48:19 -08:00
public static int CheckItSpan(int* iPtr, int len)
{
2019-11-25 06:48:19 -08:00
Span<int> span = .(iPtr, len);
2019-11-25 06:48:19 -08:00
int acc = 0;
for (int i < len)
2019-10-09 16:20:09 -07:00
{
2019-11-25 06:48:19 -08:00
acc += span[i];
2019-10-09 16:20:09 -07:00
}
2019-11-25 06:48:19 -08:00
return acc;
}
2019-11-25 06:48:19 -08:00
public static int CheckItSpanOpt(int* iPtr, int len)
{
2019-11-25 06:48:19 -08:00
OptSpan<int> span = .(iPtr, len);
2019-11-25 06:48:19 -08:00
int acc = 0;
for (int i < len)
{
2019-11-25 06:48:19 -08:00
acc += span[i];
}
2019-11-25 06:48:19 -08:00
return acc;
2019-10-09 16:20:09 -07:00
}
2019-09-29 07:44:39 -07:00
}
2019-10-09 16:20:09 -07:00
struct Blurg
2019-09-29 07:44:39 -07:00
{
2019-11-25 06:48:19 -08:00
static int GetHash<T>(T val) where T : IHashable
{
2019-11-25 06:48:19 -08:00
return val.GetHashCode();
}
2019-11-25 06:48:19 -08:00
public static int32 LongCall(
int abcdefghijklmnopqrstuvwxyz0,
int abcdefghijklmnopqrstuvwxyz1,
int abcdefghijklmnopqrstuvwxyz2,
int abcdefghijklmnopqrstuvwxyz3,
int abcdefghijklmnopqrstuvwxyz4,
int abcdefghijklmnopqrstuvwxyz5,
int abcdefghijklmnopqrstuvwxyz6,
int abcdefghijklmnopqrstuvwxyz7,
int abcdefghijklmnopqrstuvwxyz8,
int abcdefghijklmnopqrstuvwxyz9
)
{
2019-11-25 06:48:19 -08:00
return 0;
}
2019-09-29 07:44:39 -07:00
public static int32 Hey()
{
2019-11-25 06:48:19 -08:00
TypeCode tc = .Boolean;
//int h = GetHash(tc);
2019-11-25 06:48:19 -08:00
var val = tc.Underlying;
var valRef = ref tc.UnderlyingRef;
2019-11-25 06:48:19 -08:00
let maxVal = typeof(TypeCode).MaxValue;
2019-10-09 16:20:09 -07:00
2019-11-25 06:48:19 -08:00
int a = 100;
2019-11-25 06:48:19 -08:00
String str = new:gCRTAlloc String(a);
2019-11-25 06:48:19 -08:00
delete:gCRTAlloc str;
2019-11-25 06:48:19 -08:00
return 123;
2019-09-29 07:44:39 -07:00
}
}