public static extern int algorithm_Algorithm_run(UpdaterTypes updater_type, IntPtr ising, IsingTypes ising_type, GraphTypes graph_type, FloatTypes float_type, IntPtr random_number_engine, IntPtr schedule_list);
public override INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> GetTopValue() { INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> result; result = TopNumericalDomain <BoxedVariable <Variable>, BoxedExpression> .Singleton; if (this.myOptions.AnalyzeFloats) { var fp = new IntervalEnvironment_IEEE754 <BoxedVariable <Variable>, BoxedExpression>(this.ExpressionManager); var fpTypes = new FloatTypes <BoxedVariable <Variable>, BoxedExpression>(this.ExpressionManager); var refined = new RefinedWithIntervalsIEEE <INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression>, BoxedVariable <Variable>, BoxedExpression>(fp, result, this.ExpressionManager); result = new RefinedWithFloatTypes <RefinedWithIntervalsIEEE <INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression>, BoxedVariable <Variable>, BoxedExpression>, BoxedVariable <Variable>, BoxedExpression>(fpTypes, refined, this.ExpressionManager); } return(result); }
public static extern int result_get_solution(IntPtr ising, IsingTypes ising_type, GraphTypes graph_type, FloatTypes float_type, out IntPtr spins);
public static void InspectProperty(PropertyInfo info, object value) { var type = info.PropertyType; if (IntegerTypes.Contains(type)) { var v = Convert.ToInt32(info.GetValue(value)); var n = EditorGUILayout.IntField(v); if (type == typeof(uint)) { info.SetValue(value, (uint)n); } if (type == typeof(ushort)) { info.SetValue(value, (ushort)n); } if (type == typeof(short)) { info.SetValue(value, (short)n); } if (type == typeof(byte)) { info.SetValue(value, (byte)n); } if (type == typeof(int)) { info.SetValue(value, n); } return; } if (LongTypes.Contains(type)) { info.SetValue(value, EditorGUILayout.LongField((long)info.GetValue(value))); return; } if (FloatTypes.Contains(type)) { info.SetValue(value, EditorGUILayout.FloatField((float)info.GetValue(value))); return; } if (DoubleTypes.Contains(type)) { info.SetValue(value, EditorGUILayout.DoubleField((double)info.GetValue(value))); return; } if (type == typeof(bool)) { info.SetValue(value, EditorGUILayout.Toggle((bool)info.GetValue(value))); return; } if (type == typeof(NiString)) { var niString = (NiString)info.GetValue(value); var index = niString.Index; EditorGUILayout.LabelField($"Index: {(index == uint.MaxValue ? "Null" : index.ToString())}"); return; } if (type.Name.StartsWith("Ptr")) { var ptr = info.GetValue(value); var indexInfo = ptr.GetType().GetField("Index"); if (indexInfo == null) { EditorGUILayout.LabelField($"Failed to load ptr"); return; } var index = (int)indexInfo.GetValue(ptr); EditorGUILayout.LabelField($"Index: {(index == -1 ? "Null" : index.ToString())}"); return; } if (type == typeof(Vector3)) { var v = (Vector3)info.GetValue(value); v.x = EditorGUILayout.FloatField(v.x); v.y = EditorGUILayout.FloatField(v.y); v.z = EditorGUILayout.FloatField(v.z); info.SetValue(value, v); return; } if (type == typeof(Color3)) { var v = (Color3)info.GetValue(value); v.r = EditorGUILayout.FloatField(v.r); v.g = EditorGUILayout.FloatField(v.g); v.b = EditorGUILayout.FloatField(v.b); info.SetValue(value, v); return; } if (type == typeof(Vector4)) { var v = (Vector4)info.GetValue(value); v.x = EditorGUILayout.FloatField(v.x); v.y = EditorGUILayout.FloatField(v.y); v.z = EditorGUILayout.FloatField(v.z); v.w = EditorGUILayout.FloatField(v.w); info.SetValue(value, v); return; } EditorGUILayout.LabelField("Unsupported type!"); }