/** * Open up for internal Network API use. * Returns an {@link Encoder.Builder} which corresponds to the specified name. * @param encoderName * @return */ public IBuilder GetBuilder(string encoderName) { switch (encoderName) { case "CategoryEncoder": return(CategoryEncoder.GetBuilder()); case "CoordinateEncoder": return(CoordinateEncoder.GetBuilder()); case "GeospatialCoordinateEncoder": return(GeospatialCoordinateEncoder.GetGeobuilder()); case "LogEncoder": return(LogEncoder.GetBuilder()); case "PassThroughEncoder": return(PassThroughEncoder <int[]> .GetBuilder()); case "ScalarEncoder": return(ScalarEncoder.GetBuilder()); case "AdaptiveScalarEncoder": return(AdaptiveScalarEncoder.GetAdaptiveBuilder()); case "SparsePassThroughEncoder": return(SparsePassThroughEncoder.GetSparseBuilder()); case "SDRCategoryEncoder": return(SDRCategoryEncoder.GetBuilder()); case "RandomDistributedScalarEncoder": return(RandomDistributedScalarEncoder.GetBuilder()); case "DateEncoder": return(DateEncoder.GetBuilder()); case "DeltaEncoder": return(DeltaEncoder.GetDeltaBuilder()); case "SDRPassThroughEncoder": return(SDRPassThroughEncoder.GetSptBuilder()); default: throw new ArgumentException("Invalid encoder: " + encoderName); } }
public override IEncoder Build() { // Must be instantiated so that super class can initialize // boilerplate variables. encoder = new RandomDistributedScalarEncoder(); // Call super class here RandomDistributedScalarEncoder partialBuild = (RandomDistributedScalarEncoder)base.Build(); //////////////////////////////////////////////////////// // Implementing classes would do Setting of specific // // vars here together with any sanity checking // //////////////////////////////////////////////////////// partialBuild.SetSeed(seed); partialBuild.SetMaxOverlap(maxOverlap); partialBuild.SetMaxBuckets(maxBuckets); partialBuild.SetOffset(offset); partialBuild.SetNumRetry(0); partialBuild.Init(); return(partialBuild); }