Coverage report: 93%

Files Functions Classes

coverage.py v7.17.2, created at 2026-11-06 13:14 +0000

File function   statements missing excluded   coverage
klayout_pex/__init__.py (no function)   0 0 0   100%
klayout_pex/__main__.py main   3 3 0   0%
klayout_pex/__main__.py (no function)   4 0 2   100%
klayout_pex/common/__init__.py (no function)   0 0 0   100%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.__getitem__   1 0 0   100%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.__setitem__   1 1 0   0%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.dimension   1 0 0   100%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.parse_csv   10 1 0   90%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.write_csv   9 0 0   100%
klayout_pex/common/capacitance_matrix.py CapacitanceMatrix.averaged_off_diagonals   11 0 0   100%
klayout_pex/common/capacitance_matrix.py (no function)   16 0 0   100%
klayout_pex/common/path_validation.py validate_files   16 16 0   0%
klayout_pex/common/path_validation.py (no function)   10 0 0   100%
klayout_pex/device_models.py rectangle_sides   7 0 0   100%
klayout_pex/device_models.py DeviceModels.__init__   1 0 0   100%
klayout_pex/device_models.py DeviceModels.mapping_by_lvs_device_class_name   1 0 0   100%
klayout_pex/device_models.py DeviceModels.mappings_by_spice_model   4 0 0   100%
klayout_pex/device_models.py DeviceModels.lvs_device_class_name   9 0 0   100%
klayout_pex/device_models.py DeviceModels.mappings_of_model   4 0 0   100%
klayout_pex/device_models.py DeviceModels.constant_parameters   1 0 0   100%
klayout_pex/device_models.py DeviceModels.lvs_parameter_values   20 0 0   100%
klayout_pex/device_models.py DeviceModels.multiplier_lvs_parameter_name   1 0 0   100%
klayout_pex/device_models.py DeviceModels.vacask_subcircuits_with_m   1 0 0   100%
klayout_pex/device_models.py DeviceModels.metal_capacitor_class_names   1 0 0   100%
klayout_pex/device_models.py DeviceModels.check_mappings   15 0 0   100%
klayout_pex/device_models.py DeviceModels.mapping_problems   28 0 0   100%
klayout_pex/device_models.py (no function)   33 0 0   100%
klayout_pex/device_totals.py DeviceTotalParameters.of   9 0 0   100%
klayout_pex/device_totals.py DeviceTotalParameters.model_parameter_names   10 0 0   100%
klayout_pex/device_totals.py DeviceTotalParameters.quantity_names   1 0 0   100%
klayout_pex/device_totals.py DeviceTotalParameters.quantities   12 0 0   100%
klayout_pex/device_totals.py DeviceTotalParameters.quantities.product   4 0 0   100%
klayout_pex/device_totals.py (no function)   21 0 0   100%
klayout_pex/env.py EnvVar.default_value   8 0 1   100%
klayout_pex/env.py EnvVar.help_epilog_table   1 0 0   100%
klayout_pex/env.py Env.__init__   1 0 0   100%
klayout_pex/env.py Env.from_os_environ   7 0 0   100%
klayout_pex/env.py Env.default_magicrc_path   4 0 0   100%
klayout_pex/env.py Env.default_pdk   8 0 0   100%
klayout_pex/env.py Env.__getitem__   1 0 0   100%
klayout_pex/env.py Env.__contains__   1 1 0   0%
klayout_pex/env.py Env.__repr__   1 1 0   0%
klayout_pex/env.py (no function)   28 0 0   100%
klayout_pex/extraction_engine.py (no function)   6 0 0   100%
klayout_pex/fastcap/__init__.py (no function)   0 0 0   100%
klayout_pex/fastcap/fastcap_runner.py run_fastcap   25 25 0   0%
klayout_pex/fastcap/fastcap_runner.py fastcap_parse_capacitance_matrix   27 2 0   93%
klayout_pex/fastcap/fastcap_runner.py (no function)   9 0 0   100%
klayout_pex/fastcap/output_interpreter.py FastCapOutputInterpreter.signal_name_from_conductor_name   1 0 0   100%
klayout_pex/fastcap/output_interpreter.py (no function)   3 0 0   100%
klayout_pex/fastercap/__init__.py (no function)   0 0 0   100%
klayout_pex/fastercap/fastercap_error.py (no function)   3 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.__init__   8 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.dbu   1 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.gds_pair   7 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.shapes_of_net   8 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.shapes_of_layer   8 1 0   88%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.top_cell_bbox   1 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.canonical_layer_name   1 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.add_conductor   6 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.add_via   5 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.build   115 4 0   97%
klayout_pex/fastercap/fastercap_input_builder.py FasterCapInputBuilder.build.format_terminal   3 0 0   100%
klayout_pex/fastercap/fastercap_input_builder.py (no function)   23 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder.__init__   12 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder.add_material   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder.add_dielectric   3 1 0   67%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder.add_conductor   4 1 0   75%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder._norm2z   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder._z2norm   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder._add_layer   11 1 0   91%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelBuilder.generate   26 1 0   96%
klayout_pex/fastercap/fastercap_model_generator.py HDielKey.__str__   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py HDielKey.topic   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py HDielKey.reversed   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py HCondKey.__str__   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py HCondKey.topic   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Point.__sub__   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Point.sq_length   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Point.to_fastcap   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py vector_product   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py dot_product   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Triangle.reversed   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Triangle.outside_reference_point   6 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Triangle.to_fastcap   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Triangle.__len__   1 1 0   0%
klayout_pex/fastercap/fastercap_model_generator.py Triangle.__getitem__   5 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Edge.vector_of_edge   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py Edge.reversed   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.__init__   21 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.reset   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.other_conductors_of_group   2 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.add_in   4 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.add_out   4 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.finish_z   107 1 0   99%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.next_z   49 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_hdiel   10 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_v_surface   10 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_vdiel   6 1 0   83%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_hcond_in   10 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_hcond_out   11 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.generate_vcond   6 1 0   83%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.triangulate   6 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.triangulate.convert_point   3 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.finalize   24 1 0   96%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.write_fastcap   52 10 0   81%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._write_fastercap_geo   11 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.check   13 1 0   92%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._check_tris   14 4 0   71%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._normed_edges   8 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._normed_edges.normed_dbu   1 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._point2s   1 1 0   0%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._edge2s   1 1 0   0%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._is_antiparallel   5 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._split_edges   33 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator.dump_stl   12 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._write_as_stl   15 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._merge_events   24 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._collect_diel_tris   10 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py FasterCapModelGenerator._collect_cond_tris   5 0 0   100%
klayout_pex/fastercap/fastercap_model_generator.py (no function)   123 0 0   100%
klayout_pex/fastercap/fastercap_runner.py run_fastercap   29 2 0   93%
klayout_pex/fastercap/fastercap_runner.py fastercap_parse_capacitance_matrix   21 2 0   90%
klayout_pex/fastercap/fastercap_runner.py (no function)   10 0 0   100%
klayout_pex/fastercap/output_interpreter.py FasterCapOutputInterpreter.signal_name_from_conductor_name   1 0 0   100%
klayout_pex/fastercap/output_interpreter.py (no function)   3 0 0   100%
klayout_pex/fastercap/pex25d_exporter.py FasterCapModelOptions.__post_init__   6 0 0   100%
klayout_pex/fastercap/pex25d_exporter.py build_fastercap_model   8 2 0   75%
klayout_pex/fastercap/pex25d_exporter.py FasterCapSceneExporter.export   11 0 0   100%
klayout_pex/fastercap/pex25d_exporter.py (no function)   28 0 4   100%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.__init__   9 1 0   89%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.um   1 0 0   100%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.shapes_of_layer   7 0 0   100%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.field   12 1 0   92%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.build   13 2 0   85%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.add_ground_plane   6 2 0   67%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.add_conductors   8 1 0   88%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.add_dielectrics   12 3 0   75%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.add_conformal   15 5 0   67%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.root_of   7 1 0   86%
klayout_pex/fastercap/pex25d_model_builder.py PEX25DFasterCapModelBuilder.chain_extent   15 1 0   93%
klayout_pex/fastercap/pex25d_model_builder.py region_of   9 1 0   89%
klayout_pex/fastercap/pex25d_model_builder.py grow   9 0 0   100%
klayout_pex/fastercap/pex25d_model_builder.py (no function)   23 0 4   100%
klayout_pex/klayout/__init__.py (no function)   1 0 0   100%
klayout_pex/klayout/capacitance_matrix_interpreter.py CapacitanceMatrixInterpreter.signal_name_from_conductor_name   1 1 0   0%
klayout_pex/klayout/capacitance_matrix_interpreter.py (no function)   5 0 0   100%
klayout_pex/klayout/lvs_cache.py file_sha256   5 0 0   100%
klayout_pex/klayout/lvs_cache.py file_fingerprint   1 0 0   100%
klayout_pex/klayout/lvs_cache.py deck_fingerprint   12 0 0   100%
klayout_pex/klayout/lvs_cache.py lvs_input_fingerprint   6 0 0   100%
klayout_pex/klayout/lvs_cache.py fingerprint_differences   24 0 0   100%
klayout_pex/klayout/lvs_cache.py fingerprint_differences.compare   2 0 0   100%
klayout_pex/klayout/lvs_cache.py read_fingerprint   5 0 0   100%
klayout_pex/klayout/lvs_cache.py write_fingerprint   3 0 0   100%
klayout_pex/klayout/lvs_cache.py LVSCacheEntry.lvsdb_path   1 0 0   100%
klayout_pex/klayout/lvs_cache.py LVSCacheEntry.fingerprint_path   1 0 0   100%
klayout_pex/klayout/lvs_cache.py LVSCacheEntry.cache_miss_reasons   6 0 0   100%
klayout_pex/klayout/lvs_cache.py LVSCacheEntry.store   5 0 0   100%
klayout_pex/klayout/lvs_cache.py LVSCacheEntry._replace   8 3 0   62%
klayout_pex/klayout/lvs_cache.py (no function)   30 0 0   100%
klayout_pex/klayout/lvs_runner.py LVSRunner.result_script_parameters   1 0 0   100%
klayout_pex/klayout/lvs_runner.py LVSRunner.write_dummy_schematic   2 0 0   100%
klayout_pex/klayout/lvs_runner.py LVSRunner.run_klayout_lvs   33 0 0   100%
klayout_pex/klayout/lvs_runner.py (no function)   18 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py unique_name   10 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py device_list   2 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.prepare_extraction   18 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.make_pins_of_pin_labels   6 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.make_net_names_unique   7 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.build_LVS_layer_map   25 3 0   88%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.nonempty_extracted_layers   36 2 0   94%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.check_unnamed_layers   24 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.check_unnamed_layers.region   4 1 0   75%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.top_cell_bbox   5 1 0   80%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.shapes_by_net_name_by_lvs_layer   19 1 0   95%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.source_layers   6 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.shapes_of_net   11 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.net_shapes_by_conductor_layer   9 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.net_shapes_by_conductor_layer.is_well   1 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.shapes_of_layer   18 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.shapes_of_layer.is_plate   1 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.pins_of_layer   6 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.labels_of_layer   9 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.top_circuit   1 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.substrate_net_name   22 3 0   86%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.terminal_refs   5 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.mos_channels   11 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.shapes_of_terminal   9 1 0   89%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.devices_by_name   50 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.devices_by_name.add_region   4 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.terminal_region_on_net   22 1 0   95%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.terminal_region_on_net.largest_overlap   7 0 0   100%
klayout_pex/klayout/lvsdb_extractor.py KLayoutExtractionContext.pins_pb2_by_layer   36 1 0   97%
klayout_pex/klayout/lvsdb_extractor.py (no function)   88 0 0   100%
klayout_pex/klayout/netlist_csv.py NetlistCSVWriter.write_csv   17 2 0   88%
klayout_pex/klayout/netlist_csv.py (no function)   6 0 0   100%
klayout_pex/klayout/netlist_expander.py remove_devices   4 0 0   100%
klayout_pex/klayout/netlist_expander.py NetlistExpander.expand   49 1 0   98%
klayout_pex/klayout/netlist_expander.py NetlistExpander.expand.add_parasitic_cap   9 1 0   89%
klayout_pex/klayout/netlist_expander.py (no function)   14 0 3   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter.__init__   6 0 0   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter.write   2 0 0   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter.write_header   8 0 0   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter.write_device   12 0 0   100%
klayout_pex/klayout/netlist_printer.py NetlistPrinter.write_modeled_device   18 0 0   100%
klayout_pex/klayout/netlist_printer.py (no function)   17 0 0   100%
klayout_pex/klayout/netlist_reducer.py NetlistReducer.reduce   16 1 0   94%
klayout_pex/klayout/netlist_reducer.py (no function)   7 0 0   100%
klayout_pex/klayout/output_files.py write_output_file   8 0 0   100%
klayout_pex/klayout/output_files.py (no function)   6 0 0   100%
klayout_pex/klayout/parasitic_device_classes.py (no function)   3 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.__init__   15 1 0   93%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.to_grid   5 1 0   80%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.dbu_to_grid   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.gds_pair   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.shapes_of_net   5 1 0   80%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.substrate_lvs_layer_names   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.process_layer_name_by_lvs_layer_name   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.metal_layer_by_name   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.metal_layers_by_canonical_name   6 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.resolve_metal   18 4 0   78%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.canonical_name   4 1 0   75%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.claim_name   5 2 0   60%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build   15 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_units   6 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_meta   7 1 0   86%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_meta.add   3 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_ground_plane   8 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_layers   52 6 0   88%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.included_dielectric_names   1 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.outermost_profile   14 4 0   71%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.conformal_thicknesses   7 1 0   86%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_dielectrics   32 3 0   91%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_dielectrics.next_metal_after   4 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.add_simple_dielectric   13 3 0   77%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.add_conformal_dielectric   17 3 0   82%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.shape_layers   8 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_conductors   23 1 0   96%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.add_shapes   19 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.fill_ring   4 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.add_terminal   13 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_terminals   89 2 0   98%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.terminal_on_overlapped_interconnect   14 0 0   100%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_resistance   24 1 0   96%
klayout_pex/klayout/pex25d_builder.py PEX25DBuilder.build_domain   7 5 0   29%
klayout_pex/klayout/pex25d_builder.py build_pex25d_file   2 0 0   100%
klayout_pex/klayout/pex25d_builder.py (no function)   73 0 3   100%
klayout_pex/klayout/repair_rdb.py parse_category_path   29 29 0   0%
klayout_pex/klayout/repair_rdb.py repair_rdb_xml   20 20 0   0%
klayout_pex/klayout/repair_rdb.py repair_rdb   13 13 0   0%
klayout_pex/klayout/repair_rdb.py (no function)   12 0 5   100%
klayout_pex/klayout/rex_core.py klayout_r_extractor_tech   23 0 0   100%
klayout_pex/klayout/rex_core.py (no function)   3 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.__init__   1 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_point   1 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_point_to_pb   2 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_box   4 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_box_to_pb   10 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_polygon   5 1 0   80%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_polygon_to_pb   6 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_shape   5 1 2   80%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_shape_to_pb   4 4 1   0%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_region   8 2 2   75%
klayout_pex/klayout/shapes_pb2_converter.py ShapesConverter.klayout_region_to_pb   2 0 0   100%
klayout_pex/klayout/shapes_pb2_converter.py (no function)   14 0 0   100%
klayout_pex/kpex_cli.py side_halo_by_pdk   7 0 0   100%
klayout_pex/kpex_cli.py halo_default_help   4 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_special_options   6 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_pex_setup_arguments   12 1 0   92%
klayout_pex/kpex_cli.py KpexCLI._add_pex_input_arguments   8 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_engine_arguments   5 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_extraction_options   2 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_tech_arguments   2 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_fastercap_arguments   12 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_magic_arguments   18 1 0   94%
klayout_pex/kpex_cli.py KpexCLI._add_analytical_25d_arguments   8 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_exclusion_arguments   6 0 0   100%
klayout_pex/kpex_cli.py KpexCLI._add_pex25d_output_arguments   9 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.parse_args   43 3 0   93%
klayout_pex/kpex_cli.py KpexCLI.validate_args   211 49 2   77%
klayout_pex/kpex_cli.py KpexCLI.validate_args.input_file_stem   1 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.create_netlist_printer   2 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.build_fastercap_input   15 2 0   87%
klayout_pex/kpex_cli.py KpexCLI.run_fastercap_extraction   36 2 0   94%
klayout_pex/kpex_cli.py KpexCLI.run_magic_extraction   41 41 0   0%
klayout_pex/kpex_cli.py KpexCLI.run_fastcap_extraction   24 24 0   0%
klayout_pex/kpex_cli.py KpexCLI.schematic_device_class_problems   11 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.exclusions_of   19 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.exclusions_of.names_of_nets   4 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.run_kpex_2_5d_engine   66 4 0   94%
klayout_pex/kpex_cli.py KpexCLI.setup_logging   18 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.setup_logging.register_log_file_handler   7 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.setup_logging.close_log_file_handler   2 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.setup_logging.reregister_log_file_handler   11 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.lvs_input_fingerprint   2 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.create_lvsdb   31 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.normalize_argv   12 2 0   83%
klayout_pex/kpex_cli.py KpexCLI._writes_artifact_to_stdout   1 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.main   29 4 0   86%
klayout_pex/kpex_cli.py KpexCLI.run_pex25d_generation   40 14 0   65%
klayout_pex/kpex_cli.py KpexCLI.run_extraction   54 8 0   85%
klayout_pex/kpex_cli.py KpexCLI.run_extraction.dump_layers   9 0 0   100%
klayout_pex/kpex_cli.py KpexCLI.rcx25_extraction_results   3 1 0   67%
klayout_pex/kpex_cli.py KpexCLI.rcx25_extracted_csv_path   3 1 0   67%
klayout_pex/kpex_cli.py KpexCLI.rcx25_reduced_netlist_path   3 1 0   67%
klayout_pex/kpex_cli.py KpexCLI.rcx25_netlist_paths   3 1 0   67%
klayout_pex/kpex_cli.py KpexCLI.rcx25_netlist_problems   3 1 0   67%
klayout_pex/kpex_cli.py KpexCLI.fastercap_extracted_csv_path   3 1 0   67%
klayout_pex/kpex_cli.py (no function)   144 0 3   100%
klayout_pex/log/__init__.py (no function)   1 0 0   100%
klayout_pex/log/logger.py LogLevel.level_by_name   1 1 0   0%
klayout_pex/log/logger.py LogLevelFormatter.format   6 0 0   100%
klayout_pex/log/logger.py LogLevelFilter.__init__   3 0 0   100%
klayout_pex/log/logger.py LogLevelFilter.filter   3 0 0   100%
klayout_pex/log/logger.py set_log_level   1 0 0   100%
klayout_pex/log/logger.py get_log_level   1 0 0   100%
klayout_pex/log/logger.py register_additional_handler   1 0 0   100%
klayout_pex/log/logger.py deregister_additional_handler   1 0 0   100%
klayout_pex/log/logger.py configure_logger   11 0 0   100%
klayout_pex/log/logger.py debug   3 0 0   100%
klayout_pex/log/logger.py subproc   3 0 0   100%
klayout_pex/log/logger.py rule   0 0 9   100%
klayout_pex/log/logger.py info   3 0 0   100%
klayout_pex/log/logger.py warning   3 0 0   100%
klayout_pex/log/logger.py error   3 0 0   100%
klayout_pex/log/logger.py (no function)   38 0 1   100%
klayout_pex/magic/__init__.py (no function)   0 0 0   100%
klayout_pex/magic/magic_ext_data_structures.py ResExtData.rnodes_by_name   1 1 0   0%
klayout_pex/magic/magic_ext_data_structures.py (no function)   79 0 0   100%
klayout_pex/magic/magic_ext_file_parser.py parse_magic_pex_run   22 3 0   86%
klayout_pex/magic/magic_ext_file_parser.py parse_magic_ext_file   17 3 0   82%
klayout_pex/magic/magic_ext_file_parser.py parse_magic_res_ext_file   11 11 0   0%
klayout_pex/magic/magic_ext_file_parser.py (no function)   8 0 0   100%
klayout_pex/magic/magic_log_analyzer.py is_magic_marker   1 0 0   100%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.__init__   4 0 0   100%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.analyze   2 0 0   100%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.analyze_cell   57 25 0   56%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.analyze_cell.scaled   1 0 0   100%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.analyze_cell.box_for_point_dbu   1 0 0   100%
klayout_pex/magic/magic_log_analyzer.py MagicLogAnalyzer.analyze_cell.clamped   6 2 0   67%
klayout_pex/magic/magic_log_analyzer.py _parse_args   11 3 0   73%
klayout_pex/magic/magic_log_analyzer.py main   8 8 0   0%
klayout_pex/magic/magic_log_analyzer.py (no function)   26 0 2   100%
klayout_pex/magic/magic_runner.py MagicUniqueMode.to_cmd   9 9 0   0%
klayout_pex/magic/magic_runner.py prepare_magic_script   13 13 0   0%
klayout_pex/magic/magic_runner.py run_magic   19 19 0   0%
klayout_pex/magic/magic_runner.py (no function)   31 0 0   100%
klayout_pex/netlist/__init__.py (no function)   0 0 0   100%
klayout_pex/netlist/__main__.py main   3 3 0   0%
klayout_pex/netlist/__main__.py (no function)   4 0 2   100%
klayout_pex/netlist/expression/__init__.py (no function)   0 0 0   100%
klayout_pex/netlist/expression/ngspice.py _sign   1 0 0   100%
klayout_pex/netlist/expression/ngspice.py _operators   1 0 0   100%
klayout_pex/netlist/expression/ngspice.py (no function)   10 0 0   100%
klayout_pex/netlist/expression/nodes.py Scope.value   0 0 1   100%
klayout_pex/netlist/expression/nodes.py _checked   9 0 0   100%
klayout_pex/netlist/expression/nodes.py ExpressionFunction.__call__   1 0 0   100%
klayout_pex/netlist/expression/nodes.py Node.evaluate   0 0 1   100%
klayout_pex/netlist/expression/nodes.py Number.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py Parameter.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py UnaryOperation.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py BinaryOperation.evaluate   7 0 0   100%
klayout_pex/netlist/expression/nodes.py Conditional.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py FunctionCall.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py Expression.evaluate   1 0 0   100%
klayout_pex/netlist/expression/nodes.py Expression.__str__   1 0 0   100%
klayout_pex/netlist/expression/nodes.py (no function)   80 0 4   100%
klayout_pex/netlist/expression/parser.py ExpressionParser.__init__   3 0 0   100%
klayout_pex/netlist/expression/parser.py ExpressionParser.parse   1 0 0   100%
klayout_pex/netlist/expression/parser.py ExpressionParser._tokens   12 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.__init__   4 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.expression   4 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.peek   1 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.next   3 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.accept   5 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.expect   2 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.unexpected   3 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.conditional   6 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.binary   9 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.unary   6 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.primary   13 0 0   100%
klayout_pex/netlist/expression/parser.py _Parse.function_call   12 0 0   100%
klayout_pex/netlist/expression/parser.py (no function)   32 0 0   100%
klayout_pex/netlist/expression/scope.py ParameterScope.__init__   4 0 0   100%
klayout_pex/netlist/expression/scope.py ParameterScope.value   16 0 0   100%
klayout_pex/netlist/expression/scope.py ParameterScope.evaluate   3 0 0   100%
klayout_pex/netlist/expression/scope.py (no function)   7 0 0   100%
klayout_pex/netlist/expression/syntax.py ExpressionSyntax.name_key   1 0 0   100%
klayout_pex/netlist/expression/syntax.py (no function)   30 0 0   100%
klayout_pex/netlist/netlist_cli.py svg_output_path   1 0 0   100%
klayout_pex/netlist/netlist_cli.py NetlistCLI.parse_args   22 1 0   95%
klayout_pex/netlist/netlist_cli.py NetlistCLI.validate_args   23 6 0   74%
klayout_pex/netlist/netlist_cli.py NetlistCLI.run_netlistsvg   45 2 0   96%
klayout_pex/netlist/netlist_cli.py NetlistCLI.setup_logging   1 0 0   100%
klayout_pex/netlist/netlist_cli.py NetlistCLI.modification_date   2 2 0   0%
klayout_pex/netlist/netlist_cli.py NetlistCLI.main   16 0 0   100%
klayout_pex/netlist/netlist_cli.py (no function)   35 0 3   100%
klayout_pex/netlist/netlist_convert.py _formats_epilog   2 0 0   100%
klayout_pex/netlist/netlist_convert.py add_convert_subcommand   6 0 0   100%
klayout_pex/netlist/netlist_convert.py run_convert   25 0 0   100%
klayout_pex/netlist/netlist_convert.py convert_to_vacask   4 0 0   100%
klayout_pex/netlist/netlist_convert.py (no function)   22 0 0   100%
klayout_pex/netlist/netlist_format.py NetlistFormat.file_extension   5 1 0   80%
klayout_pex/netlist/netlist_format.py (no function)   7 0 0   100%
klayout_pex/netlist/netlist_reduction.py ReductionMode.options   7 0 2   100%
klayout_pex/netlist/netlist_reduction.py reduced_netlist_path   2 0 0   100%
klayout_pex/netlist/netlist_reduction.py UnknownNodesError.__init__   5 0 0   100%
klayout_pex/netlist/netlist_reduction.py NetworkSize.of   1 0 0   100%
klayout_pex/netlist/netlist_reduction.py NetworkSize.__str__   1 0 0   100%
klayout_pex/netlist/netlist_reduction.py ScopeReduction.describe   2 0 0   100%
klayout_pex/netlist/netlist_reduction.py _describe_options   6 0 0   100%
klayout_pex/netlist/netlist_reduction.py reduce_spice_netlist   22 0 0   100%
klayout_pex/netlist/netlist_reduction.py (no function)   47 0 0   100%
klayout_pex/netlist/rc_network.py Branch.__init__   2 0 0   100%
klayout_pex/netlist/rc_network.py Branch.__repr__   1 1 0   0%
klayout_pex/netlist/rc_network.py RCNetwork.__init__   5 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.name_key   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.node   10 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.find_node   4 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.name   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.sort_key   2 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.nodes   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.is_alive   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.protect   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.is_protected   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.tie   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.untie   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.is_tied   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.tied_nodes   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.branches   4 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.branch   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.add   10 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.remove_node   4 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.merge_node   4 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.edges   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.conductance_sum   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.capacitance_sum   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.time_constant   4 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.degree   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.resistive_degree   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.resistor_count   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.capacitor_count   1 0 0   100%
klayout_pex/netlist/rc_network.py RCNetwork.connected_node_count   1 0 0   100%
klayout_pex/netlist/rc_network.py (no function)   37 0 0   100%
klayout_pex/netlist/rc_reduction.py ReductionOptions.__post_init__   16 0 0   100%
klayout_pex/netlist/rc_reduction.py eliminate_quick_node   10 1 0   90%
klayout_pex/netlist/rc_reduction.py eliminate_capacitor_only_node   9 1 0   89%
klayout_pex/netlist/rc_reduction.py merge_floating_islands   23 0 0   100%
klayout_pex/netlist/rc_reduction.py _eliminate_in_order   17 0 0   100%
klayout_pex/netlist/rc_reduction.py _eliminate_in_order.queue   6 0 0   100%
klayout_pex/netlist/rc_reduction.py eliminate_quick_nodes   9 0 0   100%
klayout_pex/netlist/rc_reduction.py eliminate_quick_nodes.heap_key   9 0 0   100%
klayout_pex/netlist/rc_reduction.py eliminate_capacitor_only_nodes   2 0 0   100%
klayout_pex/netlist/rc_reduction.py eliminate_capacitor_only_nodes.heap_key   6 0 0   100%
klayout_pex/netlist/rc_reduction.py tie_capacitor_only_nodes   4 0 0   100%
klayout_pex/netlist/rc_reduction.py reduce_network   11 0 0   100%
klayout_pex/netlist/rc_reduction.py (no function)   43 0 0   100%
klayout_pex/netlist/reduce_subcommand.py _degree   7 0 0   100%
klayout_pex/netlist/reduce_subcommand.py add_reduce_subcommand   12 0 0   100%
klayout_pex/netlist/reduce_subcommand.py run_reduce_subcommand   29 3 0   90%
klayout_pex/netlist/reduce_subcommand.py (no function)   20 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy.__init__   3 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy.subcircuit   1 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy.uncalled_subcircuits   3 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy.flat_elements   3 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy._call_scope   8 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy._flat_elements   15 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy._evaluated   10 0 0   100%
klayout_pex/netlist/spice_hierarchy.py SpiceHierarchy._evaluated.evaluate   4 0 0   100%
klayout_pex/netlist/spice_hierarchy.py (no function)   24 0 0   100%
klayout_pex/netlist/spice_netlist.py SpiceElement.kind   1 0 0   100%
klayout_pex/netlist/spice_netlist.py (no function)   38 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceScope.title   1 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py _ElementsPlaceholder.__init__   1 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.__init__   3 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.read   2 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.parse   82 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.parse.protect_names_of   1 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist._tied_node_name   8 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist._element_value   9 1 0   89%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.element_lines   24 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.element_lines.names   6 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.format   6 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py SpiceRCNetlist.write   3 0 0   100%
klayout_pex/netlist/spice_rc_netlist.py (no function)   50 0 0   100%
klayout_pex/netlist/spice_reader.py _optional_number   4 0 0   100%
klayout_pex/netlist/spice_reader.py _is_value   1 0 0   100%
klayout_pex/netlist/spice_reader.py _Scope.__init__   5 0 0   100%
klayout_pex/netlist/spice_reader.py _Scope.node   4 0 0   100%
klayout_pex/netlist/spice_reader.py _Scope.port   6 0 0   100%
klayout_pex/netlist/spice_reader.py _Scope.add_element   5 0 0   100%
klayout_pex/netlist/spice_reader.py SpiceReader.read   6 0 0   100%
klayout_pex/netlist/spice_reader.py SpiceReader.parse   51 1 0   98%
klayout_pex/netlist/spice_reader.py SpiceReader._logical_lines   12 2 0   83%
klayout_pex/netlist/spice_reader.py SpiceReader._tokens   16 1 0   94%
klayout_pex/netlist/spice_reader.py SpiceReader._parameter   4 0 0   100%
klayout_pex/netlist/spice_reader.py SpiceReader._value   12 0 0   100%
klayout_pex/netlist/spice_reader.py SpiceReader._subcircuit   16 2 0   88%
klayout_pex/netlist/spice_reader.py SpiceReader._element   64 7 0   89%
klayout_pex/netlist/spice_reader.py SpiceReader._element.nodes   3 1 0   67%
klayout_pex/netlist/spice_reader.py SpiceReader._element.parameters   7 1 0   86%
klayout_pex/netlist/spice_reader.py SpiceReader._source   27 3 0   89%
klayout_pex/netlist/spice_reader.py SpiceReader._source.numbers_from   7 1 0   86%
klayout_pex/netlist/spice_reader.py (no function)   41 0 0   100%
klayout_pex/netlist/spice_syntax.py SpiceSyntaxError.__init__   3 0 0   100%
klayout_pex/netlist/spice_syntax.py SpiceLine.verbatim   1 0 0   100%
klayout_pex/netlist/spice_syntax.py strip_comment   4 0 0   100%
klayout_pex/netlist/spice_syntax.py spice_lines   26 0 0   100%
klayout_pex/netlist/spice_syntax.py (no function)   22 0 0   100%
klayout_pex/netlist/vacask_writer.py vacask_identifier_value   1 0 0   100%
klayout_pex/netlist/vacask_writer.py vacask_identifier   6 0 0   100%
klayout_pex/netlist/vacask_writer.py vacask_number   1 0 0   100%
klayout_pex/netlist/vacask_writer.py vacask_value   5 0 0   100%
klayout_pex/netlist/vacask_writer.py _NodeNames.__init__   3 0 0   100%
klayout_pex/netlist/vacask_writer.py _NodeNames.__call__   8 0 0   100%
klayout_pex/netlist/vacask_writer.py _InstanceNames.__init__   2 0 0   100%
klayout_pex/netlist/vacask_writer.py _InstanceNames.declare   7 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter.__init__   2 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter.write   3 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter.text   26 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._check_numbers   10 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._check_numbers.check   3 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._check_numbers.check_elements   4 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._check_numbers.check_no_parameters   2 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._check_subcircuit_names   9 1 0   89%
klayout_pex/netlist/vacask_writer.py VacaskWriter._subcircuit_lines   17 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._instance_lines   87 6 0   93%
klayout_pex/netlist/vacask_writer.py VacaskWriter._instance_lines.referenced_instance   3 0 0   100%
klayout_pex/netlist/vacask_writer.py VacaskWriter._parameters_text   9 1 0   89%
klayout_pex/netlist/vacask_writer.py VacaskWriter._source_parameters   54 10 0   81%
klayout_pex/netlist/vacask_writer.py VacaskWriter._source_parameters.error   1 0 0   100%
klayout_pex/netlist/vacask_writer.py (no function)   57 0 0   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter.__init__   2 0 0   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter._get_or_create_id   7 0 0   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter.dict_for_ports   7 0 0   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter.dict_for_cells   43 0 1   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter.netlist_json_dict   2 0 0   100%
klayout_pex/netlistsvg/netlist_json.py NetlistJSONWriter.write_json   3 0 0   100%
klayout_pex/netlistsvg/netlist_json.py (no function)   12 0 0   100%
klayout_pex/netlistsvg/netlistsvg_runner.py run_netlistsvg   23 3 0   87%
klayout_pex/netlistsvg/netlistsvg_runner.py (no function)   10 0 0   100%
klayout_pex/openrcx/__init__.py (no function)   0 0 0   100%
klayout_pex/openrcx/pex25d_importer.py OpenRCXUFImporter.import_file   0 0 1   100%
klayout_pex/openrcx/pex25d_importer.py OpenRCXUFImporter.placeholder_file   42 0 0   100%
klayout_pex/openrcx/pex25d_importer.py (no function)   9 0 4   100%
klayout_pex/pdk_config.py PDK.from_string   1 0 0   100%
klayout_pex/pdk_config.py PDK.legacy_aliases   2 0 0   100%
klayout_pex/pdk_config.py PDK.config   14 1 2   93%
klayout_pex/pdk_config.py (no function)   22 0 0   100%
klayout_pex/pex25d/__init__.py _Proto._message_classes   8 0 0   100%
klayout_pex/pex25d/__init__.py _Proto.__getattr__   8 1 0   88%
klayout_pex/pex25d/__init__.py _Proto.__dir__   1 0 0   100%
klayout_pex/pex25d/__init__.py read   2 0 0   100%
klayout_pex/pex25d/__init__.py write   2 0 0   100%
klayout_pex/pex25d/__init__.py (no function)   30 0 0   100%
klayout_pex/pex25d/__main__.py main   3 3 0   0%
klayout_pex/pex25d/__main__.py (no function)   4 0 2   100%
klayout_pex/pex25d/artifact.py ArtifactSpec.is_stdio   1 0 0   100%
klayout_pex/pex25d/artifact.py ArtifactSpec.is_binary   1 0 0   100%
klayout_pex/pex25d/artifact.py ArtifactSpec.__str__   2 0 0   100%
klayout_pex/pex25d/artifact.py named_kind_and_format   7 0 0   100%
klayout_pex/pex25d/artifact.py infer_artifact_spec   14 0 0   100%
klayout_pex/pex25d/artifact.py open_artifact_read   10 6 0   40%
klayout_pex/pex25d/artifact.py open_artifact_write   13 7 0   46%
klayout_pex/pex25d/artifact.py derive_path   11 11 0   0%
klayout_pex/pex25d/artifact.py (no function)   40 0 0   100%
klayout_pex/pex25d/codec.py load_artifact   31 4 0   87%
klayout_pex/pex25d/codec.py _unknown_field_count   8 0 0   100%
klayout_pex/pex25d/codec.py _other_kind   1 0 0   100%
klayout_pex/pex25d/codec.py _holds_the_other_kind   8 2 0   75%
klayout_pex/pex25d/codec.py _other_kind_error   2 0 0   100%
klayout_pex/pex25d/codec.py save_artifact   18 3 0   83%
klayout_pex/pex25d/codec.py (no function)   11 0 0   100%
klayout_pex/pex25d/diagnostics.py Severity.proto_name   1 0 0   100%
klayout_pex/pex25d/diagnostics.py Tier.proto_name   1 0 0   100%
klayout_pex/pex25d/diagnostics.py SourceRef.__str__   6 6 0   0%
klayout_pex/pex25d/diagnostics.py source_ref   9 4 0   56%
klayout_pex/pex25d/diagnostics.py Diagnostic.as_json_dict   6 2 0   67%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.add   1 0 0   100%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.extend   1 1 0   0%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.num_errors   1 0 0   100%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.num_warnings   1 0 0   100%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.exit_code   5 0 0   100%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport.render   9 4 0   56%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport._render_human   19 3 0   84%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport._render_json   6 1 0   83%
klayout_pex/pex25d/diagnostics.py DiagnosticsReport._render_pb   17 17 0   0%
klayout_pex/pex25d/diagnostics.py _fill_source_ref   6 6 0   0%
klayout_pex/pex25d/diagnostics.py io_text_types   2 2 0   0%
klayout_pex/pex25d/diagnostics.py diagnostics_stream   1 0 0   100%
klayout_pex/pex25d/diagnostics.py (no function)   69 0 0   100%
klayout_pex/pex25d/exporters.py export   3 0 0   100%
klayout_pex/pex25d/exporters.py export_with_backend   12 0 0   100%
klayout_pex/pex25d/exporters.py exporter_registry   2 0 0   100%
klayout_pex/pex25d/exporters.py create_fastercap_exporter   2 0 0   100%
klayout_pex/pex25d/exporters.py create_fastcap2_exporter   2 0 0   100%
klayout_pex/pex25d/exporters.py create_stl_exporter   2 0 0   100%
klayout_pex/pex25d/exporters.py (no function)   10 0 4   100%
klayout_pex/pex25d/format_version.py (no function)   3 0 0   100%
klayout_pex/pex25d/importers.py import_file   12 0 0   100%
klayout_pex/pex25d/importers.py importer_registry   2 0 0   100%
klayout_pex/pex25d/importers.py create_openrcx_uf_importer   2 0 1   100%
klayout_pex/pex25d/importers.py (no function)   8 0 5   100%
klayout_pex/pex25d/pex25d_cli.py option_value   4 0 0   100%
klayout_pex/pex25d/pex25d_cli.py _epilog   1 0 0   100%
klayout_pex/pex25d/pex25d_cli.py plugin_tables   16 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._add_special_options   4 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._add_input_argument   5 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._add_output_arguments   5 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._add_diagnostics_arguments   5 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._add_plugin_option_argument   1 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.parse_args   55 3 0   95%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.validate_args   57 5 0   91%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._load   2 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_validate   3 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_convert   7 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_resolve   7 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_export   13 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_import   12 1 0   92%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.run_show   4 0 0   100%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI.main   23 1 0   96%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._run   39 2 0   95%
klayout_pex/pex25d/pex25d_cli.py Pex25DCLI._emit_diagnostics   15 2 0   87%
klayout_pex/pex25d/pex25d_cli.py (no function)   60 0 0   100%
klayout_pex/pex25d/protobuf.py _import   9 6 0   33%
klayout_pex/pex25d/protobuf.py schema_names   3 0 0   100%
klayout_pex/pex25d/protobuf.py schema_module   3 1 0   67%
klayout_pex/pex25d/protobuf.py pex25d_file_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py pex25d_scene_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py pex25d_dielectric_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py pex25d_geometry_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py pex25d_terminal_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py pex25d_diagnostics_pb2   1 1 0   0%
klayout_pex/pex25d/protobuf.py pex25d_source_ref_pb2   1 0 0   100%
klayout_pex/pex25d/protobuf.py kind_for_message   9 0 0   100%
klayout_pex/pex25d/protobuf.py message_class_for_kind   8 0 0   100%
klayout_pex/pex25d/protobuf.py (no function)   27 0 0   100%
klayout_pex/pex25d/reader.py Record.head   1 0 0   100%
klayout_pex/pex25d/reader.py Record.ref   1 0 0   100%
klayout_pex/pex25d/reader.py Cursor.__init__   3 0 0   100%
klayout_pex/pex25d/reader.py Cursor.exhausted   1 0 0   100%
klayout_pex/pex25d/reader.py Cursor.peek   1 0 0   100%
klayout_pex/pex25d/reader.py Cursor.take   6 0 0   100%
klayout_pex/pex25d/reader.py Cursor.keyword   7 0 0   100%
klayout_pex/pex25d/reader.py Cursor.grid   2 0 0   100%
klayout_pex/pex25d/reader.py Cursor.number   2 0 0   100%
klayout_pex/pex25d/reader.py Cursor.end   3 0 0   100%
klayout_pex/pex25d/reader.py split_records   17 3 0   82%
klayout_pex/pex25d/reader.py strip_comment   12 0 0   100%
klayout_pex/pex25d/reader.py tokenize   17 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.__init__   8 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.diagnose   3 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.error   1 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.warn   1 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.source_of   7 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.attach_source   3 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.to_fraction   4 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.to_grid   12 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.to_double   2 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.read   9 1 0   89%
klayout_pex/pex25d/reader.py Pex25DTextReader.consume   10 0 0   100%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_include   20 1 0   95%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_header   21 5 0   76%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_units   26 9 0   65%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_meta   18 1 0   94%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_ground_plane   15 3 0   80%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_metal   12 1 0   92%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_via   12 1 0   92%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_dielectric_simple   22 4 0   82%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_dielectric_conformal   29 4 0   86%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_dielectric_background   14 4 0   71%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_conductor   9 1 0   89%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_box   23 5 0   78%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_polygon   28 5 0   82%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_ring   11 3 0   73%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_terminal   35 9 0   74%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_resistance   40 6 0   85%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_domain_margin   12 2 0   83%
klayout_pex/pex25d/reader.py Pex25DTextReader.read_domain_box   17 2 0   88%
klayout_pex/pex25d/reader.py fill_ring   3 0 0   100%
klayout_pex/pex25d/reader.py read_pex25d_text   1 0 0   100%
klayout_pex/pex25d/reader.py (no function)   71 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.__init__   8 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.diagnose   3 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.resolve   21 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.collect_profiles   27 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.declare   4 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.resolve_ground_plane   8 1 0   88%
klayout_pex/pex25d/resolver.py Resolver.resolve_layers   32 2 0   94%
klayout_pex/pex25d/resolver.py Resolver.chain_of   20 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.wrapped_extent   4 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.declare_dielectric_names   7 0 0   100%
klayout_pex/pex25d/resolver.py Resolver.resolve_dielectrics   38 3 0   92%
klayout_pex/pex25d/resolver.py Resolver.resolve_dielectric_extent   20 3 0   85%
klayout_pex/pex25d/resolver.py Resolver.resolve_conductors   36 4 0   89%
klayout_pex/pex25d/resolver.py Resolver.resolve_terminal   45 3 0   93%
klayout_pex/pex25d/resolver.py Resolver.geometry_bounds   30 2 0   93%
klayout_pex/pex25d/resolver.py Resolver.resolve_domain   22 0 0   100%
klayout_pex/pex25d/resolver.py lateral_of   4 0 0   100%
klayout_pex/pex25d/resolver.py polygon_bounds_tuple   3 0 0   100%
klayout_pex/pex25d/resolver.py polygon_bounds   5 0 0   100%
klayout_pex/pex25d/resolver.py intersect_boxes   10 0 0   100%
klayout_pex/pex25d/resolver.py same_box   1 0 0   100%
klayout_pex/pex25d/resolver.py box_contains   1 0 0   100%
klayout_pex/pex25d/resolver.py boxes_overlap   1 0 0   100%
klayout_pex/pex25d/resolver.py extend   3 0 0   100%
klayout_pex/pex25d/resolver.py fill_box3d   2 0 0   100%
klayout_pex/pex25d/resolver.py clip_polygon   35 2 0   94%
klayout_pex/pex25d/resolver.py resolve   1 0 0   100%
klayout_pex/pex25d/resolver.py (no function)   47 0 0   100%
klayout_pex/pex25d/show.py show   7 1 0   86%
klayout_pex/pex25d/show.py _grid_str   4 4 0   0%
klayout_pex/pex25d/show.py _show_header   6 0 0   100%
klayout_pex/pex25d/show.py _show_meta   6 1 0   83%
klayout_pex/pex25d/show.py _show_layers   14 0 0   100%
klayout_pex/pex25d/show.py _show_dielectrics   8 0 0   100%
klayout_pex/pex25d/show.py _show_conductors   6 0 0   100%
klayout_pex/pex25d/show.py _show_terminals   6 0 0   100%
klayout_pex/pex25d/show.py _show_resistance   8 1 0   88%
klayout_pex/pex25d/show.py _show_domain   11 3 0   73%
klayout_pex/pex25d/show.py (no function)   16 0 0   100%
klayout_pex/pex25d/validator.py Validator.__init__   2 0 0   100%
klayout_pex/pex25d/validator.py Validator.diagnose   1 0 0   100%
klayout_pex/pex25d/validator.py Validator.validate   3 0 0   100%
klayout_pex/pex25d/validator.py Validator.validate_file   18 0 0   100%
klayout_pex/pex25d/validator.py Validator.validate_scene   9 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_units   11 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_wrap_anchoring   15 1 0   93%
klayout_pex/pex25d/validator.py Validator.check_wrap_anchoring.outermost   7 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_conductors   8 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_resistance_coverage   6 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_depth_ties   9 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_names   10 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_resistance_records   10 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_scene_layers   15 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_scene_references   13 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_scene_order   6 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_scene_terminals   16 2 0   88%
klayout_pex/pex25d/validator.py Validator.check_shapes   4 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_box   3 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_polygon   12 0 0   100%
klayout_pex/pex25d/validator.py Validator.check_ring   18 2 0   89%
klayout_pex/pex25d/validator.py Validator.check_conductor_overlap   35 3 0   91%
klayout_pex/pex25d/validator.py Validator.geometric   1 0 0   100%
klayout_pex/pex25d/validator.py Shape.__str__   2 0 0   100%
klayout_pex/pex25d/validator.py shapes_of_file   6 0 0   100%
klayout_pex/pex25d/validator.py shapes_of_scene   6 0 0   100%
klayout_pex/pex25d/validator.py cross3   1 0 0   100%
klayout_pex/pex25d/validator.py dot3   1 0 0   100%
klayout_pex/pex25d/validator.py edges   2 0 0   100%
klayout_pex/pex25d/validator.py on_segment   1 0 0   100%
klayout_pex/pex25d/validator.py segments_meet   7 0 0   100%
klayout_pex/pex25d/validator.py ring_is_simple   13 0 0   100%
klayout_pex/pex25d/validator.py ring_is_collinear   5 1 0   80%
klayout_pex/pex25d/validator.py point_in_ring   9 0 0   100%
klayout_pex/pex25d/validator.py Polygon.rings   2 0 0   100%
klayout_pex/pex25d/validator.py Polygon.all_edges   2 0 0   100%
klayout_pex/pex25d/validator.py point_in_polygon   10 1 0   90%
klayout_pex/pex25d/validator.py ring_strictly_inside   3 0 0   100%
klayout_pex/pex25d/validator.py rings_meet   3 0 0   100%
klayout_pex/pex25d/validator.py crossing_x   8 0 0   100%
klayout_pex/pex25d/validator.py polygons_overlap   27 0 0   100%
klayout_pex/pex25d/validator.py item_of_box   1 0 0   100%
klayout_pex/pex25d/validator.py item_of_polygon   7 1 0   86%
klayout_pex/pex25d/validator.py items_overlap   3 0 0   100%
klayout_pex/pex25d/validator.py polygon_of   3 0 0   100%
klayout_pex/pex25d/validator.py is_scene   1 0 0   100%
klayout_pex/pex25d/validator.py geometric_tier   7 2 0   71%
klayout_pex/pex25d/validator.py validate   3 0 0   100%
klayout_pex/pex25d/validator.py (no function)   80 0 0   100%
klayout_pex/pex25d/writer.py format_exact   19 0 0   100%
klayout_pex/pex25d/writer.py format_double   2 0 0   100%
klayout_pex/pex25d/writer.py quote   5 1 0   80%
klayout_pex/pex25d/writer.py Pex25DTextWriter.__init__   7 1 0   86%
klayout_pex/pex25d/writer.py Pex25DTextWriter.length   1 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.emit   1 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.section   2 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.hint   4 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.emit_record   8 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.wrap_clause   9 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write   9 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_header   22 4 0   82%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_ground_plane   7 2 0   71%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_layers   10 1 0   90%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_dielectrics   22 3 0   86%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_resistance   19 4 0   79%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_resistance.temperature_coefficients   3 1 0   67%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_conductors   19 4 0   79%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_shape   12 1 0   92%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_shape.ring   2 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_terminals   13 0 0   100%
klayout_pex/pex25d/writer.py Pex25DTextWriter.write_domain   10 2 0   80%
klayout_pex/pex25d/writer.py write_pex25d_text   1 0 0   100%
klayout_pex/pex25d/writer.py (no function)   35 0 0   100%
klayout_pex/plugin/__init__.py (no function)   0 0 0   100%
klayout_pex/plugin/exporter_registry.py ExporterRegistry.exporters   1 0 0   100%
klayout_pex/plugin/exporter_registry.py ExporterRegistry.load   1 0 0   100%
klayout_pex/plugin/exporter_registry.py (no function)   13 0 0   100%
klayout_pex/plugin/importer_registry.py ImporterRegistry.importers   1 0 0   100%
klayout_pex/plugin/importer_registry.py ImporterRegistry.load   1 0 0   100%
klayout_pex/plugin/importer_registry.py (no function)   13 0 0   100%
klayout_pex/plugin/registry.py PluginInfo.qualified_name   2 0 0   100%
klayout_pex/plugin/registry.py PluginRegistry.__init__   11 0 0   100%
klayout_pex/plugin/registry.py PluginRegistry.plugins   1 0 0   100%
klayout_pex/plugin/registry.py PluginRegistry.selector   6 2 0   67%
klayout_pex/plugin/registry.py PluginRegistry.get_info   1 0 0   100%
klayout_pex/plugin/registry.py PluginRegistry._registration   15 0 0   100%
klayout_pex/plugin/registry.py PluginRegistry.load   13 0 0   100%
klayout_pex/plugin/registry.py _version_and_summary   7 3 0   57%
klayout_pex/plugin/registry.py (no function)   39 0 0   100%
klayout_pex/plugin_api/__init__.py (no function)   0 0 0   100%
klayout_pex/plugin_api/v1/__init__.py (no function)   8 0 0   100%
klayout_pex/plugin_api/v1/pex25d_importer.py PEX25DImporter.import_file   0 0 1   100%
klayout_pex/plugin_api/v1/pex25d_importer.py (no function)   7 0 6   100%
klayout_pex/plugin_api/v1/pex25d_scene_exporter.py PEX25DSceneExporter.export   0 0 1   100%
klayout_pex/plugin_api/v1/pex25d_scene_exporter.py (no function)   7 0 5   100%
klayout_pex/rcx25/__init__.py (no function)   0 0 0   100%
klayout_pex/rcx25/c/__init__.py (no function)   0 0 0   100%
klayout_pex/rcx25/c/device_capacitor_plates.py DeviceCapacitorPlates.from_circuit   9 0 0   100%
klayout_pex/rcx25/c/device_capacitor_plates.py DeviceCapacitorPlates.are_plates_of_a_device   1 0 0   100%
klayout_pex/rcx25/c/device_capacitor_plates.py DeviceCapacitorPlates.is_plate_edge_of_a_device   1 0 0   100%
klayout_pex/rcx25/c/device_capacitor_plates.py (no function)   14 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer.__init__   1 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer.restore_edge_interval   1 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer.restore_edge   1 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer.restore_polygon   1 0 0   100%
klayout_pex/rcx25/c/geometry_restorer.py GeometryRestorer.restore_region   1 1 0   0%
klayout_pex/rcx25/c/geometry_restorer.py (no function)   8 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor.__init__   7 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor.extract   5 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor.PEXPolygonNeighborhoodVisitor.__init__   8 0 0   100%
klayout_pex/rcx25/c/overlap_extractor.py OverlapExtractor.PEXPolygonNeighborhoodVisitor.neighbors   36 1 0   97%
klayout_pex/rcx25/c/overlap_extractor.py (no function)   13 0 0   100%
klayout_pex/rcx25/c/polygon_utils.py nearest_edge_distance   7 1 0   86%
klayout_pex/rcx25/c/polygon_utils.py find_polygon_with_nearest_edge   6 0 0   100%
klayout_pex/rcx25/c/polygon_utils.py nearest_edge   2 0 0   100%
klayout_pex/rcx25/c/polygon_utils.py (no function)   9 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.__init__   12 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.extract   12 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.__init__   12 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.inside_layer_name   1 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.begin_polygon   1 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.end_polygon   1 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.side_halo   1 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.on_edge   53 2 0   96%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.emit_sidewall   18 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.fringe_cap   15 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.is_gate_edge   2 0 0   100%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py SidewallAndFringeExtractor.PEXEdgeNeighborhoodVisitor.emit_fringe   57 6 0   89%
klayout_pex/rcx25/c/sidewall_and_fringe_extractor.py (no function)   28 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py NodeSite.from_node   9 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py NodeSites.__init__   5 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py NodeSites.nearest   11 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py NodeSites.candidates   13 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py edge_parts   21 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py clip   11 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py signed_area   1 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py Area.from_region   8 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py Area.area   1 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py Area.bbox   3 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py Area.parts   11 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py Area.clipped_to_cell   9 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.__init__   4 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.from_networks   19 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.has_nodes   1 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.whole_capacitance   2 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.whole_capacitance.node_of   1 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.sites   4 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.area_fractions   10 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor.edge_fractions   15 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor._edge_parts   4 0 0   100%
klayout_pex/rcx25/capacitance_distributor.py CapacitanceDistributor._normalized   4 1 0   75%
klayout_pex/rcx25/capacitance_distributor.py (no function)   47 0 0   100%
klayout_pex/rcx25/exclusion.py merged_intervals   6 0 0   100%
klayout_pex/rcx25/exclusion.py intersected_intervals   10 0 0   100%
klayout_pex/rcx25/exclusion.py complemented_intervals   9 0 0   100%
klayout_pex/rcx25/exclusion.py intervals_within   6 1 0   83%
klayout_pex/rcx25/exclusion.py intervals_within.parameter   1 0 0   100%
klayout_pex/rcx25/exclusion.py edge_part   2 0 0   100%
klayout_pex/rcx25/exclusion.py edge_part.point   1 0 0   100%
klayout_pex/rcx25/exclusion.py listed_names   2 0 0   100%
klayout_pex/rcx25/exclusion.py RegionIndex.__init__   1 0 0   100%
klayout_pex/rcx25/exclusion.py RegionIndex.near   10 0 0   100%
klayout_pex/rcx25/exclusion.py MarkerLayer.parse   10 0 0   100%
klayout_pex/rcx25/exclusion.py selected_marker_layers   5 0 0   100%
klayout_pex/rcx25/exclusion.py CutRequest.specification   1 0 0   100%
klayout_pex/rcx25/exclusion.py CutRequest.parse   6 0 0   100%
klayout_pex/rcx25/exclusion.py parsed_cut_requests   6 0 0   100%
klayout_pex/rcx25/exclusion.py CutLayers.of_tech   8 0 0   100%
klayout_pex/rcx25/exclusion.py CutLayers.of_tech.pair   1 0 0   100%
klayout_pex/rcx25/exclusion.py CutLayers.of_tech.drawn_gds_pairs   1 0 0   100%
klayout_pex/rcx25/exclusion.py CutCellInstance._shapes_of   1 0 0   100%
klayout_pex/rcx25/exclusion.py CutCellInstance.shapes_of_layout   6 0 0   100%
klayout_pex/rcx25/exclusion.py CutCellInstance.draws_device   25 0 0   100%
klayout_pex/rcx25/exclusion.py CutCellInstance.draws_device.polygons_at   4 0 0   100%
klayout_pex/rcx25/exclusion.py ExcludedBlock.region_of   1 0 0   100%
klayout_pex/rcx25/exclusion.py ExcludedBlock.applies_between   1 0 0   100%
klayout_pex/rcx25/exclusion.py polygons_by_center_inside   13 0 0   100%
klayout_pex/rcx25/exclusion.py cells_called_by   1 0 0   100%
klayout_pex/rcx25/exclusion.py matches_name   1 0 0   100%
klayout_pex/rcx25/exclusion.py instances_of_cut_cells   12 0 0   100%
klayout_pex/rcx25/exclusion.py instances_of_cut_cells.any_angle_instance_at   9 0 0   100%
klayout_pex/rcx25/exclusion.py instances_of_cut_cells.own_labels   5 0 0   100%
klayout_pex/rcx25/exclusion.py instances_of_cut_cells.visit   12 0 0   100%
klayout_pex/rcx25/exclusion.py names_of_blocks_of_cut_cells   16 0 0   100%
klayout_pex/rcx25/exclusion.py check_instances_of_cut_cells   5 0 0   100%
klayout_pex/rcx25/exclusion.py blocks_of_cut_cells   20 0 0   100%
klayout_pex/rcx25/exclusion.py blocks_of_cut_cells.shapes_of   6 0 0   100%
klayout_pex/rcx25/exclusion.py blocks_of_cut_cells.labels_of   13 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.__init__   20 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.from_region   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.blocks_of_marker_region   6 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.from_layout   15 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.without_shapes   9 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.add_to_cut_cell   9 1 0   89%
klayout_pex/rcx25/exclusion.py Exclusions.conductor_name   16 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.conductor_parts_of_shapes   2 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.conductor_parts_of_shapes.part_within   6 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.conductor_parts_of_vias   2 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.conductor_parts_of_vias.part_within   8 1 0   88%
klayout_pex/rcx25/exclusion.py Exclusions.parts_within_blocks   14 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.leaves_out_to_substrate   3 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.leaves_out_between   3 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.capacitance_matrix_of_nets   17 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.leaves_out_capacitance_of_net   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.mask   11 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.mask_near   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.block_indexes_touching   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.block_index_with_ports_at   4 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.block_index_with_ports_at.touches   2 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.block_indexes_with_ports_within   3 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.block_indexes_with_ports_within.overlaps   2 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.is_only_label_of_cut_cell   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.is_only_named_by_cut_cells   3 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.labels_at   10 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.net_of_capacitance   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.has_pieces   1 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.area_parts   16 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.edge_parts   14 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.blocks_touching   2 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.excluded_area   11 0 0   100%
klayout_pex/rcx25/exclusion.py Exclusions.kept_edge_parts   17 0 0   100%
klayout_pex/rcx25/exclusion.py (no function)   137 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.__init__   7 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_common   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_pins   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_request   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_tech   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_request_devices   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_request_pins   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_request_network_extraction   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_result   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_result_networks   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_nodes   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_rex_elements   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_devices   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_vias   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_overlap   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_sidewall   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_fringe   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.cat_edge_neighborhood   1 1 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.save   1 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_shapes   3 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_overlap   10 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_sidewall   7 5 0   29%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_sideoverlap   14 1 0   93%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_edge_neighborhood   10 10 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_devices   2 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_device_terminals   4 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_device   6 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_pins   2 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_pb_pin   3 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_via   3 3 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_pin   4 4 0   0%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_rex_tech   10 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_net_extraction_request   8 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_rex_request   5 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_rex_result_network   9 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_rex_result   2 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.marker_box_for_pb_point   9 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.marker_box_for_node_location   6 0 2   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.marker_arrow_between_nodes   4 0 0   100%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_node   17 2 2   88%
klayout_pex/rcx25/extraction_reporter.py ExtractionReporter.output_element   8 0 0   100%
klayout_pex/rcx25/extraction_reporter.py (no function)   77 0 0   100%
klayout_pex/rcx25/extraction_results.py SideOverlapKey.__repr__   1 1 0   0%
klayout_pex/rcx25/extraction_results.py SideOverlapKey.__post_init__   8 4 0   50%
klayout_pex/rcx25/extraction_results.py SideOverlapCap.__str__   1 1 0   0%
klayout_pex/rcx25/extraction_results.py NetCoupleKey.__repr__   1 1 0   0%
klayout_pex/rcx25/extraction_results.py NetCoupleKey.__lt__   3 1 0   67%
klayout_pex/rcx25/extraction_results.py NetCoupleKey.__post_init__   4 2 0   50%
klayout_pex/rcx25/extraction_results.py NetCoupleKey.normed   3 0 0   100%
klayout_pex/rcx25/extraction_results.py parallel_resistance   3 0 0   100%
klayout_pex/rcx25/extraction_results.py add_resistance   3 0 0   100%
klayout_pex/rcx25/extraction_results.py add_distributed_capacitance   3 0 0   100%
klayout_pex/rcx25/extraction_results.py merged_small_capacitances   15 0 0   100%
klayout_pex/rcx25/extraction_results.py ExtractionSummary.merged   14 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network   53 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network.is_port   1 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network.default_name   9 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network.has_pin   1 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network.group_name   7 0 0   100%
klayout_pex/rcx25/extraction_results.py NetworkNodeNames.from_network.put_on_net   5 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.net_of_capacitance   1 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.has_net_pieces   1 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.are_apart   1 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.kept_overlap_caps   18 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.add_overlap_cap   4 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.kept_edge_caps   19 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.add_sidewall_cap   6 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.add_sideoverlap_cap   7 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.label_port_names   18 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.nets_joined_by_substrate   2 0 0   100%
klayout_pex/rcx25/extraction_results.py CellExtractionResults.summarize   59 0 0   100%
klayout_pex/rcx25/extraction_results.py ExtractionResults.summarize   2 0 0   100%
klayout_pex/rcx25/extraction_results.py (no function)   127 0 0   100%
klayout_pex/rcx25/extractor.py is_on_tap   3 0 0   100%
klayout_pex/rcx25/extractor.py is_on_well   3 0 0   100%
klayout_pex/rcx25/extractor.py devices_of_cut_cells   41 3 0   93%
klayout_pex/rcx25/extractor.py add_filled_diffusion_to_cut_cells   17 0 0   100%
klayout_pex/rcx25/extractor.py prepare_exclusions   53 1 0   98%
klayout_pex/rcx25/extractor.py prepare_exclusions.is_whiteboxed   1 0 0   100%
klayout_pex/rcx25/extractor.py prepare_exclusions.is_removed   1 0 0   100%
klayout_pex/rcx25/extractor.py prepare_exclusions.is_connected   2 0 0   100%
klayout_pex/rcx25/extractor.py prepare_exclusions.is_plate_within   3 0 0   100%
klayout_pex/rcx25/extractor.py prepare_exclusions.has_plates_within_a_block   13 0 0   100%
klayout_pex/rcx25/extractor.py warn_of_ports_without_nodes   2 0 0   100%
klayout_pex/rcx25/extractor.py RCX25Extractor.__init__   11 1 0   91%
klayout_pex/rcx25/extractor.py RCX25Extractor.gds_pair   1 0 0   100%
klayout_pex/rcx25/extractor.py RCX25Extractor.shapes_of_layer   7 1 0   86%
klayout_pex/rcx25/extractor.py RCX25Extractor.substrate_region   21 1 0   95%
klayout_pex/rcx25/extractor.py RCX25Extractor.substrate_region.insert   2 0 0   100%
klayout_pex/rcx25/extractor.py RCX25Extractor.extract   14 4 0   71%
klayout_pex/rcx25/extractor.py RCX25Extractor.extract_cell   65 0 0   100%
klayout_pex/rcx25/extractor.py (no function)   37 0 0   100%
klayout_pex/rcx25/netlist_checks.py first_names   1 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_rc_netlist   129 7 0   95%
klayout_pex/rcx25/netlist_checks.py check_rc_netlist.id_of   1 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_rc_netlist.lvs_net_name   1 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_rc_netlist.net_pair   1 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_rc_netlist.rc_net   3 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_schematic_device_classes   5 0 0   100%
klayout_pex/rcx25/netlist_checks.py _DeviceTotals.__init__   2 0 0   100%
klayout_pex/rcx25/netlist_checks.py _DeviceTotals.add   4 0 0   100%
klayout_pex/rcx25/netlist_checks.py _circuit_counts   5 0 0   100%
klayout_pex/rcx25/netlist_checks.py _circuit_counts.count   4 0 0   100%
klayout_pex/rcx25/netlist_checks.py check_schematic_device_totals   31 0 0   100%
klayout_pex/rcx25/netlist_checks.py (no function)   27 0 0   100%
klayout_pex/rcx25/netlist_expander.py RCX25NetlistExpander.is_whiteboxed   1 0 0   100%
klayout_pex/rcx25/netlist_expander.py RCX25NetlistExpander.expand   91 2 0   98%
klayout_pex/rcx25/netlist_expander.py RCX25NetlistExpander.expand.add_net_if_needed   3 0 0   100%
klayout_pex/rcx25/netlist_expander.py (no function)   15 0 0   100%
klayout_pex/rcx25/pex_mode.py PEXMode.need_capacitance   5 0 2   100%
klayout_pex/rcx25/pex_mode.py PEXMode.need_resistance   5 0 2   100%
klayout_pex/rcx25/pex_mode.py (no function)   8 0 0   100%
klayout_pex/rcx25/r/__init__.py (no function)   0 0 0   100%
klayout_pex/rcx25/r/r_extractor.py ideal_layer_id   1 0 0   100%
klayout_pex/rcx25/r/r_extractor.py ConnectedShapesWithin.__init__   15 0 0   100%
klayout_pex/rcx25/r/r_extractor.py ConnectedShapesWithin.polygon_at   7 0 0   100%
klayout_pex/rcx25/r/r_extractor.py ConnectedShapesWithin.set_at   2 0 0   100%
klayout_pex/rcx25/r/r_extractor.py ConnectedShapesWithin.set_at_position   6 0 0   100%
klayout_pex/rcx25/r/r_extractor.py label_names_net   6 0 0   100%
klayout_pex/rcx25/r/r_extractor.py keep_pins_of_top_circuit   11 0 0   100%
klayout_pex/rcx25/r/r_extractor.py port_of_cut   13 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.__init__   9 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.prepare_r_extractor_tech_pb   138 10 0   93%
klayout_pex/rcx25/r/r_extractor.py RExtractor.add_ideal_layers   12 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.prepare_request   37 2 2   95%
klayout_pex/rcx25/r/r_extractor.py RExtractor.prepare_request.get_or_create_net_request   6 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.node_name   8 0 2   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.split_at_exclusions   110 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.split_at_exclusions.is_ideal   1 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.split_at_exclusions.add_port   3 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.sets_of_cuts   6 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.exclusion_port_names   52 1 0   98%
klayout_pex/rcx25/r/r_extractor.py RExtractor.exclusion_port_names.block_index_of_pin   1 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.exclusion_port_names.distance   2 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.exclusion_port_names.numbered_name   7 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.exclusion_port_names.name_at_terminal_of_removed_device   4 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.labels_at_shapes   7 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.terminal_port_names   25 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.internal_node_indexes   8 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.internal_node_indexes.location   6 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.extract   160 4 5   98%
klayout_pex/rcx25/r/r_extractor.py RExtractor.add_tie   5 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.add_nodes_within_markers   20 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.add_nodes_within_markers.add_node   13 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.add_nodes_within_markers.add_to_set   2 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.find_net_pieces   41 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.find_net_pieces.with_substrate   7 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.find_net_pieces.piece_name   3 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.find_net_pieces.block_index_of   4 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.network_pieces   10 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.isolated_well_node_ids   4 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.isolated_well_node_ids.is_port   1 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.substrate_joined_node_ids   14 1 0   93%
klayout_pex/rcx25/r/r_extractor.py RExtractor.node_box   7 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.node_boxes   5 0 0   100%
klayout_pex/rcx25/r/r_extractor.py RExtractor.node_ids_at   8 0 0   100%
klayout_pex/rcx25/r/r_extractor.py (no function)   90 0 0   100%
klayout_pex/rcx25/types.py (no function)   9 0 0   100%
klayout_pex/schematic_devices.py SchematicDevices.device_names_by_class_name   1 0 0   100%
klayout_pex/schematic_devices.py schematic_devices   16 0 0   100%
klayout_pex/schematic_devices.py schematic_devices.parameter_names   1 0 0   100%
klayout_pex/schematic_devices.py (no function)   22 0 0   100%
klayout_pex/stl/__init__.py (no function)   0 0 0   100%
klayout_pex/stl/pex25d_exporter.py STLSceneExporter.export   7 0 0   100%
klayout_pex/stl/pex25d_exporter.py (no function)   12 0 3   100%
klayout_pex/tech_info.py TechInfo.duplicate_names   19 0 0   100%
klayout_pex/tech_info.py TechInfo.parse_tech_def   10 0 0   100%
klayout_pex/tech_info.py TechInfo.process_layer_problems   1 0 0   100%
klayout_pex/tech_info.py TechInfo.from_json   2 0 0   100%
klayout_pex/tech_info.py TechInfo.__init__   2 0 0   100%
klayout_pex/tech_info.py TechInfo.gds_pair_for_computed_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.computed_layer_info_by_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.device_models   1 0 0   100%
klayout_pex/tech_info.py TechInfo.device_gds_pairs   4 0 0   100%
klayout_pex/tech_info.py TechInfo.computed_layer_info_by_gds_pair   1 0 0   100%
klayout_pex/tech_info.py TechInfo.canonical_layer_name_by_gds_pair   1 0 0   100%
klayout_pex/tech_info.py TechInfo.layer_info_by_name   1 1 0   0%
klayout_pex/tech_info.py TechInfo.pin_layer_mapping_for_drw_gds_pair   1 1 0   0%
klayout_pex/tech_info.py TechInfo.gds_pair_for_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.layer_info_by_gds_pair   1 0 0   100%
klayout_pex/tech_info.py TechInfo.process_stack_layer_by_name   1 1 0   0%
klayout_pex/tech_info.py TechInfo.process_stack_layer_by_gds_pair   1 1 0   0%
klayout_pex/tech_info.py TechInfo.process_substrate_layer   1 0 0   100%
klayout_pex/tech_info.py TechInfo.process_conductor_gds_pairs   8 0 0   100%
klayout_pex/tech_info.py TechInfo.lvs_layer_names_by_process_layer_name   4 0 0   100%
klayout_pex/tech_info.py TechInfo._process_layers_of_lvs_layers   30 0 0   100%
klayout_pex/tech_info.py TechInfo.process_layer_name_by_lvs_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.process_diffusion_layers   1 0 0   100%
klayout_pex/tech_info.py TechInfo.process_diffusion_layer_names   2 0 0   100%
klayout_pex/tech_info.py TechInfo.substrate_well_layer_names   1 0 0   100%
klayout_pex/tech_info.py TechInfo.device_capacitance_layer_names   2 0 0   100%
klayout_pex/tech_info.py TechInfo.is_device_capacitance   1 0 0   100%
klayout_pex/tech_info.py TechInfo.gate_poly_layer   1 0 0   100%
klayout_pex/tech_info.py TechInfo.field_oxide_layer   1 0 0   100%
klayout_pex/tech_info.py TechInfo.process_metal_layers   1 0 0   100%
klayout_pex/tech_info.py TechInfo.filtered_dielectric_layers   7 0 0   100%
klayout_pex/tech_info.py TechInfo.dielectric_by_name   8 0 0   100%
klayout_pex/tech_info.py TechInfo.conformal_dielectric_wrapping   13 1 0   92%
klayout_pex/tech_info.py TechInfo.simple_dielectric_above_metal   13 0 0   100%
klayout_pex/tech_info.py TechInfo.contact_above_metal_layer_name   7 7 0   0%
klayout_pex/tech_info.py TechInfo.contact_by_contact_lvs_layer_name   11 0 0   100%
klayout_pex/tech_info.py TechInfo.gds_pair   7 2 0   71%
klayout_pex/tech_info.py TechInfo.bottom_and_top_layer_name_by_via_computed_layer_name   8 0 0   100%
klayout_pex/tech_info.py TechInfo.layer_resistance_by_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.contact_resistance_by_device_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.via_resistance_by_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.milliohm_to_ohm   1 0 0   100%
klayout_pex/tech_info.py TechInfo.milliohm_by_cnt_to_ohm_by_square_for_contact   2 0 0   100%
klayout_pex/tech_info.py TechInfo.milliohm_by_cnt_to_ohm_by_square_for_via   2 0 0   100%
klayout_pex/tech_info.py TechInfo.substrate_cap_by_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.overlap_cap_by_layer_names   9 0 0   100%
klayout_pex/tech_info.py TechInfo.overlap_cap_by_layer_names.convert_substrate_to_overlap_cap   5 0 0   100%
klayout_pex/tech_info.py TechInfo.sidewall_cap_by_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.internal_substrate_layer_name   1 0 0   100%
klayout_pex/tech_info.py TechInfo.side_overlap_cap_by_layer_names   7 0 0   100%
klayout_pex/tech_info.py TechInfo.side_overlap_cap_by_layer_names.convert_substrate_to_side_overlap_cap   5 0 0   100%
klayout_pex/tech_info.py (no function)   107 0 0   100%
klayout_pex/tool_version_constraints.py Tool.env_var   5 0 1   100%
klayout_pex/tool_version_constraints.py Tool.version_argument   3 0 0   100%
klayout_pex/tool_version_constraints.py Tool.parse_version   13 2 0   85%
klayout_pex/tool_version_constraints.py Tool.detect_version   6 0 0   100%
klayout_pex/tool_version_constraints.py ToolVersionConstraint.specifier_set   1 0 0   100%
klayout_pex/tool_version_constraints.py ToolVersionConstraint.is_satisfied_by   1 0 0   100%
klayout_pex/tool_version_constraints.py ToolVersionConstraint.applies_to   1 0 0   100%
klayout_pex/tool_version_constraints.py applicable_constraints   1 0 0   100%
klayout_pex/tool_version_constraints.py effective_version_range   1 0 0   100%
klayout_pex/tool_version_constraints.py check_tool_versions   28 8 0   71%
klayout_pex/tool_version_constraints.py (no function)   53 0 0   100%
klayout_pex/types.py (no function)   11 0 0   100%
klayout_pex/util/__init__.py (no function)   0 0 0   100%
klayout_pex/util/argparse_helpers.py _group_name   1 0 0   100%
klayout_pex/util/argparse_helpers.py render_enum_help   14 0 0   100%
klayout_pex/util/argparse_helpers.py render_enum_help.canonic_string   5 1 0   80%
klayout_pex/util/argparse_helpers.py true_or_false   9 1 0   89%
klayout_pex/util/argparse_helpers.py SectionedHelpFormatter.add_argument   2 0 0   100%
klayout_pex/util/argparse_helpers.py add_subcommand_sections   14 0 0   100%
klayout_pex/util/argparse_helpers.py add_help_subcommand   2 0 0   100%
klayout_pex/util/argparse_helpers.py handle_help_subcommand   6 0 0   100%
klayout_pex/util/argparse_helpers.py positive_spice_seconds   7 0 0   100%
klayout_pex/util/argparse_helpers.py _FormerOptionName.__init__   2 0 0   100%
klayout_pex/util/argparse_helpers.py _FormerOptionName.__call__   4 0 0   100%
klayout_pex/util/argparse_helpers.py add_argument_with_former_name   7 0 0   100%
klayout_pex/util/argparse_helpers.py warn_deprecated_options   2 0 0   100%
klayout_pex/util/argparse_helpers.py log_level_by_name   4 0 0   100%
klayout_pex/util/argparse_helpers.py add_log_level_argument   1 0 0   100%
klayout_pex/util/argparse_helpers.py (no function)   29 0 0   100%
klayout_pex/util/disjoint_sets.py DisjointSets.__init__   1 0 0   100%
klayout_pex/util/disjoint_sets.py DisjointSets.find   4 0 0   100%
klayout_pex/util/disjoint_sets.py DisjointSets.union   1 0 0   100%
klayout_pex/util/disjoint_sets.py (no function)   5 0 0   100%
klayout_pex/util/multiple_choice.py MultipleChoicePattern.__init__   13 3 0   77%
klayout_pex/util/multiple_choice.py MultipleChoicePattern.filter   3 3 0   0%
klayout_pex/util/multiple_choice.py MultipleChoicePattern.is_included   5 1 0   80%
klayout_pex/util/multiple_choice.py (no function)   6 0 0   100%
klayout_pex/util/peak_memory.py _windows_peak_working_set   14 14 0   0%
klayout_pex/util/peak_memory.py _linux_peak_resident_set_size   6 2 0   67%
klayout_pex/util/peak_memory.py peak_memory   6 1 0   83%
klayout_pex/util/peak_memory.py format_bytes   4 0 0   100%
klayout_pex/util/peak_memory.py log_peak_memory   3 0 0   100%
klayout_pex/util/peak_memory.py (no function)   14 0 0   100%
klayout_pex/util/stdio.py use_utf8_stdio   3 3 0   0%
klayout_pex/util/stdio.py (no function)   4 0 0   100%
klayout_pex/util/unit_formatter.py format_spice_number   30 7 0   77%
klayout_pex/util/unit_formatter.py format_spice_resistance   1 0 0   100%
klayout_pex/util/unit_formatter.py parse_spice_number   13 0 0   100%
klayout_pex/util/unit_formatter.py (no function)   11 0 0   100%
klayout_pex/version.py (no function)   1 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/__init__.py create_exporter   1 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/__init__.py (no function)   3 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/exporter.py ElmerExporterOptions.__post_init__   3 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/exporter.py ElmerSceneExporter.export   8 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/exporter.py elmer_sif   13 0 0   100%
plugins/klayout-pex-plugin-elmer/src/klayout_pex_plugins/elmer/exporter.py (no function)   23 0 3   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/__init__.py create_exporter   1 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/__init__.py (no function)   5 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/exporter.py GmshSceneExporter.export   3 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/exporter.py (no function)   9 0 3   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py MeshResult.paths   1 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py write_mesh   17 2 0   88%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _session   10 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _build   50 2 0   96%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _extrude   4 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _curve_loop   7 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _physical_group   3 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _generate   21 1 0   95%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _refine_at_conductor_edges   16 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _groups_document   2 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py _groups_document.entry   5 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/mesh.py (no function)   52 0 5   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/options.py GmshMeshOptions.__post_init__   14 1 0   93%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/options.py parse_options   4 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/options.py (no function)   20 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py SceneSolids.um   1 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py length_unit_um   5 1 0   80%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py scene_solids   1 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder.__init__   10 1 0   90%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._field_box   9 1 0   89%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder.field_region   1 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder.build   15 1 0   93%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._conductor_claims   12 1 0   92%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._z_extent   8 1 0   88%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._solid   3 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._compute_solid   27 3 0   89%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._bottom   5 1 0   80%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._shapes_of_layer   6 0 0   100%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py _SolidsBuilder._disjoint_prisms   29 1 0   97%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py region_of   9 1 0   89%
plugins/klayout-pex-plugin-gmsh/src/klayout_pex_plugins/gmsh/solids.py (no function)   52 0 3   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/__init__.py create_exporter   1 0 0   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/__init__.py (no function)   3 0 0   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/exporter.py PalaceExporterOptions.__post_init__   5 0 0   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/exporter.py PalaceSceneExporter.export   9 0 0   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/exporter.py palace_config   4 0 0   100%
plugins/klayout-pex-plugin-palace/src/klayout_pex_plugins/palace/exporter.py (no function)   24 0 3   100%
Total     13990 981 128   93%

No items found using the specified filter.