/// <summary>
 /// Initializes a new instance of the LinXformSerializer class.
 /// </summary>
 /// <param name="config">LinXForm configuration.</param>
 protected LinXformSerializer(LinXformConfig config) :
     this()
 {
     Helper.ThrowIfNull(config);
     Config = config;
 }
        /// <summary>
        /// Create LinXForm serializer.
        /// </summary>
        /// <param name="config">LinXForm configuration.</param>
        /// <returns>LinXForm serializer.</returns>
        public static LinXformSerializer Create(LinXformConfig config)
        {
            Helper.ThrowIfNull(config);

            LinXformSerializer serializer = null;
            Debug.Assert(config.IsFixedPoint == false, "Only float point is supported here");

            if (serializer == null)
            {
                serializer = new LinXformSerializer(config);
            }

            return serializer;
        }