using System;
class CpuInfo {
public static void Main(string[] args)
{
Yeppp.CpuArchitecture architecture = Yeppp.Library.GetCpuArchitecture();
Console.WriteLine("Architecture: {0}", architecture.Description);
Yeppp.CpuVendor vendor = Yeppp.Library.GetCpuVendor();
Console.WriteLine("Vendor: {0}", vendor.Description);
Yeppp.CpuMicroarchitecture microarchitecture = Yeppp.Library.GetCpuMicroarchitecture();
Console.WriteLine("Microarchitecture: {0}", microarchitecture.Description);
if (architecture.CpuIsaFeatures.GetEnumerator().MoveNext()) {
Console.WriteLine("CPU ISA extensions:");
foreach (Yeppp.CpuIsaFeature isaFeature in architecture.CpuIsaFeatures)
{
Console.WriteLine(String.Format("\t{0, -60}\t{1}", isaFeature.Description + ":", (Yeppp.Library.IsSupported(isaFeature) ? "Yes" : "No")));
}
}
if (architecture.CpuSimdFeatures.GetEnumerator().MoveNext()) {
Console.WriteLine("CPU SIMD extensions:");
foreach (Yeppp.CpuSimdFeature simdFeature in architecture.CpuSimdFeatures)
{
Console.WriteLine(String.Format("\t{0, -60}\t{1}", simdFeature.Description + ":", (Yeppp.Library.IsSupported(simdFeature) ? "Yes" : "No")));
}
}
if (architecture.CpuSystemFeatures.GetEnumerator().MoveNext()) {
Console.WriteLine("Non-ISA CPU and system features:");
foreach (Yeppp.CpuSystemFeature systemFeature in architecture.CpuSystemFeatures)
{
Console.WriteLine(String.Format("\t{0, -60}\t{1}", systemFeature.Description + ":", (Yeppp.Library.IsSupported(systemFeature) ? "Yes" : "No")));
}
}
}
}