Coverage report: 79%

Files Functions Classes

coverage.py v7.10.6, created at 2025-09-10 16:56 -0400

File function statements missing excluded coverage
src/pymetallic/__init__.py (no function) 6 3 0 50%
src/pymetallic/helpers.py StopWatch.__init__ 3 0 0 100%
src/pymetallic/helpers.py StopWatch.__enter__ 1 0 0 100%
src/pymetallic/helpers.py StopWatch.__exit__ 2 0 0 100%
src/pymetallic/helpers.py StopWatch.__str__ 3 3 0 0%
src/pymetallic/helpers.py AnimateIt.__init__ 12 0 0 100%
src/pymetallic/helpers.py AnimateIt.colorize 36 36 0 0%
src/pymetallic/helpers.py AnimateIt.add_frame 7 6 0 14%
src/pymetallic/helpers.py AnimateIt.save 6 4 0 33%
src/pymetallic/helpers.py AnimateIt.show 3 1 0 67%
src/pymetallic/helpers.py display_array 28 26 0 7%
src/pymetallic/helpers.py MetallicDemo.__init__ 10 2 0 80%
src/pymetallic/helpers.py MetallicDemo.print 2 1 0 50%
src/pymetallic/helpers.py MetallicDemo.initialize_metal 13 3 0 77%
src/pymetallic/helpers.py MetallicDemo.demo_basic_compute 38 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_matrix_operations 32 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_advanced_features 33 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_memory_patterns 15 2 0 87%
src/pymetallic/helpers.py MetallicDemo.demo_image_processing 53 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_cellular_automata 36 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_fluid_dynamics 159 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_fluid_dynamics.gauss 1 0 0 100%
src/pymetallic/helpers.py MetallicDemo.benchmark_matrix_multiply 17 1 0 94%
src/pymetallic/helpers.py MetallicDemo.benchmark_vector_operations 16 1 0 94%
src/pymetallic/helpers.py MetallicDemo.demo_device_info 8 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_performance_benchmark 6 0 0 100%
src/pymetallic/helpers.py MetallicDemo.demo_error_handling 18 2 0 89%
src/pymetallic/helpers.py MetallicDemo.get_demos 2 0 0 100%
src/pymetallic/helpers.py MetallicDemo.run_complete_demo 15 15 0 0%
src/pymetallic/helpers.py MetalMatrixOperations.__init__ 4 0 0 100%
src/pymetallic/helpers.py MetalMatrixOperations._compile_shaders 9 0 0 100%
src/pymetallic/helpers.py MetalMatrixOperations.matrix_multiply 29 1 0 97%
src/pymetallic/helpers.py MetalMatrixOperations.vector_operations 25 2 0 92%
src/pymetallic/helpers.py MetalMatrixOperations.vector_scale 17 17 0 0%
src/pymetallic/helpers.py MetalMatrixOperations.gaussian_blur_5x5 21 21 0 0%
src/pymetallic/helpers.py run_comprehensive_example 68 68 0 0%
src/pymetallic/helpers.py (no function) 57 6 0 89%
src/pymetallic/metallic.py _load_metal_library 8 4 0 50%
src/pymetallic/metallic.py _setup_function_signatures 43 0 0 100%
src/pymetallic/metallic.py _get_metal_lib 4 0 0 100%
src/pymetallic/metallic.py Device.__init__ 1 0 0 100%
src/pymetallic/metallic.py Device.get_default_device 5 1 0 80%
src/pymetallic/metallic.py Device.get_all_devices 11 1 0 91%
src/pymetallic/metallic.py Device.name 3 0 0 100%
src/pymetallic/metallic.py Device.supports_shader_barycentric_coordinates 2 0 0 100%
src/pymetallic/metallic.py Device.make_compute_pipeline_state 1 0 0 100%
src/pymetallic/metallic.py Device.make_buffer_from_numpy 2 0 0 100%
src/pymetallic/metallic.py Device.make_buffer 2 0 0 100%
src/pymetallic/metallic.py Device.make_command_queue 1 0 0 100%
src/pymetallic/metallic.py Device.make_library 1 0 0 100%
src/pymetallic/metallic.py CommandQueue.__init__ 5 1 0 80%
src/pymetallic/metallic.py CommandQueue.make_command_buffer 1 0 0 100%
src/pymetallic/metallic.py Buffer._storage_mode_to_resource_options 8 3 0 62%
src/pymetallic/metallic.py Buffer.__init__ 7 1 0 86%
src/pymetallic/metallic.py Buffer.from_numpy 11 1 0 91%
src/pymetallic/metallic.py Buffer.to_numpy 24 5 0 79%
src/pymetallic/metallic.py Library.__init__ 5 0 0 100%
src/pymetallic/metallic.py Library.make_function 5 0 0 100%
src/pymetallic/metallic.py Function.__init__ 3 0 0 100%
src/pymetallic/metallic.py ComputePipelineState.__init__ 6 1 0 83%
src/pymetallic/metallic.py CommandBuffer.__init__ 5 1 0 80%
src/pymetallic/metallic.py CommandBuffer.make_compute_command_encoder 1 0 0 100%
src/pymetallic/metallic.py CommandBuffer.commit 2 0 0 100%
src/pymetallic/metallic.py CommandBuffer.wait_until_completed 2 0 0 100%
src/pymetallic/metallic.py CommandBuffer.compute_command_encoder 1 1 0 0%
src/pymetallic/metallic.py ComputeCommandEncoder.__init__ 5 1 0 80%
src/pymetallic/metallic.py ComputeCommandEncoder.set_compute_pipeline_state 2 0 0 100%
src/pymetallic/metallic.py ComputeCommandEncoder.set_buffer 2 0 0 100%
src/pymetallic/metallic.py ComputeCommandEncoder.set_threadgroup_memory_length 2 0 0 100%
src/pymetallic/metallic.py ComputeCommandEncoder.dispatch_threads 4 0 0 100%
src/pymetallic/metallic.py ComputeCommandEncoder.dispatch_threadgroups 4 0 0 100%
src/pymetallic/metallic.py ComputeCommandEncoder.end_encoding 2 0 0 100%
src/pymetallic/metallic.py run_simple_compute_example 25 25 0 0%
src/pymetallic/metallic.py (no function) 62 0 0 100%
src/tests/__init__.py (no function) 0 0 0 100%
src/tests/test_pymetal.py metal_device 7 3 0 57%
src/tests/test_pymetal.py command_queue 1 0 0 100%
src/tests/test_pymetal.py sample_data 2 0 0 100%
src/tests/test_pymetal.py TestPyMetalCore.test_device_initialization 4 0 0 100%
src/tests/test_pymetal.py TestPyMetalCore.test_multiple_devices 6 0 0 100%
src/tests/test_pymetal.py TestPyMetalCore.test_command_queue_creation 4 0 0 100%
src/tests/test_pymetal.py TestPyMetalCore.test_buffer_creation_and_access 7 0 0 100%
src/tests/test_pymetal.py TestPyMetalCore.test_buffer_memory_modes 10 2 0 80%
src/tests/test_pymetal.py TestPyMetalCore.test_library_and_function_creation 7 0 0 100%
src/tests/test_pymetal.py TestPyMetalComputeOperations.test_basic_vector_operation 22 0 0 100%
src/tests/test_pymetal.py TestPyMetalComputeOperations.test_matrix_operations 22 0 0 100%
src/tests/test_pymetal.py TestPyMetalComputeOperations.test_parallel_reductions 23 0 0 100%
src/tests/test_pymetal.py TestPyMetalErrorHandling.test_invalid_shader_compilation 3 0 0 100%
src/tests/test_pymetal.py TestPyMetalErrorHandling.test_nonexistent_function 4 0 0 100%
src/tests/test_pymetal.py TestPyMetalErrorHandling.test_invalid_buffer_sizes 1 0 0 100%
src/tests/test_pymetal.py TestPyMetalErrorHandling.test_invalid_dispatch_dimensions 1 0 0 100%
src/tests/test_pymetal.py TestPyMetalPerformance.test_large_array_operations 22 0 0 100%
src/tests/test_pymetal.py TestPyMetalPerformance.test_memory_throughput_benchmark 15 0 0 100%
src/tests/test_pymetal.py test_demos 4 0 0 100%
src/tests/test_pymetal.py (no function) 36 2 0 94%
Total   1290 274 0 79%

No items found using the specified filter.