コード例 #1
0
 public static DimensionalDomain FromDimension(DimensionDefinition dimensionDefinition)
 {
     return(new DimensionalDomain
     {
         dimension = dimensionDefinition
     });
 }
コード例 #2
0
        public bool TrySetDimension(int dimension)
        {
            if (DimensionLocked)
            {
                return(false);
            }

            Dimension = new DimensionDefinition(dimension);
            return(true);
        }
コード例 #3
0
        public static DimensionSet <BinaryRepresentation> RandomDimensionalBinaryValueInDomainRange(
            Domain domain,
            DimensionDefinition dimensionDefinition,
            int precision)
        {
            var numbers = new List <BinaryRepresentation>();

            for (var dimension = 1; dimension <= dimensionDefinition; dimension++)
            {
                var bitsNumber     = BinaryHelper.BitsNumberForDomainDimension(domain.GetDefinitionForDimension(dimension), precision);
                var representation = new StringBuilder();

                for (var i = 1; i <= bitsNumber; i++)
                {
                    var random = new Random(Guid.NewGuid().GetHashCode()).NextDouble();
                    var bit    = Round(random).ToString();
                    representation.Append(bit);
                }

                numbers.Add(BinaryRepresentation.Create(representation.ToString()));
            }

            return(new DimensionSet <BinaryRepresentation>(numbers));
        }
コード例 #4
0
        public static DimensionSet <double> RandomDimensionalValueInDomainRange(Domain domain, DimensionDefinition dimensionDefinition)
        {
            var numbers = new List <double>();

            for (var dimension = 1; dimension <= dimensionDefinition; dimension++)
            {
                var domainDefinition = domain.GetDefinitionForDimension(dimension);

                var rangeMultiplier = domainDefinition.End - domainDefinition.Start;
                var rangeDifference = domainDefinition.Start - 0;

                var random = new Random(DateTime.Now.Millisecond);

                numbers.Add(random.NextDouble() * rangeMultiplier + rangeDifference);
            }

            return(new DimensionSet <double>(numbers));
        }