/// <summary> /// The select. /// </summary> /// <param name="exportType"> /// The export. /// </param> /// <returns> /// The <see cref="IEnumerable{T}" />. /// </returns> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { foreach (MethodInfo methodInfo in exportType.ImplementType.GetMethods(AopConstants.DefaultBindingFlags)) { var attr = methodInfo.GetCustomAttribute<InjectAttribute>(); if (attr == null) continue; var meta = attr.CreateMetadata(); if (methodInfo.GetParameters().Length == 1) { yield return new ImportMetadata( attr.Interface, attr.ContractName, exportType, methodInfo.Name, attr.Optional, meta); } else { meta.Add(AopConstants.ParameterMetadataName, Helper.MapParameters(methodInfo).ToArray()); yield return new ImportMetadata( null, null, exportType, methodInfo.Name, false, meta); } } }
/// <summary> /// The select import. /// </summary> /// <param name="exportType"> /// The export type. /// </param> /// <returns> /// The <see cref="IEnumerable" />. /// </returns> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { Contract.Requires<ArgumentNullException>(exportType != null, "exportType"); Contract.Ensures(Contract.Result<IEnumerable<ImportMetadata>>() != null); return null; }
/// <summary> /// The select. /// </summary> /// <param name="exportType"> /// The export. /// </param> /// <returns> /// The <see cref="IEnumerable{T}" />. /// </returns> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { var metadatas = new HashSet<ImportMetadata>(); foreach (ImportMetadata importMetadata in _selectors.SelectMany(selector => selector.SelectImport(exportType))) metadatas.Add(importMetadata); return metadatas; }
/// <summary> /// The select. /// </summary> /// <param name="exportType"> /// The export. /// </param> /// <returns> /// The <see cref="IEnumerable{T}" />. /// </returns> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { return from fieldInfo in exportType.ImplementType.GetFields(AopConstants.DefaultBindingFlags) let attr = fieldInfo.GetCustomAttribute<InjectAttribute>() where attr != null select new ImportMetadata( attr.Interface, attr.ContractName, exportType, fieldInfo.Name, attr.Optional, attr.CreateMetadata()); }
public DefaultBuildContext(IExport targetExport, BuildMode mode, IContainer container, string contractName, ErrorTracer errorTracer, BuildParameter[] parameters, IResolverExtension[] resolverExtensions) { Contract.Requires<ArgumentNullException>(targetExport != null, "targetExport"); Contract.Requires<ArgumentNullException>(container != null, "container"); Contract.Requires<ArgumentNullException>(errorTracer != null, "errorTracer"); Metadata = targetExport.GetNamedExportMetadata(contractName); errorTracer.Export = Metadata.ToString(); ExportType = targetExport.ImplementType; Target = null; BuildCompled = false; Policys = new PolicyList(); Mode = mode; Container = container; ErrorTracer = errorTracer; Parameters = parameters; ResolverExtensions = resolverExtensions; }
public void When_ResistorModel_Expect_Reference() { // Bug found by Marcin Golebiowski ResistorModel model; Resistor res; var ckt = new Circuit( new CurrentSource("I1", "0", "a", 1), model = new ResistorModel("RM1"), res = new Resistor("R1", "a", "0", "RM1")); model.Parameters.DefaultWidth = 0.5e-6; model.Parameters.Narrow = 0.1e-6; model.Parameters.SheetResistance = 20; res.Parameters.Length = 5e-6; var op = new OP("op"); var exports = new IExport <double>[] { new RealVoltageExport(op, "a") }; var references = new[] { 245.0 }; AnalyzeOp(op, ckt, exports, references); DestroyExports(exports); }
/// <summary> /// The select. /// </summary> /// <param name="exportType"> /// The export. /// </param> /// <returns> /// The <see cref="IEnumerable{T}" />. /// </returns> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { foreach (EventInfo eventInfo in exportType.ImplementType.GetEvents(AopConstants.DefaultBindingFlags)) { var attr = eventInfo.GetCustomAttribute<InjectEventAttribute>(); if (attr != null) { yield return new ImportMetadata( eventInfo.EventHandlerType, attr.Topic, exportType, eventInfo.Name, true, null); } } foreach (MethodInfo methodInfo in exportType.ImplementType.GetMethods(AopConstants.DefaultBindingFlags)) { var attr = methodInfo.GetCustomAttribute<InjectEventAttribute>(); if (attr == null) continue; yield return new ImportMetadata( methodInfo.GetType(), attr.Topic, exportType, methodInfo.Name, true, new Dictionary<string, object> { {AopConstants.EventMetodMetadataName, true}, {AopConstants.EventTopicMetadataName, attr.Topic} }); } }
private async void MainForm_Load(object sender, EventArgs e) { lblStatus.Text = "Загрузка настроек. Ожидайте"; Export = new ExportExcel(); this.AppSettingsReader = new Models.AppSettingsReader(); AppSettings = await AppSettingsReader.ExecuteAsync(); cbServers.DataSource = AppSettings.ServersDataSource; cbServers.DisplayMember = "Name"; cbServers.ValueMember = "SysName"; cbServers.Enabled = true; //cbServers.Invoke(new Action(() => //{ // cbServers.DataSource = serversDataSource; // cbServers.DisplayMember = "Name"; // cbServers.ValueMember = "SysName"; // cbServers.Enabled = true; //})); lblStatus.Text = "Настройки загружены"; }
/// <summary> /// 根据导出文件的路径export实例对象 /// </summary> /// <returns></returns> private IExport getExportClass(string path) { if (path == "无") { MessageBox.Show("请选择输出路径!"); return(null); } //根据给定的文件扩展名,来决定生成不同类型的对象 IExport export = null; if (path.EndsWith(".jpg")) { export = new ExportJPEGClass(); } else if (path.EndsWith(".tiff")) { export = new ExportTIFFClass(); } else if (path.EndsWith(".bmp")) { export = new ExportBMPClass(); } else if (path.EndsWith(".emf")) { export = new ExportEMFClass(); } else if (path.EndsWith(".png")) { export = new ExportPNGClass(); } else if (path.EndsWith(".gif")) { export = new ExportGIFClass(); } return(export); }
/// <summary> /// 输出图片 /// </summary> /// <param name="activeView"></param> /// <param name="outPath">图片输出的完整路径,路径扩展名应为jpg,tiff,bmp,emf,png,gif,pdf,eps,ai,svg之一</param> /// <param name="resolution">图片分辨率(每英寸点数)</param> /// <returns></returns> public static bool ExportToPicture(this IActiveView activeView, string outPath, double resolution = 300) { IExport export = CreateExport(outPath, resolution); tagRECT exportRECT = activeView.ExportFrame; export.PixelBounds = new EnvelopeClass { XMin = exportRECT.left, YMin = exportRECT.top, XMax = exportRECT.right, YMax = exportRECT.bottom }; //activeView.Output(int hDC, int dpi, ref tagRECT pixelBounds, ref IEnvelope visibleBounds, ref ITrackCancel trackCancel); //hDC - 输出设备 //dpi - 每英寸点数(分辨率)。如果为0,则默认为hDC的分辨率。如果无法采样,则默认为窗口分辨率 //pixelBounds - 以像素为单位指定的设备矩形 //VisibleBounds - 缩放范围。如果传递Null,则默认为当前可见范围 //如果要将数据框绘制到640x480位图,请指定以下参数值: // dpi - 0 // pixelBounds - { 0, 0, 640, 480 } // visible bounds -0 //如果要创建在300 DPI打印机上打印8.5 x 11的位图,请指定以下参数值: // dpi - 300 // pixel bounds - { 0, 0, 8.5 * dpi, 11 * dpi } // visible bounds -0 //如果要缩放到某个位置并在300x300位图上绘制,请指定以下参数值: // dpi - 0 // pixel bounds - { 0, 0, 300, 300 } // visible bounds - { -45.0, 44.0, -44.0, 45.0 } activeView.Output(export.StartExporting(), (int)export.Resolution, ref exportRECT, null, null); export.FinishExporting(); export.Cleanup(); return(true); }
public HttpResponseMessage Download() { IList <ReferencesSchool> list = Service.GetAll(); IList <RefsFileDto> dtos = RefsFileDto.ToDtos(list); ErrMsg msg = new ErrMsg(); ExcelConfiguration cfg = new ExcelConfiguration(); cfg.TemplatePath = ConfigurationManager.AppSettings["refsDataPath"]; cfg.TemplateRowIndex = 1; IExport export = ExcelFactory.Instance().GetExcelExporter(cfg, msg); byte[] data = export.Export <RefsFileDto>(dtos); MemoryStream ms = new MemoryStream(data); HttpResponseMessage res = new HttpResponseMessage(HttpStatusCode.OK); res.Content = new StreamContent(ms); res.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); res.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "refs_file.xlsx" }; return(res); }
/// <summary> /// 测试初始化 /// </summary> public ExportPerformanceTest() { _export = ExportFactory.CreateExcel2007Export(); _list = OfficeTest.CreateList2(); }
/// <summary> /// This function provides a safe way to async-execute any exporter to write to a file directly. /// </summary> /// <param name="exp">The exporter to be used.</param> /// <param name="tt">A readonly copy of the current timetable.</param> /// <param name="filename"></param> /// <param name="pluginInterface">A reduced PluginInterface that provides limited core features from FPledit.</param> /// <param name="flags">Exporter flags.</param> /// <returns>A Task that has not been started yet, which can be used to execute the exporter.</returns> public static Task <bool> GetAsyncSafeExport(this IExport exp, Timetable tt, string filename, IReducedPluginInterface pluginInterface, string[]?flags = null) => new Task <bool>(() => exp.SafeExport(tt, filename, pluginInterface, flags));
public SimpleBuildPrameter([NotNull] object obj) { _export = DefaultExportFactory.Factory.CreateAnonymosWithTarget(obj.GetType(), obj); }
/// <summary> /// エクスポート実行 /// </summary> /// <param name="export"></param> public void Export(IExport export) { _WorkAreaManager.ActiveContent?.Export(export); }
/// <summary> /// The build up. /// </summary> /// <param name="export"> /// The export. /// </param> /// <param name="contractName"> /// The contract name. /// </param> /// <param name="tracer"></param> /// <param name="buildParameters"></param> /// <returns> /// The <see cref="object" />. /// </returns> public object BuildUp(IExport export, string contractName, ErrorTracer tracer, BuildParameter[] buildParameters) { Contract.Requires<ArgumentNullException>(export != null, "export"); lock (export) { try { tracer.Phase = "Begin Building Up"; var context = new DefaultBuildContext(export, BuildMode.Resolve, container, contractName, tracer, buildParameters, _componentRegistry.GetAll<IResolverExtension>().ToArray()); var buildObject = new BuildObject(export.ImportMetadata, context.Metadata, buildParameters); Pipeline.Build(context); if (tracer.Exceptional) return null; buildObject.Instance = context.Target; if (!export.ExternalInfo.External && !export.ExternalInfo.HandlesLiftime) RebuildManager.AddBuild(buildObject); Contract.Assume(context.Target != null); return context.Target; } catch (Exception e) { tracer.Exceptional = true; tracer.Exception = e; return null; } } }
public ValidationErrorSeed(IExport export) { _export = export; }
public static ManageUsersViewModel LoadManageUsersViewModel(IUserServices iUserServices, IExport iexport) { ManageUsersViewModel manageUsersViewModel = new ManageUsersViewModel(iUserServices, iexport); manageUsersViewModel.LoadUsers(); return(manageUsersViewModel); }
/// <summary> /// エクスポート実行 /// </summary> /// <param name="export"></param> public bool Export(IExport export) => export.Export(_Model);
/// <summary> /// Предоставляет класс для работы с СУБД MySql. /// </summary> /// <param name="connection">Строка подключения к СУБД</param> public MySqlDB(string connection) { this.connection = connection; this.Export = new MySqlExport(this); this.Entities = new MySqlGetter(this); }
//Constructor: assigns strategy to interface public ExportContext(IExport strategy) { this.exportInterface = strategy; }
//使用IActiveView.Output方法输出 //Width和Hight用于设置输出的图片尺寸,默认为0则使用ActiveView.ExportFrame //VisibleBounds用于设置待输出的地图范围,默认为null则使用ActiveView.Extent private void ActiveViewOutput(IActiveView docActiveView, int iOutputResolution, int Width, int Height, IEnvelope VisibleBounds, string sExportFileName, IExport docExport) { docExport.ExportFileName = sExportFileName; if (iOutputResolution <= 0) iOutputResolution = 96; if (Width <= 0 || Height <= 0) { Width = docActiveView.ExportFrame.right; Height = docActiveView.ExportFrame.bottom; if (Width == 0) Width = 1024; if (Height == 0) Height = 768; Width = (Width * iOutputResolution) / 96; Height = (Height * iOutputResolution) / 96; } docExport.Resolution = iOutputResolution; ESRI.ArcGIS.esriSystem.tagRECT exportRECT = new ESRI.ArcGIS.esriSystem.tagRECT(); exportRECT.left = 0; exportRECT.top = 0; exportRECT.right = Width; exportRECT.bottom = Height; IEnvelope envelope = new EnvelopeClass(); envelope.PutCoords(exportRECT.left, exportRECT.top, exportRECT.right, exportRECT.bottom); docExport.PixelBounds = envelope; System.Int32 hDC = docExport.StartExporting(); docActiveView.Output(hDC, iOutputResolution, ref exportRECT, VisibleBounds, null); docExport.FinishExporting(); docExport.Cleanup(); }
public SimpleBuildPrameter([CanBeNull] IExport export) { _export = export; }
/// <summary> /// Exports the map extent. /// </summary> /// <param name="activeView">The active view.</param> /// <param name="outRect">The out rect.</param> /// <param name="sOutputPath">The output file path.</param> /// <param name="dResolution">The d resolution.</param> /// <returns><c>true</c> if succeed, <c>false</c> otherwise.</returns> public bool ExportMapExtent(IActiveView activeView, Size outRect, string sOutputPath, double dResolution) { bool result; try { if (activeView == null) { result = false; } else { IExport export = null; if (sOutputPath.EndsWith(".jpg")) { export = new ExportJPEGClass(); } else if (sOutputPath.EndsWith(".tif")) { export = new ExportTIFFClass(); } else if (sOutputPath.EndsWith(".bmp")) { export = new ExportBMPClass(); } else if (sOutputPath.EndsWith(".emf")) { export = new ExportEMFClass(); } else if (sOutputPath.EndsWith(".png")) { export = new ExportPNGClass(); } else if (sOutputPath.EndsWith(".gif")) { export = new ExportGIFClass(); } export.ExportFileName = sOutputPath; IEnvelope extent = activeView.Extent; export.Resolution = dResolution; tagRECT tagRECT = default(tagRECT); tagRECT.left = (tagRECT.top = 0); tagRECT.right = outRect.Width; tagRECT.bottom = (int)((double)tagRECT.right * extent.Height / extent.Width); IEnvelope envelope = new EnvelopeClass(); envelope.PutCoords((double)tagRECT.left, (double)tagRECT.top, (double)tagRECT.right, (double)tagRECT.bottom); export.PixelBounds = envelope; ITrackCancel trackCancel = new CancelTrackerClass(); export.TrackCancel = trackCancel; trackCancel.Reset(); trackCancel.CancelOnKeyPress = true; trackCancel.CancelOnClick = false; trackCancel.ProcessMessages = true; int hDC = export.StartExporting(); activeView.Output(hDC, (int)((short)export.Resolution), ref tagRECT, extent, trackCancel); bool flag = trackCancel.Continue(); if (flag) { export.FinishExporting(); export.Cleanup(); } else { export.Cleanup(); } flag = trackCancel.Continue(); result = true; } } catch (Exception ex) { string message = ex.Message; result = false; } return(result); }
/// <summary> /// The select import. /// </summary> /// <param name="exportType"> /// The export type. /// </param> /// <returns> /// The <see cref="IEnumerable" />. /// </returns> /// <exception cref="NotImplementedException"> /// </exception> public IEnumerable<ImportMetadata> SelectImport(IExport exportType) { throw new NotImplementedException(); }
/// <summary> /// The register. /// </summary> /// <param name="exportType"> /// The export. /// </param> /// <param name="level"></param> public void Register(IExport exportType, int level) { _exports.Register(exportType, level); }
/// <summary> /// The register. /// </summary> /// <param name="exportType"> /// The export type. /// </param> /// <param name="level"></param> /// <exception cref="NotImplementedException"> /// </exception> public void Register(IExport exportType, int level) { Contract.Requires<ArgumentNullException>(exportType != null, "exportType"); throw new NotImplementedException(); }
//导出 private void btnOK_Click(object sender, EventArgs e) { if (tbxSavePath.Text.Trim() == "" || !tbxSavePath.Text.Trim().Contains("\\")) { MessageBox.Show("请选择正确的输出路径!", "提示"); return; } IExport pExport = null; try { switch (pSimpleFiletype) { case "tif": pExport = new ExportTIFF() as IExport; break; case "EMF": pExport = new ExportEMF() as IExport; break; case "eps": pExport = new ExportPS() as IExport; break; case "ai": pExport = new ExportAI() as IExport; break; case "pdf": pExport = new ExportPDF() as IExport; break; case "svg": pExport = new ExportSVG() as IExport; break; case "bmp": pExport = new ExportBMP() as IExport; break; case "jpg": pExport = new ExportEMF() as IExport; break; case "png": pExport = new ExportPNG() as IExport; break; case "gif": pExport = new ExportGIF() as IExport; break; default: return; } pExport.ExportFileName = pSavePath; pExport.Resolution = pResolution; tagRECT pTagRECT; pTagRECT = pActiveView.ExportFrame; IPrintAndExport printAndExport = new PrintAndExport(); printAndExport.Export(pActiveView, pExport, pResolution, false, null); Marshal.ReleaseComObject(pExport); MessageBox.Show("导出成功!", "提示"); } catch (COMException ex) { MessageBox.Show("导出失败\n" + ex.Message, "错误"); return; } }
public EsfExport(IExport export, ILogger logger) : base(new ValidMdbContext(), export, logger, Constants.TaskExportEsfTables, 6) { }
/// <summary> /// 写入当前切片级别地理坐标系切片 /// </summary> /// <param name="i"></param> /// <param name="tileFileInfo"></param> /// <param name="outPutDir"></param> public static void WriteGeoLevel(int i, TileFileInfo tileFileInfo, string outPutDir) { IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactory(); IWorkspace pWs = workspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(tileFileInfo.filePath), 0); IFeatureClass pFeatureClass = (pWs as IFeatureWorkspace).OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(tileFileInfo.filePath)); IFeatureLayer featureLayer = new FeatureLayerClass { FeatureClass = pFeatureClass }; IDataset dataSet = (IDataset)pFeatureClass; featureLayer.Name = dataSet.Name; IMap map = new MapClass(); map.AddLayer(featureLayer); IMapControlDefault pMapControl = new MapControlClass(); pMapControl.Map = map; IActiveView pActiveView = pMapControl.ActiveView; tagRECT rect = new tagRECT(); rect.left = rect.top = 0; rect.right = 256; rect.bottom = 256; IExport pExport = null; IEnvelope pEnvelope = new EnvelopeClass(); string temp = i.ToString(); if (temp.Length < 2) { temp = "0" + temp; } System.IO.DirectoryInfo LevelDir = new System.IO.DirectoryInfo(outPutDir).CreateSubdirectory($"L{temp}"); pMapControl.MapScale = TileParam.TileParamProjCoordinateSystem.TileScales[i]; pMapControl.Refresh(); Console.WriteLine($"Level:L{temp}:分辨率{TileParam.TileParamGeoCoordinateSystem.TileResolutions[i]}"); double imageHeighy = TileParam.TileParamGeoCoordinateSystem.TileResolutions[i] * TileParam.TileParamGeoCoordinateSystem.TileSize; for (int dy = 1, iRnum = 0; TileParam.TileOriginGeo.OriginY - imageHeighy * dy > tileFileInfo.MinY - imageHeighy; dy++, iRnum++) { if (TileParam.TileOriginGeo.OriginY - imageHeighy * dy > tileFileInfo.MaxY) { continue; } string tmpy = iRnum.ToString("X"); while (tmpy.Length < 8) { tmpy = "0" + tmpy; } Console.WriteLine($"--行号:R{tmpy}"); System.IO.DirectoryInfo RowDir = LevelDir.CreateSubdirectory($"R{tmpy}"); for (int dx = 1, iCnum = 0; TileParam.TileOriginGeo.OriginX + imageHeighy * dx < tileFileInfo.MaxX + imageHeighy; dx++, iCnum++) { if (TileParam.TileOriginGeo.OriginX + imageHeighy * dx < tileFileInfo.MinX) { continue; } string tmpx = iCnum.ToString("X"); while (tmpx.Length < 8) { tmpx = "0" + tmpx; } try { pEnvelope.PutCoords(TileParam.TileOriginGeo.OriginX + imageHeighy * (dx - 1), TileParam.TileOriginGeo.OriginY - imageHeighy * dy, TileParam.TileOriginGeo.OriginX + imageHeighy * dx, TileParam.TileOriginGeo.OriginY - imageHeighy * (dy - 1)); pExport = ToExporter("PNG"); pExport.ExportFileName = RowDir.FullName + "\\C" + tmpx + ".png"; Console.WriteLine($"----列号:C{tmpx} {pExport.ExportFileName}"); pExport.Resolution = 96; IEnvelope pPixelBoundsEnv = new EnvelopeClass(); pPixelBoundsEnv.PutCoords(rect.left, rect.top, rect.right, rect.bottom); pExport.PixelBounds = pPixelBoundsEnv; //开始导出,获取DC int hDC = pExport.StartExporting(); //导出 pActiveView.Output(hDC, 96, ref rect, pEnvelope, null); //结束导出 pExport.FinishExporting(); //清理导出类 pExport.Cleanup(); RealeaseAO(pExport); RealeaseAO(pPixelBoundsEnv); } catch (Exception ex) { Helpers.ErrorHelper.PrintException(ex); } } } RealeaseAO(workspaceFactory); RealeaseAO(pWs); RealeaseAO(pFeatureClass); RealeaseAO(featureLayer); RealeaseAO(map); RealeaseAO(pMapControl); }
private static bool IsViewModelForType([CanBeNull] this IExport <object> item, [CanBeNull] Type viewModel, [CanBeNull] object role) { var metadata = new DataTemplateMetadata(item?.Metadata); return((metadata.DataType == viewModel) && RoleEquals(metadata.Role, role)); }
public FCAAlgoritm(IExport export) { _export = export; Context = export.ToMatrix(); }
public void When_BreakpointsTransient_Expect_Reference() { // Build the circuit var ckt = new Circuit( new VoltageSource("V1", "in", "0", new Pulse(0, 5, 1e-7, 1e-7, 1e-7, 1e-5, 2e-5)), new VoltageDelay("Delay1", "out", "0", "in", "0", 0.5e-5) // This will make the delay element add a breakpoint when the input changes rapidly .SetParameter("reltol", 0.5) ); // Build the simulation var tran = new Transient("tran", 1e-7, 10e-5); var exports = new IExport <double>[] { new GenericExport <double>(tran, () => tran.GetState <IIntegrationMethod>().Time), new RealVoltageExport(tran, "in"), new RealVoltageExport(tran, "out"), }; var references = new[] { new[] { 0, 1E-09, 2E-09, 4E-09, 8E-09, 1.6E-08, 3.2E-08, 6.4E-08, 1E-07, 1.064E-07, 1.192E-07, 1.448E-07, 1.96E-07, 2E-07, 2.08E-07, 2.24E-07, 2.55999999999999E-07, 3.19999999999999E-07, 4.47999999999997E-07, 7.03999999999994E-07, 1.21599999999999E-06, 2.23999999999998E-06, 4.23999999999998E-06, 5.1E-06, 5.11E-06, 5.13E-06, 5.17E-06, 5.2E-06, 5.208E-06, 5.224E-06, 5.256E-06, 5.32E-06, 5.448E-06, 5.704E-06, 6.216E-06, 7.24E-06, 9.24E-06, 1.02E-05, 1.021E-05, 1.023E-05, 1.027E-05, 1.03E-05, 1.0308E-05, 1.0324E-05, 1.0356E-05, 1.042E-05, 1.0548E-05, 1.0804E-05, 1.1316E-05, 1.234E-05, 1.434E-05, 1.52E-05, 1.521E-05, 1.523E-05, 1.527E-05, 1.53E-05, 1.5308E-05, 1.5324E-05, 1.5356E-05, 1.542E-05, 1.5548E-05, 1.5804E-05, 1.6316E-05, 1.73400000000001E-05, 1.93400000000001E-05, 2.01E-05, 2.011E-05, 2.013E-05, 2.017E-05, 2.02E-05, 2.0208E-05, 2.0224E-05, 2.0256E-05, 2.032E-05, 2.0448E-05, 2.0704E-05, 2.1216E-05, 2.224E-05, 2.424E-05, 2.51E-05, 2.511E-05, 2.513E-05, 2.517E-05, 2.52E-05, 2.5208E-05, 2.5224E-05, 2.5256E-05, 2.532E-05, 2.5448E-05, 2.5704E-05, 2.6216E-05, 2.724E-05, 2.924E-05, 3.02E-05, 3.021E-05, 3.023E-05, 3.027E-05, 3.03E-05, 3.0308E-05, 3.0324E-05, 3.0356E-05, 3.042E-05, 3.0548E-05, 3.0804E-05, 3.1316E-05, 3.234E-05, 3.434E-05, 3.52E-05, 3.521E-05, 3.523E-05, 3.527E-05, 3.53E-05, 3.5308E-05, 3.5324E-05, 3.5356E-05, 3.542E-05, 3.5548E-05, 3.5804E-05, 3.6316E-05, 3.73400000000001E-05, 3.93400000000001E-05, 4.01E-05, 4.011E-05, 4.013E-05, 4.017E-05, 4.02E-05, 4.0208E-05, 4.0224E-05, 4.0256E-05, 4.032E-05, 4.0448E-05, 4.0704E-05, 4.1216E-05, 4.22400000000001E-05, 4.42400000000001E-05, 4.51E-05, 4.511E-05, 4.513E-05, 4.517E-05, 4.52E-05, 4.5208E-05, 4.5224E-05, 4.5256E-05, 4.532E-05, 4.5448E-05, 4.5704E-05, 4.6216E-05, 4.724E-05, 4.92400000000001E-05, 5.02E-05, 5.021E-05, 5.023E-05, 5.027E-05, 5.03E-05, 5.0308E-05, 5.0324E-05, 5.0356E-05, 5.042E-05, 5.0548E-05, 5.0804E-05, 5.1316E-05, 5.23400000000001E-05, 5.43400000000001E-05, 5.52E-05, 5.521E-05, 5.523E-05, 5.527E-05, 5.53E-05, 5.5308E-05, 5.5324E-05, 5.5356E-05, 5.542E-05, 5.5548E-05, 5.5804E-05, 5.6316E-05, 5.73400000000001E-05, 5.93400000000001E-05, 6.01E-05, 6.011E-05, 6.013E-05, 6.017E-05, 6.02E-05, 6.0208E-05, 6.0224E-05, 6.0256E-05, 6.032E-05, 6.0448E-05, 6.0704E-05, 6.1216E-05, 6.22400000000001E-05, 6.42400000000001E-05, 6.51E-05, 6.511E-05, 6.513E-05, 6.517E-05, 6.52E-05, 6.5208E-05, 6.5224E-05, 6.5256E-05, 6.532E-05, 6.5448E-05, 6.5704E-05, 6.6216E-05, 6.72400000000001E-05, 6.92400000000001E-05, 7.02E-05, 7.021E-05, 7.023E-05, 7.027E-05, 7.03E-05, 7.0308E-05, 7.0324E-05, 7.0356E-05, 7.042E-05, 7.0548E-05, 7.0804E-05, 7.1316E-05, 7.23400000000001E-05, 7.43400000000001E-05, 7.52E-05, 7.521E-05, 7.523E-05, 7.527E-05, 7.53E-05, 7.5308E-05, 7.5324E-05, 7.5356E-05, 7.542E-05, 7.5548E-05, 7.5804E-05, 7.6316E-05, 7.73400000000001E-05, 7.93400000000001E-05, 8.01E-05, 8.011E-05, 8.013E-05, 8.017E-05, 8.02E-05, 8.0208E-05, 8.0224E-05, 8.0256E-05, 8.032E-05, 8.0448E-05, 8.0704E-05, 8.1216E-05, 8.22400000000001E-05, 8.42400000000001E-05, 8.51E-05, 8.511E-05, 8.513E-05, 8.517E-05, 8.52E-05, 8.5208E-05, 8.5224E-05, 8.5256E-05, 8.532E-05, 8.5448E-05, 8.5704E-05, 8.6216E-05, 8.72400000000001E-05, 8.92400000000001E-05, 9.02E-05, 9.021E-05, 9.023E-05, 9.027E-05, 9.03E-05, 9.0308E-05, 9.0324E-05, 9.0356E-05, 9.042E-05, 9.0548E-05, 9.0804E-05, 9.1316E-05, 9.23400000000001E-05, 9.43400000000001E-05, 9.52E-05, 9.521E-05, 9.523E-05, 9.527E-05, 9.53E-05, 9.5308E-05, 9.5324E-05, 9.5356E-05, 9.542E-05, 9.5548E-05, 9.5804E-05, 9.6316E-05, 9.73400000000001E-05, 9.93400000000001E-05, 0.0001 }, new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32, 0.960000000000001, 2.24, 4.8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000009, 3.5000000000001, 1.50000000000012, 4.79616346638068E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.50000000000008, 1.50000000000007, 3.50000000000005, 4.99999999999995, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999993, 1.49999999999995, 4.79616346638068E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.49999999999988, 4.99999999999978, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999976, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.50000000000008, 1.50000000000024, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.49999999999999, 1.49999999999998, 3.49999999999996, 4.99999999999999, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000018, 3.50000000000018, 1.50000000000003, 4.79616346637966E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.50000000000008, 1.50000000000007, 3.50000000000005, 4.99999999999995, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999976, 1.49999999999978, 4.79616346637864E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.49999999999988, 4.99999999999978, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999976, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, }; // Analyze AnalyzeTransient(tran, ckt, exports, references); DestroyExports(exports); }
/// <summary> /// The equals. /// </summary> /// <param name="other"> /// The other. /// </param> /// <returns> /// The <see cref="bool" />. /// </returns> public bool Equals(IExport other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return ImplementType == other.ImplementType; }
public ExportController(IExport export) { this.export = export; }
public void When_SimplePulsedTransient_Expect_Reference() { // Build the circuit var ckt = new Circuit( new VoltageSource("V1", "in", "0", new Pulse(0, 5, 1e-7, 1e-7, 1e-7, 1e-5, 2e-5)), new VoltageDelay("Delay1", "out", "0", "in", "0", 0.5e-5) ); // Build the simulation var tran = new Transient("tran", 1e-7, 10e-5); var exports = new IExport <double>[] { new GenericExport <double>(tran, () => tran.GetState <IIntegrationMethod>().Time), new RealVoltageExport(tran, "in"), new RealVoltageExport(tran, "out"), }; var references = new[] { new[] { 0, 1E-09, 2E-09, 4E-09, 8E-09, 1.6E-08, 3.2E-08, 6.4E-08, 1E-07, 1.064E-07, 1.192E-07, 1.448E-07, 1.96E-07, 2E-07, 2.08E-07, 2.24E-07, 2.55999999999999E-07, 3.19999999999999E-07, 4.47999999999997E-07, 7.03999999999994E-07, 1.21599999999999E-06, 2.23999999999998E-06, 4.23999999999998E-06, 6.23999999999998E-06, 8.23999999999998E-06, 1.02E-05, 1.021E-05, 1.023E-05, 1.027E-05, 1.03E-05, 1.0308E-05, 1.0324E-05, 1.0356E-05, 1.042E-05, 1.0548E-05, 1.0804E-05, 1.1316E-05, 1.234E-05, 1.434E-05, 1.634E-05, 1.834E-05, 2.01E-05, 2.011E-05, 2.013E-05, 2.017E-05, 2.02E-05, 2.0208E-05, 2.0224E-05, 2.0256E-05, 2.032E-05, 2.0448E-05, 2.0704E-05, 2.1216E-05, 2.224E-05, 2.424E-05, 2.624E-05, 2.824E-05, 3.02E-05, 3.021E-05, 3.023E-05, 3.027E-05, 3.03E-05, 3.0308E-05, 3.0324E-05, 3.0356E-05, 3.042E-05, 3.0548E-05, 3.0804E-05, 3.1316E-05, 3.234E-05, 3.434E-05, 3.634E-05, 3.834E-05, 4.01E-05, 4.011E-05, 4.013E-05, 4.017E-05, 4.02E-05, 4.0208E-05, 4.0224E-05, 4.0256E-05, 4.032E-05, 4.0448E-05, 4.0704E-05, 4.1216E-05, 4.22400000000001E-05, 4.42400000000001E-05, 4.62400000000001E-05, 4.82400000000001E-05, 5.02E-05, 5.021E-05, 5.023E-05, 5.027E-05, 5.03E-05, 5.0308E-05, 5.0324E-05, 5.0356E-05, 5.042E-05, 5.0548E-05, 5.0804E-05, 5.1316E-05, 5.23400000000001E-05, 5.43400000000001E-05, 5.63400000000001E-05, 5.83400000000001E-05, 6.01E-05, 6.011E-05, 6.013E-05, 6.017E-05, 6.02E-05, 6.0208E-05, 6.0224E-05, 6.0256E-05, 6.032E-05, 6.0448E-05, 6.0704E-05, 6.1216E-05, 6.22400000000001E-05, 6.42400000000001E-05, 6.62400000000001E-05, 6.82400000000001E-05, 7.02E-05, 7.021E-05, 7.023E-05, 7.027E-05, 7.03E-05, 7.0308E-05, 7.0324E-05, 7.0356E-05, 7.042E-05, 7.0548E-05, 7.0804E-05, 7.1316E-05, 7.23400000000001E-05, 7.43400000000001E-05, 7.63400000000001E-05, 7.83400000000001E-05, 8.01E-05, 8.011E-05, 8.013E-05, 8.017E-05, 8.02E-05, 8.0208E-05, 8.0224E-05, 8.0256E-05, 8.032E-05, 8.0448E-05, 8.0704E-05, 8.1216E-05, 8.22400000000001E-05, 8.42400000000001E-05, 8.62400000000001E-05, 8.82400000000001E-05, 9.02E-05, 9.021E-05, 9.023E-05, 9.027E-05, 9.03E-05, 9.0308E-05, 9.0324E-05, 9.0356E-05, 9.042E-05, 9.0548E-05, 9.0804E-05, 9.1316E-05, 9.23400000000001E-05, 9.43400000000001E-05, 9.63400000000001E-05, 9.83400000000001E-05, 0.0001 }, new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32, 0.960000000000001, 2.24, 4.8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000009, 3.5000000000001, 1.50000000000012, 4.79616346638068E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.50000000000008, 1.50000000000007, 3.50000000000005, 4.99999999999995, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999993, 1.49999999999995, 4.79616346638068E-14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.49999999999988, 4.99999999999978, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.49999999999992, 3.49999999999976, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.50000000000008, 1.50000000000024, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.499999999999741, 1.4999999999999, 3.50000000000022, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4.50000000000026, 3.5000000000001, 1.49999999999978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, new[] { 0.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0 }, }; // Analyze AnalyzeTransient(tran, ckt, exports, references); DestroyExports(exports); }