private void CheckRegisterType(VfpuRegisterType registerType) { if (RegisterType != registerType) { throw new InvalidOperationException($"CheckRegisterType: {RegisterType} != {registerType}"); } }
private static string[] GetRegisterNames(VfpuRegisterType type, int size) { if (type == VfpuRegisterType.Cell && size == 1) { return(VfpuSregNames); } if (type == VfpuRegisterType.Vector && size == 2) { return(VfpuVpregNames); } if (type == VfpuRegisterType.Vector && size == 3) { return(VfpuVtregNames); } if (type == VfpuRegisterType.Vector && size == 4) { return(VfpuVqregNames); } if (type == VfpuRegisterType.Matrix && size == 2) { return(VfpuMpregNames); } if (type == VfpuRegisterType.Matrix && size == 3) { return(VfpuMtregNames); } if (type == VfpuRegisterType.Matrix && size == 4) { return(VfpuMqregNames); } throw new InvalidOperationException($"{type} + {size}"); }
public static uint GetRegisterIndexByName(VfpuRegisterType type, int size, string name) { // @TODO: Create a dictionary. var names = GetRegisterNames(type, size); return((uint)Array.IndexOf(names, name)); }
public static VfpuRegisterInfo FromVfpuRegisterInt(VfpuRegisterType type, int size, VfpuRegisterInt register) { if (type == VfpuRegisterType.Vector && size == 1) { type = VfpuRegisterType.Cell; } return(Parse(size, VfpuConstants.GetRegisterNameByIndex(type, size, register.Value))); }
public static string GetRegisterNameByIndex(VfpuRegisterType type, int size, uint register) { var registerName = GetRegisterNames(type, size)[register]; if (registerName == "") { throw new InvalidOperationException($"Invalid register {type}, {size}, {register}"); } return(registerName); }
private static string[] GetRegisterNames(VfpuRegisterType Type, int Size) { if (Type == VfpuRegisterType.Cell && Size == 1) return vfpu_sreg_names; if (Type == VfpuRegisterType.Vector && Size == 2) return vfpu_vpreg_names; if (Type == VfpuRegisterType.Vector && Size == 3) return vfpu_vtreg_names; if (Type == VfpuRegisterType.Vector && Size == 4) return vfpu_vqreg_names; if (Type == VfpuRegisterType.Matrix && Size == 2) return vfpu_mpreg_names; if (Type == VfpuRegisterType.Matrix && Size == 3) return vfpu_mtreg_names; if (Type == VfpuRegisterType.Matrix && Size == 4) return vfpu_mqreg_names; throw (new InvalidOperationException(String.Format("{0} + {1}", Type, Size))); }
public static string GetRegisterNameByIndex(VfpuRegisterType Type, int Size, uint Register) { var RegisterName = GetRegisterNames(Type, Size)[Register]; if (RegisterName == "") throw (new InvalidOperationException(String.Format("Invalid register {0}, {1}, {2}", Type, Size, Register))); return RegisterName; }
public static uint GetRegisterIndexByName(VfpuRegisterType Type, int Size, string Name) { // @TODO: Create a dictionary. var Names = GetRegisterNames(Type, Size); return (uint)Array.IndexOf(Names, Name); }
private void CheckRegisterType(VfpuRegisterType RegisterType) { if (this.RegisterType != RegisterType) { throw (new InvalidOperationException(String.Format("CheckRegisterType: {0} != {1}", this.RegisterType, RegisterType))); } }
public static VfpuRegisterInfo FromVfpuRegisterInt(VfpuRegisterType Type, int Size, VfpuRegisterInt Register) { if (Type == VfpuRegisterType.Vector && Size == 1) Type = VfpuRegisterType.Cell; return Parse(Size, VfpuConstants.GetRegisterNameByIndex(Type, Size, Register.Value)); throw (new NotImplementedException("FromVfpuRegisterInt")); }