Change ulong to long in processor's transistors as database contains signed value.

This commit is contained in:
2018-04-22 03:38:15 +01:00
parent cff905283a
commit 886ec34aaf
3 changed files with 93 additions and 6 deletions

View File

@@ -390,7 +390,7 @@ namespace Cicm.Database
Process = dataRow["process"] == DBNull.Value ? null : (string)dataRow["process"], Process = dataRow["process"] == DBNull.Value ? null : (string)dataRow["process"],
ProcessNm = dataRow["process_nm"] == DBNull.Value ? 0 : (float)dataRow["process_nm"], ProcessNm = dataRow["process_nm"] == DBNull.Value ? 0 : (float)dataRow["process_nm"],
DieSize = dataRow["die_size"] == DBNull.Value ? 0 : (float)dataRow["die_size"], DieSize = dataRow["die_size"] == DBNull.Value ? 0 : (float)dataRow["die_size"],
Transistors = dataRow["transistors"] == DBNull.Value ? 0 : (ulong)dataRow["transistors"], Transistors = dataRow["transistors"] == DBNull.Value ? 0 : (long)dataRow["transistors"],
AddressBus = dataRow["addr_bus"] == DBNull.Value ? 0 : (int)dataRow["addr_bus"], AddressBus = dataRow["addr_bus"] == DBNull.Value ? 0 : (int)dataRow["addr_bus"],
DataBus = dataRow["data_bus"] == DBNull.Value ? 0 : (int)dataRow["data_bus"], DataBus = dataRow["data_bus"] == DBNull.Value ? 0 : (int)dataRow["data_bus"],
Simd = dataRow["SIMD_registers"] == DBNull.Value ? 0 : (int)dataRow["SIMD_registers"], Simd = dataRow["SIMD_registers"] == DBNull.Value ? 0 : (int)dataRow["SIMD_registers"],

View File

@@ -91,6 +91,6 @@ namespace Cicm.Database.Schemas
/// <summary>How many simultaneos threads can run on each processor core</summary> /// <summary>How many simultaneos threads can run on each processor core</summary>
public int ThreadsPerCore; public int ThreadsPerCore;
/// <summary>How many transistors in package</summary> /// <summary>How many transistors in package</summary>
public ulong Transistors; public long Transistors;
} }
} }

View File

@@ -28,19 +28,77 @@
// Copyright © 2003-2018 Natalia Portillo // Copyright © 2003-2018 Natalia Portillo
*******************************************************************************/ *******************************************************************************/
using System;
using System.Collections.Generic; using System.Collections.Generic;
using Cicm.Database.Schemas;
namespace cicm_web.Models namespace cicm_web.Models
{ {
public class Processor public class Processor
{ {
public int AddressBus;
public Company Company;
public int Cores;
public int DataBus;
public float DieSize;
public int Fpr;
public int FprSize;
public int Gpr;
public int GprSize;
public int Id; public int Id;
public InstructionSet InstructionSet;
public InstructionSetExtension[] InstructionSetExtensions;
public DateTime Introduced;
public float L1Data;
public float L1Instruction;
public float L2;
public float L3;
public string ModelCode;
public string Name; public string Name;
public string Package;
public string Process;
public float ProcessNm;
public int Simd;
public int SimdSize;
public double Speed;
public int ThreadsPerCore;
public long Transistors;
public static Processor GetItem(int id) public static Processor GetItem(int id)
{ {
Cicm.Database.Schemas.Processor dbItem = Program.Database?.Operations.GetProcessor(id); Cicm.Database.Schemas.Processor dbItem = Program.Database?.Operations.GetProcessor(id);
return dbItem == null ? null : new Processor {Name = dbItem.Name, Id = dbItem.Id}; return dbItem == null
? null
: new Processor
{
AddressBus = dbItem.AddressBus,
Name = dbItem.Name,
Company = Company.GetItem(dbItem.Company.Id),
Cores = dbItem.Cores,
DataBus = dbItem.DataBus,
DieSize = dbItem.DieSize,
Fpr = dbItem.Fpr,
FprSize = dbItem.FprSize,
Gpr = dbItem.Gpr,
GprSize = dbItem.GprSize,
InstructionSet = dbItem.InstructionSet,
InstructionSetExtensions = dbItem.InstructionSetExtensions,
Introduced = dbItem.Introduced,
L1Data = dbItem.L1Data,
L1Instruction = dbItem.L1Instruction,
L2 = dbItem.L2,
L3 = dbItem.L3,
ModelCode = dbItem.ModelCode,
Package = dbItem.Package,
Process = dbItem.Process,
ProcessNm = dbItem.ProcessNm,
Simd = dbItem.Simd,
SimdSize = dbItem.SimdSize,
Speed = dbItem.Speed,
ThreadsPerCore = dbItem.ThreadsPerCore,
Transistors = dbItem.Transistors,
Id = dbItem.Id
};
} }
public static Processor[] GetAllItems() public static Processor[] GetAllItems()
@@ -52,7 +110,36 @@ namespace cicm_web.Models
List<Processor> items = new List<Processor>(); List<Processor> items = new List<Processor>();
foreach(Cicm.Database.Schemas.Processor dbItem in dbItems) foreach(Cicm.Database.Schemas.Processor dbItem in dbItems)
items.Add(new Processor {Id = dbItem.Id, Name = dbItem.Name}); items.Add(new Processor
{
AddressBus = dbItem.AddressBus,
Name = dbItem.Name,
Company = Company.GetItem(dbItem.Company.Id),
Cores = dbItem.Cores,
DataBus = dbItem.DataBus,
DieSize = dbItem.DieSize,
Fpr = dbItem.Fpr,
FprSize = dbItem.FprSize,
Gpr = dbItem.Gpr,
GprSize = dbItem.GprSize,
InstructionSet = dbItem.InstructionSet,
InstructionSetExtensions = dbItem.InstructionSetExtensions,
Introduced = dbItem.Introduced,
L1Data = dbItem.L1Data,
L1Instruction = dbItem.L1Instruction,
L2 = dbItem.L2,
L3 = dbItem.L3,
ModelCode = dbItem.ModelCode,
Package = dbItem.Package,
Process = dbItem.Process,
ProcessNm = dbItem.ProcessNm,
Simd = dbItem.Simd,
SimdSize = dbItem.SimdSize,
Speed = dbItem.Speed,
ThreadsPerCore = dbItem.ThreadsPerCore,
Transistors = dbItem.Transistors,
Id = dbItem.Id
});
return items.ToArray(); return items.ToArray();
} }