Beispiel #1
0
        public void Test2(ComputeInstance instance)
        {
            instance.Clear();

            instance.Variables.Add("a", 2);
            instance.Variables.Add("b", 5);

            instance.AddExpression <int>("c", "a + b");      // 7    9   12
            instance.AddExpression <int>("d", "b");          // 5    7   7
            instance.AddExpression <int>("e", "c + b");      // 12   16  19
            instance.AddExpression <int>("f", "a + e");      // 14   18  24
            instance.AddExpression <int>("g", "c + e");      // 19   25
            instance.AddExpression <int>("h", "e + d");      // 17   23
            instance.AddExpression <int>("i", "g + f + h");  // 50   66

            var result = instance.GetResult("i");

            Assert.AreEqual(50, result);

            instance.Variables["b"] = 7;

            result = instance.GetResult("i");
            Assert.AreEqual(66, result);

            instance.Variables["a"] = 5;

            result = instance.GetResult("f");
            Assert.AreEqual(24, result);
        }
Beispiel #2
0
        public void Squares(ComputeInstance instance)
        {
            instance.Clear();

            instance.Variables.Add("a", 3);
            instance.AddExpression("square", "a^2");
            var result = instance.GetResult("square");

            Assert.AreEqual(9, result);

            instance.Variables["a"] = 2;
            result = instance.GetResult("square");
            Assert.AreEqual(4, result);

            instance.AddExpression("ssquare", "square^2");
            result = instance.GetResult("ssquare");
            Assert.AreEqual(16, result);

            instance.Variables["a"] = 7;

            result = instance.GetResult("square");
            Assert.AreEqual(49, result);
            result = instance.GetResult("ssquare");
            Assert.AreEqual(2401, result);
        }
Beispiel #3
0
        public void Test1(ComputeInstance instance)
        {
            instance.Clear();

            instance.Variables["a"] = 10;
            instance.Variables["b"] = 5;

            instance.AddExpression("c", "a");
            instance.AddExpression("d", "a + b");
            instance.AddExpression("e", "c + d");
            instance.AddExpression("f", "e + 1");

            var result = instance.GetResult("f");

            Assert.AreEqual(26, result);

            instance.Variables["b"] = 1;

            result = instance.GetResult("f");
            Assert.AreEqual(22, result);

            instance.Variables["a"] = 5;

            result = instance.GetResult("f");
            Assert.AreEqual(12, result);
        }
    public Chunk(Material materialInstance, byte size, ComputeInstance ci, float3 pos)
    {
        mapSize = size;
        myMat   = materialInstance;

        noiseMap = new NativeArray <float>((size + 1) * (size + 1) * (size + 1), Allocator.Persistent);

        computeInstance = ci;

        Generate(pos);
    }
Beispiel #5
0
        public string ListComputers()
        {
            int    count = 0;
            string str   = "These are the computers -> ";

            foreach (var f in ServiceinstanceCache.InstanceCache)
            {
                if (count > 0)
                {
                    str += ",";
                }
                ComputeInstance x = f.Value;
                str += "['" + x.instanceName + "," + x.zoneId + "," + x.imageName;
                str += "," + x.machineType + "," + x.inetInterface + "']";
                count++;
            }
            return(str);
        }
Beispiel #6
0
        public void RealLiteralDataTypeTest()
        {
            _instance = new ComputeInstance(new ComputeInstanceOptions()
            {
                ExpressionOptions = new ExpressionBuilderOptions
                {
                    RealLiteralDataType = RealLiteralDataType.Decimal
                }
            });
            _instance.AddExpression("a", "4.0");
            Assert.AreEqual(typeof(decimal), _instance.GetResult("a").GetType());

            _instance = new ComputeInstance(new ComputeInstanceOptions()
            {
                ExpressionOptions = new ExpressionBuilderOptions
                {
                    RealLiteralDataType = RealLiteralDataType.Single
                }
            });
            _instance.AddExpression("a", "4.0");
            Assert.AreEqual(typeof(Single), _instance.GetResult("a").GetType());
        }
Beispiel #7
0
        public void ModifyExpressions_Updates_Dependencies()
        {
            var instance = new ComputeInstance();

            instance.Variables.Add("a", 10);
            instance.Variables.Add("b", 5);

            instance.AddExpression <int>("c", "a");
            instance.AddExpression <int>("d", "a + b");
            instance.AddExpression <int>("e", "c + d");
            instance.AddExpression <int>("f", "e + 1");

            var result = instance.GetResult("f");

            Assert.AreEqual(26, result);

            instance.SetExpression <int>("d", "a + a");

            result = instance.GetResult("d");
            Assert.AreEqual(20, result);

            result = instance.GetResult("f");
            Assert.AreEqual(31, result);
        }
Beispiel #8
0
 public override void ApplyToShaders(ComputeInstance computeInstance, MaterialInstance materialInstance)
 {
     base.ApplyToShaders(computeInstance, materialInstance);
     computeInstance.SetBuffer("stars", starsCompute);
     materialInstance.SetBuffer("stars", starsCompute);
 }
Beispiel #9
0
 public void PostCompute([FromBody] ComputeInstance cs)
 {
     ServiceinstanceCache.InstanceCache.TryAdd(cs.instanceName, cs);
     return;
 }