2019-09-21 10:49:35 -07:00
|
|
|
//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-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static StructA operator+(StructA lhs, float rhs)
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
StructA newVal = .();
|
|
|
|
newVal.mA = lhs.mA + (int)rhs;
|
|
|
|
return newVal;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructB
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static bool operator==(StructA lhs, StructB rhs)
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
return lhs.mA == rhs.mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructC
|
|
|
|
{
|
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static operator StructD(StructC val)
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
StructD conv;
|
|
|
|
conv.mA = val.mA;
|
|
|
|
return conv;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructD
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static operator StructD(StructC val)
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
StructC conv;
|
|
|
|
conv.mA = val.mA;
|
|
|
|
return conv;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructE
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
|
|
|
public int mA;
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static operator StructD(StructE val)
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
StructC conv;
|
|
|
|
conv.mA = val.mA;
|
|
|
|
return conv;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
class ClassA
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructK
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct StructL : StructK
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
public int mA;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
struct Checker
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
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-09-29 09:21:51 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static int CheckItSpan(int* iPtr, int len)
|
2019-09-29 09:21:51 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
Span<int> span = .(iPtr, len);
|
2019-09-29 09:21:51 -07:00
|
|
|
|
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-09-29 09:21:51 -07:00
|
|
|
}
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
public static int CheckItSpanOpt(int* iPtr, int len)
|
2019-09-29 09:21:51 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
OptSpan<int> span = .(iPtr, len);
|
2019-09-29 09:21:51 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
int acc = 0;
|
|
|
|
for (int i < len)
|
2019-09-29 09:21:51 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
acc += span[i];
|
2019-09-29 09:21:51 -07:00
|
|
|
}
|
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-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
return val.GetHashCode();
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
|
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-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
return 0;
|
2019-09-21 10:49:35 -07:00
|
|
|
}
|
|
|
|
|
2019-09-29 07:44:39 -07:00
|
|
|
public static int32 Hey()
|
2019-09-21 10:49:35 -07:00
|
|
|
{
|
2019-11-25 06:48:19 -08:00
|
|
|
TypeCode tc = .Boolean;
|
|
|
|
//int h = GetHash(tc);
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
var val = tc.Underlying;
|
|
|
|
var valRef = ref tc.UnderlyingRef;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
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-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
String str = new:gCRTAlloc String(a);
|
2019-09-21 10:49:35 -07:00
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
delete:gCRTAlloc str;
|
2019-09-21 10:49:35 -07:00
|
|
|
|
|
|
|
|
2019-11-25 06:48:19 -08:00
|
|
|
return 123;
|
2019-09-29 07:44:39 -07:00
|
|
|
}
|
2019-09-21 10:49:35 -07:00
|
|
|
|
|
|
|
}
|