diff --git a/.gitignore b/.gitignore index 606e270..dc0470a 100644 --- a/.gitignore +++ b/.gitignore @@ -644,4 +644,10 @@ Temporary Items /.what-is-this.md # SpecStory derived-cursor-rules.mdc backup files /ai_rules_backups/* -.specstory/ai_rules_backups/* \ No newline at end of file +.specstory/ai_rules_backups/* + +# Claude.ai local settings +.claude/settings.local.json + +# ImGui.ini files +imgui.ini diff --git a/CHANGELOG.md b/CHANGELOG.md index e17ad02..5446f4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,161 +1,451 @@ -## v1.0.20-pre.1 (prerelease) +## v1.0.35 (patch) -Changes since v1.0.20-pre.1: -## v1.0.20-pre.1 (prerelease) +Changes since v1.0.34: + +- Bump Polyfill from 10.4.0 to 10.5.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.3.0 to 10.4.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump MSTest.Sdk from 4.2.1 to 4.2.2 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.1.1 to 10.3.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.0.0 to 10.1.1 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump MSTest.Sdk from 4.1.0 to 4.2.1 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.24.0 to 10.0.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.23.0 to 9.24.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.22.0 to 9.23.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.18.0 to 9.22.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.17.0 to 9.18.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.16.0 to 9.17.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.13.0 to 9.16.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.12.0 to 9.13.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.34 (patch) + +Changes since v1.0.33: + +- Bump Polyfill from 9.11.0 to 9.12.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.33 (patch) + +Changes since v1.0.32: + +- Bump Polyfill from 9.10.0 to 9.11.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.32 (patch) + +Changes since v1.0.31: + +- Bump Polyfill from 9.9.0 to 9.10.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.31 (patch) + +Changes since v1.0.30: + +- Enhance GitHub Actions workflow with version bump input options and improve KtsuBuild cloning logic ([@matt-edmondson](https://github.com/matt-edmondson)) +- Bump Polyfill from 9.8.1 to 9.9.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.31-pre.1 (prerelease) + +No significant changes detected since v1.0.31. + +## v1.0.30 (patch) + +Changes since v1.0.29: + +- Add ktsu.RoundTripStringJsonConverter package reference and update SemanticString to use its JsonConverter ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.30-pre.10 (prerelease) + +Changes since v1.0.30-pre.9: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.9 (prerelease) + +Changes since v1.0.30-pre.8: + +- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.8 (prerelease) + +Changes since v1.0.30-pre.7: + +- Bump Polyfill from 9.8.0 to 9.8.1 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump MSTest.Sdk from 4.0.2 to 4.1.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.30-pre.7 (prerelease) + +Changes since v1.0.30-pre.6: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.6 (prerelease) + +Changes since v1.0.30-pre.5: + +- Bump Polyfill from 9.7.7 to 9.8.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.30-pre.5 (prerelease) + +Changes since v1.0.30-pre.4: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.4 (prerelease) + +Changes since v1.0.30-pre.3: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync COPYRIGHT.md ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.3 (prerelease) + +Changes since v1.0.30-pre.2: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.2 (prerelease) + +Changes since v1.0.30-pre.1: + +- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync COPYRIGHT.md ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.30-pre.1 (prerelease) + +No significant changes detected since v1.0.30. + +## v1.0.29 (patch) + +Changes since v1.0.28: + +- Refactor validation strategy null checks to use Ensure.NotNull for consistency ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance test assertions with descriptive messages for clarity ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.29-pre.6 (prerelease) + +Changes since v1.0.29-pre.5: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.29-pre.5 (prerelease) + +Changes since v1.0.29-pre.4: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Bump Polyfill from 9.7.5 to 9.7.6 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.29-pre.4 (prerelease) + +Changes since v1.0.29-pre.3: + +- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.29-pre.3 (prerelease) + +Changes since v1.0.29-pre.2: + +- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot])) +- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot])) + +## v1.0.29-pre.2 (prerelease) + +Changes since v1.0.29-pre.1: + +- Bump Polyfill from 9.7.4 to 9.7.5 ([@dependabot[bot]](https://github.com/dependabot[bot])) + +## v1.0.29-pre.1 (prerelease) + +No significant changes detected since v1.0.29. + +## v1.0.28 (patch) + +Changes since v1.0.27: + +- Update suppression targets in CompatibilitySuppressions.xml for attribute consistency ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.27 (patch) + +Changes since v1.0.26: + +- Remove unnecessary blank line in PerformanceRegressionTests class ([@matt-edmondson](https://github.com/matt-edmondson)) +- Remove performance variance checks from quantity creation test for consistency ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update .NET version to 10.0 and adjust coverage reporting for SonarQube integration ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor validation attributes and update path-related records for consistency ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update System.Memory package version to 4.6.3 ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor null checks to use Ensure instead of Guard; update target frameworks and package references ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.26 (patch) + +Changes since v1.0.25: + +- Increase performance variance threshold in regression tests to 70% for CI environment consistency ([@matt-edmondson](https://github.com/matt-edmondson)) +- Remove Polyfill package references and update test assertions for clarity ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.25 (patch) + +Changes since v1.0.24: + +- Add DirectoryName type and improve path validation semantics ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.24 (patch) + +Changes since v1.0.23: + +- Enhance project detection logic to support multi-project solutions ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.23 (patch) + +Changes since v1.0.22: + +- Add compatibility supression files ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.22 (patch) + +Changes since v1.0.21: + +- Modernize codebase and simplify multi-framework support ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update project configurations and SDK versions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor testing and coverage configuration ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.21 (patch) + +Changes since v1.0.20: + +- Add unit tests for AcousticOperator and PhysicalDimension extensions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update Invoke-DotNetTest function to remove unnecessary `--no-build` flag from dotnet test command for improved test execution. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add unit tests for AcousticImpedance, ReflectionCoefficient, and SoundSpeed classes ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add unit tests for AcousticDirectionalityIndex functionality ([@matt-edmondson](https://github.com/matt-edmondson)) +- Remove obsolete cursor ignore files to streamline project structure ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor Exposure calculations to use CoulombPerKilogram unit ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add unit tests for various SemanticString validators ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add unit tests for casing and line count validators in SemanticString ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add unit tests for Casing and Contracts validation in SemanticString ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update RegexMatchAttribute to include a timeout in Regex matching for improved performance and reliability. This change ensures that the regex operation does not hang indefinitely by setting a one-second timeout, enhancing the overall validation process. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor SemanticDirectoryPath class to improve content retrieval method naming and enhance error handling. The `Contents` property has been renamed to `GetContents` for clarity, and synchronous handling has been implemented to ensure compatibility with older .NET versions. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Fix argument exception message assertion in SemanticStringAdditionalTests for improved clarity ([@matt-edmondson](https://github.com/matt-edmondson)) +- Remove obsolete files and clean up project structure ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance validation error messages in ContainsAttribute, EndsWithAttribute, and StartsWithAttribute classes ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor PhysicalDimensions class to use IReadOnlySet for standard physical dimensions and update test classes to static for consistency. This improves clarity and aligns with coding standards across the project. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Remove unnecessary using directives from test files for improved clarity ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor directory path content retrieval methods for consistency and clarity ([@matt-edmondson](https://github.com/matt-edmondson)) +- Fix missing usings ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor path handling code for improved readability and consistency ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor directory path implementations to support synchronous enumeration for older .NET versions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add System.Memory package and implement path polyfills for .NET compatibility ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance null argument validation in RelativeFilePath for .NET compatibility ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement polyfill for ArgumentNullException in path classes for compatibility ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add path-related polyfills and refactor namespaces for clarity ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor SemanticString methods to utilize WeakString for span-based operations ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update project configuration and refine string handling methods ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance semantic string handling with read-only span support ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor validation framework and introduce new path semantics ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor validation attributes to enhance initialization and validation logic ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor validation attributes to remove FluentValidation dependency ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.20 (patch) Changes since v1.0.19: + +- Refactor project structure and update SDK versions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update package versions and enhance build scripts ([@matt-edmondson](https://github.com/matt-edmondson)) + +## v1.0.20-pre.1 (prerelease) + +No significant changes detected since v1.0.20. + ## v1.0.19 (patch) Changes since v1.0.18: - Refactor exception assertions in unit tests for consistency ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor performance regression tests to set CI-friendly targets ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update package versions and refine project metadata ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.18 (patch) Changes since v1.0.17: - Enhance path handling and testing for directory and file combinations ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.17 (patch) Changes since v1.0.16: - Enhance semantic string type conversions and path handling ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update copyright notice, package versions, and enhance winget manifest generation script ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.17-pre.1 (prerelease) -Incremental prerelease update. +No significant changes detected since v1.0.17. + ## v1.0.16 (patch) Changes since v1.0.15: - Enhance performance regression tests with updated targets and optimizations ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.15 (patch) Changes since v1.0.14: - Remove BenchmarkMemoryAllocation Test Due to Incompatibility ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.14 (patch) Changes since v1.0.13: +- Optimize Performance Benchmarks to Reduce Memory Allocation ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance Performance Benchmarks and Derived Cursor Rules ([@matt-edmondson](https://github.com/matt-edmondson)) - Enhance Derived Cursor Rules with Additional Validation Guidelines ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update project files and dependencies for improved functionality and consistency ([@matt-edmondson](https://github.com/matt-edmondson)) - Update TAGS.md to Use Spaces for Multi-Word Tags ([@matt-edmondson](https://github.com/matt-edmondson)) -- Standardize documentation styles for physics quantities and enhance integration tests. This update introduces explicit XML documentation formats for dimension properties and constructors, improving clarity and consistency. Additionally, it refines advanced integration tests to ensure accurate cross-domain calculations, further solidifying the library's robustness for scientific applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Add derived constants validation tests for PhysicalConstants ([@matt-edmondson](https://github.com/matt-edmondson)) - Enhance DESCRIPTION and README for Improved Clarity and Detail ([@matt-edmondson](https://github.com/matt-edmondson)) -- Enhance the Semantics library by completing the implementation of the Physics Quantities System, which now includes 80+ quantities across 8 scientific domains. Update the README.md and documentation to reflect the comprehensive capabilities, including type-safe arithmetic, automatic unit conversions, and centralized physical constants. Introduce integration and performance benchmarks to validate cross-domain calculations and ensure efficient operations. This update significantly improves the library's usability and functionality for scientific computing and engineering applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Standardize documentation styles and enhance performance benchmarks in the Semantics library. This update includes the migration of hardcoded constants to the PhysicalConstants class, ensuring all constants are accessed through generic getters. Additionally, it refines the performance benchmarks to utilize these constants, improving code clarity and maintainability. The integration tests have also been updated to reflect these changes, ensuring accurate calculations across various domains. ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor Bootstrap Units into Separate Class for Improved Organization ([@matt-edmondson](https://github.com/matt-edmondson)) -- Enhance Performance Benchmarks and Derived Cursor Rules ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement comprehensive enhancements to the ktsu.Semantics library, including standardized documentation for all physics quantities, improved testing strategies with advanced integration and performance regression tests, and the addition of real-world physics examples. This update significantly enhances code consistency, documentation clarity, and testing robustness, establishing a solid foundation for future development and ensuring a professional-grade solution for type-safe physics calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor Units and PhysicalConstants for Consistency and Maintainability ([@matt-edmondson](https://github.com/matt-edmondson)) - Remove outdated TODO comments for various scientific domains in Units.cs to streamline the codebase and improve maintainability. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Optimize Performance Benchmarks to Reduce Memory Allocation ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add derived constants validation tests for PhysicalConstants ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor Units and PhysicalConstants for Consistency and Maintainability ([@matt-edmondson](https://github.com/matt-edmondson)) +- Standardize documentation styles and enhance performance benchmarks in the Semantics library. This update includes the migration of hardcoded constants to the PhysicalConstants class, ensuring all constants are accessed through generic getters. Additionally, it refines the performance benchmarks to utilize these constants, improving code clarity and maintainability. The integration tests have also been updated to reflect these changes, ensuring accurate calculations across various domains. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Standardize documentation styles for physics quantities and enhance integration tests. This update introduces explicit XML documentation formats for dimension properties and constructors, improving clarity and consistency. Additionally, it refines advanced integration tests to ensure accurate cross-domain calculations, further solidifying the library's robustness for scientific applications. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement comprehensive enhancements to the ktsu.Semantics library, including standardized documentation for all physics quantities, improved testing strategies with advanced integration and performance regression tests, and the addition of real-world physics examples. This update significantly enhances code consistency, documentation clarity, and testing robustness, establishing a solid foundation for future development and ensuring a professional-grade solution for type-safe physics calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance the Semantics library by completing the implementation of the Physics Quantities System, which now includes 80+ quantities across 8 scientific domains. Update the README.md and documentation to reflect the comprehensive capabilities, including type-safe arithmetic, automatic unit conversions, and centralized physical constants. Introduce integration and performance benchmarks to validate cross-domain calculations and ensure efficient operations. This update significantly improves the library's usability and functionality for scientific computing and engineering applications. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.13 (patch) Changes since v1.0.12: - Add validation tests for derived physical constants in PhysicalConstantsTests.cs ([@matt-edmondson](https://github.com/matt-edmondson)) - Add comprehensive tests for physical constants validation in PhysicalConstantsTests.cs ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.12 (patch) Changes since v1.0.11: -- Enhance the Semantics library by implementing key physical relationships across various domains, including Mechanics, Electrical, Thermal, and Optical. Introduce operator overloads for quantities such as Force, Mass, Energy, ElectricCharge, and LuminousFlux, enabling intuitive calculations. Ensure all new implementations adhere to coding standards and include comprehensive XML documentation. This update significantly improves the usability and functionality of the library, providing a robust framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement additional physical relationships in the Semantics library, enhancing the Acoustic, Electrical, and Mechanical domains. Introduce operator overloads for calculating sound power from intensity and area, charge from capacitance and voltage, and torque from force and distance. Update existing quantities to support intuitive calculations, ensuring adherence to coding standards and comprehensive XML documentation. This update further solidifies the library's framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor operator overloads in the Semantics library to resolve ambiguities between work/energy and torque calculations. Update the Force and Length operators, replacing the removed method with an explicit CalculateTorque method. Enhance documentation and ensure compliance with coding standards. This update improves clarity and usability for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement the Chemical Domain in the Semantics library, completing 10 quantities: ActivationEnergy, AmountOfSubstance, Concentration, DynamicViscosity, EnzymeActivity, MolarMass, PH, RateConstant, ReactionRate, and SurfaceTension. Introduce PhysicalConstants.cs for centralized management of physical constants, ensuring accuracy and maintainability. Update PhysicalDimensions and Units to incorporate new chemical dimensions and units. Achieve 376 passing tests, marking the Chemical domain as fully implemented in TODO_DOMAINS.md. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement additional physical relationships in the Semantics library, focusing on the Acoustic, Chemical, and Fluid Dynamics domains. Introduce operator overloads for calculating acoustic impedance from density and sound speed, photon energy from frequency, and apply the ideal gas law for amount of substance calculations. Update existing quantities to enhance usability and ensure adherence to coding standards with comprehensive XML documentation. This update further strengthens the library's framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor physics relationship calculations in the Semantics library to resolve operator ambiguities and enhance clarity. Update the Force and Length operators to distinguish between work/energy and torque calculations, introducing explicit methods for torque. Clean up unused variables and improve documentation for better usability. This update strengthens the library's framework for accurate physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement additional physical relationships in the Semantics library, focusing on the Acoustic, Chemical, and Fluid Dynamics domains. Introduce operator overloads for calculating acoustic impedance from density and sound speed, photon energy from frequency, and apply the ideal gas law for amount of substance calculations. Update existing quantities to enhance usability and ensure adherence to coding standards with comprehensive XML documentation. This update further strengthens the library's framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement additional physical relationships in the Semantics library, enhancing the Acoustic, Electrical, and Mechanical domains. Introduce operator overloads for calculating sound power from intensity and area, charge from capacitance and voltage, and torque from force and distance. Update existing quantities to support intuitive calculations, ensuring adherence to coding standards and comprehensive XML documentation. This update further solidifies the library's framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Enhance the Semantics library by implementing key physical relationships across various domains, including Mechanics, Electrical, Thermal, and Optical. Introduce operator overloads for quantities such as Force, Mass, Energy, ElectricCharge, and LuminousFlux, enabling intuitive calculations. Ensure all new implementations adhere to coding standards and include comprehensive XML documentation. This update significantly improves the usability and functionality of the library, providing a robust framework for physical quantity calculations in .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) - Complete the Fluid Dynamics domain in the Semantics library by implementing key quantities including KinematicViscosity, BulkModulus, VolumetricFlowRate, MassFlowRate, and ReynoldsNumber. Update the tracker to reflect the successful implementation of all 8 domains, achieving a total of 85 quantities. Ensure all new quantities adhere to coding standards and include comprehensive XML documentation. This marks a significant milestone in the library's development, providing a robust and professional-grade physical quantities system for .NET applications. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement the Mechanical Domain in the Semantics library, introducing quantities such as Force, Energy, Pressure, and their associated calculations. Centralize physical constants management in PhysicalConstants.cs, ensuring type-safe access to constants like standard gravity and atmospheric pressure. Update PhysicalDimensions and Units to incorporate new mechanical dimensions and units. Achieve comprehensive testing with 100% passing tests, marking the Mechanical domain as fully implemented in the updated implementation plan and progress tracker. ([@matt-edmondson](https://github.com/matt-edmondson)) - Enhance the Semantics library by implementing the Optical, Nuclear, and Fluid Dynamics domains. Introduce new quantities such as Illuminance, Luminance, RefractiveIndex, AbsorbedDose, EquivalentDose, and various fluid dynamics properties including BulkModulus and KinematicViscosity. Centralize physical constants in PhysicalConstants.cs for type-safe access. Update PhysicalDimensions and Units to reflect new dimensions and units. Achieve comprehensive testing with all new quantities passing, marking significant progress in the implementation plan. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement the Mechanical Domain in the Semantics library, introducing quantities such as Force, Energy, Pressure, and their associated calculations. Centralize physical constants management in PhysicalConstants.cs, ensuring type-safe access to constants like standard gravity and atmospheric pressure. Update PhysicalDimensions and Units to incorporate new mechanical dimensions and units. Achieve comprehensive testing with 100% passing tests, marking the Mechanical domain as fully implemented in the updated implementation plan and progress tracker. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement the Chemical Domain in the Semantics library, completing 10 quantities: ActivationEnergy, AmountOfSubstance, Concentration, DynamicViscosity, EnzymeActivity, MolarMass, PH, RateConstant, ReactionRate, and SurfaceTension. Introduce PhysicalConstants.cs for centralized management of physical constants, ensuring accuracy and maintainability. Update PhysicalDimensions and Units to incorporate new chemical dimensions and units. Achieve 376 passing tests, marking the Chemical domain as fully implemented in TODO_DOMAINS.md. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.11 (patch) Changes since v1.0.10: -- Implement comprehensive chemical quantities including ActivationEnergy, AmountOfSubstance, Concentration, DynamicViscosity, EnzymeActivity, MolarMass, pH, RateConstant, ReactionRate, and SurfaceTension. Update PhysicalDimensions and Units to include new chemical dimensions and units, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) - Implement chemical quantities including ActivationEnergy, AmountOfSubstance, Concentration, DynamicViscosity, EnzymeActivity, MolarMass, PH, RateConstant, ReactionRate, and SurfaceTension. Update PhysicalDimensions and Units to include new chemical dimensions and units. Mark the Chemical domain as fully implemented in TODO_DOMAINS.md, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement comprehensive chemical quantities including ActivationEnergy, AmountOfSubstance, Concentration, DynamicViscosity, EnzymeActivity, MolarMass, pH, RateConstant, ReactionRate, and SurfaceTension. Update PhysicalDimensions and Units to include new chemical dimensions and units, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.10 (patch) Changes since v1.0.9: - Implement comprehensive acoustic quantities including SoundPressureLevel, SoundIntensityLevel, SoundPowerLevel, ReflectionCoefficient, NoiseReductionCoefficient, SoundTransmissionClass, Loudness, Pitch, Sharpness, Sensitivity, and DirectionalityIndex. Update PhysicalDimensions to include new acoustic dimensions and mark the Acoustic domain as fully implemented in TODO_DOMAINS.md, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) - Implement thermal quantities including Heat, HeatCapacity, SpecificHeat, ThermalConductivity, ThermalExpansion, ThermalDiffusivity, HeatTransferCoefficient, and Entropy. Update TODO_DOMAINS.md to mark the Thermal domain as fully implemented, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.9 (patch) Changes since v1.0.8: - Implement core acoustic quantities including Frequency, Wavelength, SoundPressure, SoundIntensity, SoundPower, AcousticImpedance, SoundSpeed, SoundAbsorption, and ReverberationTime. Update PhysicalDimensions to include new acoustic dimensions and mark the Acoustic domain as significantly progressed in TODO_DOMAINS.md, enhancing the completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.8 (patch) Changes since v1.0.7: -- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor PhysicalQuantity and PhysicalDimension relationship by moving BaseUnit property to PhysicalDimension. Update related classes to access BaseUnit through Dimension, enhancing clarity and encapsulation of dimensional properties. ([@matt-edmondson](https://github.com/matt-edmondson)) - Implement comprehensive quantities for Mechanics and Electrical domains, including new classes for AngularAcceleration, AngularVelocity, Density, ElectricConductivity, ElectricField, and others. Update PhysicalDimensions to include new dimensions and mark all quantities as implemented in TODO_DOMAINS.md, enhancing the overall structure and completeness of the quantities implementation. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) - Enhance PhysicalDimension constructor to require IUnit parameter, ensuring proper initialization in operator overloads. Update PhysicalDimensions to reflect new constructor signature, improving clarity and preventing type conversion errors. ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor PhysicalDimension to accept BaseUnit in constructor, removing runtime lookup. Update PhysicalDimensions to initialize dimensions with their respective base units, enhancing performance and clarity in dimensional properties. ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) -- Organize quantities ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor PhysicalQuantity and PhysicalDimension relationship by moving BaseUnit property to PhysicalDimension. Update related classes to access BaseUnit through Dimension, enhancing clarity and encapsulation of dimensional properties. ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor quantities ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor quantities ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor quantities ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor conversions ([@matt-edmondson](https://github.com/matt-edmondson)) +- Organize quantities ([@matt-edmondson](https://github.com/matt-edmondson)) - Add tests ([@matt-edmondson](https://github.com/matt-edmondson)) - Add tests ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.7 (patch) Changes since v1.0.6: -- Update README and documentation to provide a comprehensive overview of the ktsu.Semantics library ([@matt-edmondson](https://github.com/matt-edmondson)) - Add more physical quantities ([@matt-edmondson](https://github.com/matt-edmondson)) +- Update README and documentation to provide a comprehensive overview of the ktsu.Semantics library ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.6 (patch) Changes since v1.0.5: - Update README and architecture documentation for examples directory structure ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.5 (patch) Changes since v1.0.4: -- Refactor semantic validation attributes and introduce new path validation strategies ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor validation attributes and enhance documentation ([@matt-edmondson](https://github.com/matt-edmondson)) -- Implement semantic path operators and enhance path interfaces ([@matt-edmondson](https://github.com/matt-edmondson)) -- Refactor casing validation attributes to utilize FluentValidation ([@matt-edmondson](https://github.com/matt-edmondson)) -- Add new semantic path types and validation strategies ([@matt-edmondson](https://github.com/matt-edmondson)) -- Add more teats ([@matt-edmondson](https://github.com/matt-edmondson)) -- Integrate FluentValidation into semantic validation attributes ([@matt-edmondson](https://github.com/matt-edmondson)) - Enhance documentation and suppress CA1812 warning ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add more teats ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor casing validation attributes to utilize FluentValidation ([@matt-edmondson](https://github.com/matt-edmondson)) - Refactor validation attributes to utilize FluentValidation ([@matt-edmondson](https://github.com/matt-edmondson)) +- Integrate FluentValidation into semantic validation attributes ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor validation attributes and enhance documentation ([@matt-edmondson](https://github.com/matt-edmondson)) +- Refactor semantic validation attributes and introduce new path validation strategies ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add new semantic path types and validation strategies ([@matt-edmondson](https://github.com/matt-edmondson)) +- Implement semantic path operators and enhance path interfaces ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.4 (patch) Changes since v1.0.3: - Enhance semantic path documentation and interface functionality ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.3 (patch) Changes since v1.0.2: - Refactor GitHub Actions workflow to reposition .NET SDK setup step for improved clarity and maintainability. The setup step is now placed after the JDK setup, ensuring a more logical flow in the CI process. ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.2 (patch) Changes since v1.0.1: - Enhance documentation for path interface hierarchy and examples ([@matt-edmondson](https://github.com/matt-edmondson)) -- Add interfaces for path type hierarchy to enable polymorphism ([@matt-edmondson](https://github.com/matt-edmondson)) - Add comprehensive interface tests for semantic path types ([@matt-edmondson](https://github.com/matt-edmondson)) +- Add interfaces for path type hierarchy to enable polymorphism ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.1 (patch) Changes since v1.0.0: - Enhance GitHub Actions workflow by adding .NET SDK setup step with caching for improved build performance. ([@matt-edmondson](https://github.com/matt-edmondson)) -## v1.0.0 (patch) + +## v1.0.0 Changes since v1.0.0-pre.1: - Remove DebugConsole project and associated test files ([@matt-edmondson](https://github.com/matt-edmondson)) - Add DebugConsole project and initial tests for SemanticString functionality ([@matt-edmondson](https://github.com/matt-edmondson)) + ## v1.0.0-pre.1 (prerelease) +- Update copyright notice, enhance package versions, and improve documentation structure. Added new validation strategies and factory patterns for semantic strings, along with comprehensive guides for advanced usage and architecture. Refactored README to include links to new documentation and examples. ([@matt-edmondson](https://github.com/matt-edmondson)) - initial version ([@matt-edmondson](https://github.com/matt-edmondson)) + diff --git a/COPYRIGHT.md b/COPYRIGHT.md index 882933b..a8bdd49 100644 --- a/COPYRIGHT.md +++ b/COPYRIGHT.md @@ -1 +1 @@ -Copyright (c) 2023-2025 ktsu-dev +Copyright (c) 2023-2026 ktsu-dev contributors diff --git a/Directory.Packages.props b/Directory.Packages.props index 7a5403a..d8bc666 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -8,13 +8,13 @@ - - + - + + - + diff --git a/LATEST_CHANGELOG.md b/LATEST_CHANGELOG.md index 214d233..3050aba 100644 --- a/LATEST_CHANGELOG.md +++ b/LATEST_CHANGELOG.md @@ -1,3 +1,19 @@ -## v1.0.20-pre.1 (prerelease) +## v1.0.35 (patch) + +Changes since v1.0.34: + +- Bump Polyfill from 10.4.0 to 10.5.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.3.0 to 10.4.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump MSTest.Sdk from 4.2.1 to 4.2.2 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.1.1 to 10.3.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 10.0.0 to 10.1.1 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump MSTest.Sdk from 4.1.0 to 4.2.1 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.24.0 to 10.0.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.23.0 to 9.24.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.22.0 to 9.23.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.18.0 to 9.22.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.17.0 to 9.18.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.16.0 to 9.17.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.13.0 to 9.16.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump Polyfill from 9.12.0 to 9.13.0 ([@dependabot[bot]](https://github.com/dependabot[bot])) -Changes since v1.0.20-pre.1: diff --git a/LICENSE.md b/LICENSE.md index 6ae27bf..285e15e 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -2,7 +2,7 @@ MIT License https://github.com/ktsu-dev/Semantics -Copyright (c) 2023-2025 ktsu-dev +Copyright (c) 2023-2026 ktsu-dev contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -20,4 +20,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/Semantics.Paths/AssemblyInfo.cs b/Semantics.Paths/AssemblyInfo.cs new file mode 100644 index 0000000..af8b8f9 --- /dev/null +++ b/Semantics.Paths/AssemblyInfo.cs @@ -0,0 +1,7 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("ktsu.Semantics.Test")] diff --git a/Semantics.Paths/CompatibilitySuppressions.xml b/Semantics.Paths/CompatibilitySuppressions.xml new file mode 100644 index 0000000..bcf824c --- /dev/null +++ b/Semantics.Paths/CompatibilitySuppressions.xml @@ -0,0 +1,2134 @@ + + + + + CP0001 + T:System.Diagnostics.StackTraceHiddenAttribute + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Reflection.NullabilityInfo + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Reflection.NullabilityInfoContext + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Text.SpanLineEnumerator + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.UnscopedRefAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.UnreachableException + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.IO.UnixFileMode + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.RequiredMemberAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Text.RegularExpressions.ValueMatch + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.CollectionBuilderAttribute + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureGuardAttribute + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.DebuggerDisableUserUnhandledExceptionsAttribute + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.ParamCollectionAttribute + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Threading.Lock + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Buffers.ReadOnlySpanAction`2 + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Buffers.SpanAction`2 + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Collections.Generic.KeyValuePair + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.AllowNullAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Index + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Range + lib/netstandard2.0/ktsu.Semantics.Paths.dll + lib/netstandard2.1/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.IsExternalInit + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.ModuleInitializerAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.CompilerServices.SkipLocalsInitAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.InteropServices.SuppressGCTransitionAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.OSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.SupportedOSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.TargetPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0001 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Paths.dll + lib/net5.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.#ctor(System.String,System.String) + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEventsWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFieldsWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethodsWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicPropertiesWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_Message + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_Message(System.String) + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0008 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0008 + T:System.IO.UnixFileMode + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0008 + T:System.Text.SpanLineEnumerator + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_ElementType:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_GenericTypeArguments:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_ReadState:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_Type:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_WriteState:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Runtime.Versioning.OSPlatformAttribute.get_PlatformName:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Paths.dll + lib/net7.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Paths.dll + lib/net9.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0014 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0015 + T:System.Runtime.Versioning.SupportedOSPlatformAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0015 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Index.Equals(System.Object)$0:[T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Range.Equals(System.Object)$0:[T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute] + lib/net5.0/ktsu.Semantics.Paths.dll + lib/net6.0/ktsu.Semantics.Paths.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.CallConvs:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.EntryPoint:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteDirectoryPath.Equals(ktsu.Semantics.Paths.AbsoluteDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteDirectoryPath.Equals(ktsu.Semantics.Paths.SemanticDirectoryPath{ktsu.Semantics.Paths.AbsoluteDirectoryPath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteDirectoryPath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteDirectoryPath.op_Equality(ktsu.Semantics.Paths.AbsoluteDirectoryPath,ktsu.Semantics.Paths.AbsoluteDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteDirectoryPath.op_Inequality(ktsu.Semantics.Paths.AbsoluteDirectoryPath,ktsu.Semantics.Paths.AbsoluteDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteFilePath.Equals(ktsu.Semantics.Paths.AbsoluteFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteFilePath.Equals(ktsu.Semantics.Paths.SemanticFilePath{ktsu.Semantics.Paths.AbsoluteFilePath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteFilePath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteFilePath.op_Equality(ktsu.Semantics.Paths.AbsoluteFilePath,ktsu.Semantics.Paths.AbsoluteFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsoluteFilePath.op_Inequality(ktsu.Semantics.Paths.AbsoluteFilePath,ktsu.Semantics.Paths.AbsoluteFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsolutePath.Equals(ktsu.Semantics.Paths.AbsolutePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsolutePath.Equals(ktsu.Semantics.Paths.SemanticAbsolutePath{ktsu.Semantics.Paths.AbsolutePath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsolutePath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsolutePath.op_Equality(ktsu.Semantics.Paths.AbsolutePath,ktsu.Semantics.Paths.AbsolutePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.AbsolutePath.op_Inequality(ktsu.Semantics.Paths.AbsolutePath,ktsu.Semantics.Paths.AbsolutePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryName.Equals(ktsu.Semantics.Paths.DirectoryName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryName.Equals(ktsu.Semantics.Strings.SemanticString{ktsu.Semantics.Paths.DirectoryName})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryName.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryName.op_Equality(ktsu.Semantics.Paths.DirectoryName,ktsu.Semantics.Paths.DirectoryName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryName.op_Inequality(ktsu.Semantics.Paths.DirectoryName,ktsu.Semantics.Paths.DirectoryName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryPath.Equals(ktsu.Semantics.Paths.DirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryPath.Equals(ktsu.Semantics.Paths.SemanticDirectoryPath{ktsu.Semantics.Paths.DirectoryPath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryPath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryPath.op_Equality(ktsu.Semantics.Paths.DirectoryPath,ktsu.Semantics.Paths.DirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.DirectoryPath.op_Inequality(ktsu.Semantics.Paths.DirectoryPath,ktsu.Semantics.Paths.DirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileExtension.Equals(ktsu.Semantics.Paths.FileExtension):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileExtension.Equals(ktsu.Semantics.Strings.SemanticString{ktsu.Semantics.Paths.FileExtension})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileExtension.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileExtension.op_Equality(ktsu.Semantics.Paths.FileExtension,ktsu.Semantics.Paths.FileExtension):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileExtension.op_Inequality(ktsu.Semantics.Paths.FileExtension,ktsu.Semantics.Paths.FileExtension):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileName.Equals(ktsu.Semantics.Paths.FileName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileName.Equals(ktsu.Semantics.Strings.SemanticString{ktsu.Semantics.Paths.FileName})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileName.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileName.op_Equality(ktsu.Semantics.Paths.FileName,ktsu.Semantics.Paths.FileName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FileName.op_Inequality(ktsu.Semantics.Paths.FileName,ktsu.Semantics.Paths.FileName):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FilePath.Equals(ktsu.Semantics.Paths.FilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FilePath.Equals(ktsu.Semantics.Paths.SemanticFilePath{ktsu.Semantics.Paths.FilePath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FilePath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FilePath.op_Equality(ktsu.Semantics.Paths.FilePath,ktsu.Semantics.Paths.FilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.FilePath.op_Inequality(ktsu.Semantics.Paths.FilePath,ktsu.Semantics.Paths.FilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IAbsoluteDirectoryPath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IAbsoluteFilePath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IAbsolutePath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IFilePath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IRelativeDirectoryPath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IRelativeFilePath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.IRelativePath.AsAbsolute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeDirectoryPath.Equals(ktsu.Semantics.Paths.RelativeDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeDirectoryPath.Equals(ktsu.Semantics.Paths.SemanticDirectoryPath{ktsu.Semantics.Paths.RelativeDirectoryPath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeDirectoryPath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeDirectoryPath.op_Equality(ktsu.Semantics.Paths.RelativeDirectoryPath,ktsu.Semantics.Paths.RelativeDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeDirectoryPath.op_Inequality(ktsu.Semantics.Paths.RelativeDirectoryPath,ktsu.Semantics.Paths.RelativeDirectoryPath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeFilePath.Equals(ktsu.Semantics.Paths.RelativeFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeFilePath.Equals(ktsu.Semantics.Paths.SemanticFilePath{ktsu.Semantics.Paths.RelativeFilePath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeFilePath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeFilePath.op_Equality(ktsu.Semantics.Paths.RelativeFilePath,ktsu.Semantics.Paths.RelativeFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativeFilePath.op_Inequality(ktsu.Semantics.Paths.RelativeFilePath,ktsu.Semantics.Paths.RelativeFilePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativePath.Equals(ktsu.Semantics.Paths.RelativePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativePath.Equals(ktsu.Semantics.Paths.SemanticRelativePath{ktsu.Semantics.Paths.RelativePath})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativePath.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativePath.op_Equality(ktsu.Semantics.Paths.RelativePath,ktsu.Semantics.Paths.RelativePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.RelativePath.op_Inequality(ktsu.Semantics.Paths.RelativePath,ktsu.Semantics.Paths.RelativePath):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.{Clone}$->ktsu.Semantics.Paths.SemanticAbsolutePath<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.#ctor(ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.Equals(ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.Equals(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.op_Equality(ktsu.Semantics.Paths.SemanticAbsolutePath{`0},ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.op_Equality(ktsu.Semantics.Paths.SemanticAbsolutePath{`0},ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticAbsolutePath{`0},ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticAbsolutePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticAbsolutePath{`0},ktsu.Semantics.Paths.SemanticAbsolutePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.{Clone}$->ktsu.Semantics.Paths.SemanticDirectoryPath<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.#ctor(ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.Equals(ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.Equals(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.op_Equality(ktsu.Semantics.Paths.SemanticDirectoryPath{`0},ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.op_Equality(ktsu.Semantics.Paths.SemanticDirectoryPath{`0},ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.op_Inequality(ktsu.Semantics.Paths.SemanticDirectoryPath{`0},ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticDirectoryPath`1.op_Inequality(ktsu.Semantics.Paths.SemanticDirectoryPath{`0},ktsu.Semantics.Paths.SemanticDirectoryPath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.{Clone}$->ktsu.Semantics.Paths.SemanticFilePath<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.#ctor(ktsu.Semantics.Paths.SemanticFilePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.Equals(ktsu.Semantics.Paths.SemanticFilePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.Equals(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.op_Equality(ktsu.Semantics.Paths.SemanticFilePath{`0},ktsu.Semantics.Paths.SemanticFilePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.op_Equality(ktsu.Semantics.Paths.SemanticFilePath{`0},ktsu.Semantics.Paths.SemanticFilePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticFilePath{`0},ktsu.Semantics.Paths.SemanticFilePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticFilePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticFilePath{`0},ktsu.Semantics.Paths.SemanticFilePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.{Clone}$->ktsu.Semantics.Paths.SemanticPath<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.#ctor(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.Equals(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.Equals(ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.op_Equality(ktsu.Semantics.Paths.SemanticPath{`0},ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.op_Equality(ktsu.Semantics.Paths.SemanticPath{`0},ktsu.Semantics.Paths.SemanticPath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.op_Inequality(ktsu.Semantics.Paths.SemanticPath{`0},ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticPath`1.op_Inequality(ktsu.Semantics.Paths.SemanticPath{`0},ktsu.Semantics.Paths.SemanticPath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.{Clone}$->ktsu.Semantics.Paths.SemanticRelativePath<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.#ctor(ktsu.Semantics.Paths.SemanticRelativePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Equals(ktsu.Semantics.Paths.SemanticPath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Equals(ktsu.Semantics.Paths.SemanticRelativePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Make``3(``1,``2)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Make``3(``1,``2)<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.Make``3(``1,``2)<2>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.op_Equality(ktsu.Semantics.Paths.SemanticRelativePath{`0},ktsu.Semantics.Paths.SemanticRelativePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.op_Equality(ktsu.Semantics.Paths.SemanticRelativePath{`0},ktsu.Semantics.Paths.SemanticRelativePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticRelativePath{`0},ktsu.Semantics.Paths.SemanticRelativePath{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:ktsu.Semantics.Paths.SemanticRelativePath`1.op_Inequality(ktsu.Semantics.Paths.SemanticRelativePath{`0},ktsu.Semantics.Paths.SemanticRelativePath{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)->System.Collections.Generic.KeyValuePair<TKey, TValue>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String,System.Object[])$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.get_Arguments->object?[]:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Category:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_CheckId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Index.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Index.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Range.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Range.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Reflection.NullabilityInfo.get_ElementType:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.TargetPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Reflection.NullabilityInfo.ElementType:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.Message:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsoluteDirectoryPath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsoluteDirectoryPath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsoluteFilePath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsoluteFilePath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsolutePath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.AbsolutePath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.DirectoryName:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.DirectoryName:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.DirectoryPath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.DirectoryPath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FileExtension:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FileExtension:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FileName:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FileName:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FilePath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.FilePath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IDirectoryPath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsDirectoryNameAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsDirectoryNameAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsFileExtensionAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsFileExtensionAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsFileNameAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsFileNameAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsPathAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.IsPathAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativeDirectoryPath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativeDirectoryPath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativeFilePath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativeFilePath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativePath:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.RelativePath:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticAbsolutePath`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticAbsolutePath`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticAbsolutePath`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticDirectoryPath`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticDirectoryPath`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticDirectoryPath`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticFilePath`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticFilePath`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticFilePath`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticPath`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticPath`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticPath`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticRelativePath`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticRelativePath`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:ktsu.Semantics.Paths.SemanticRelativePath`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Buffers.SpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Buffers.SpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.CompilerServices.RequiredMemberAttribute:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Paths.dll + lib/net8.0/ktsu.Semantics.Paths.dll + + + CP0016 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_DiagnosticId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ObsoleteAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.DiagnosticId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute:[T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute] + lib/net9.0/ktsu.Semantics.Paths.dll + lib/net10.0/ktsu.Semantics.Paths.dll + + \ No newline at end of file diff --git a/Semantics.Paths/Paths/Implementations/AbsoluteDirectoryPath.cs b/Semantics.Paths/Implementations/AbsoluteDirectoryPath.cs similarity index 86% rename from Semantics.Paths/Paths/Implementations/AbsoluteDirectoryPath.cs rename to Semantics.Paths/Implementations/AbsoluteDirectoryPath.cs index 2c00b5f..72a123b 100644 --- a/Semantics.Paths/Paths/Implementations/AbsoluteDirectoryPath.cs +++ b/Semantics.Paths/Implementations/AbsoluteDirectoryPath.cs @@ -5,13 +5,11 @@ namespace ktsu.Semantics.Paths; using System.Diagnostics.CodeAnalysis; -using System.Threading; -using System.Threading.Tasks; /// /// Represents an absolute directory path /// -[IsPath, IsAbsolutePath, IsDirectoryPath] +[IsAbsolutePath] public sealed record AbsoluteDirectoryPath : SemanticDirectoryPath, IAbsoluteDirectoryPath { // Cache for expensive parent directory computation @@ -130,6 +128,22 @@ protected override IDirectoryPath CreateDirectoryPath(string directoryPath) => return AbsoluteFilePath.Create(combinedPath); } + /// + /// Combines an absolute directory path with a directory name using the '/' operator. + /// + /// The base absolute directory path. + /// The directory name to append. + /// A new representing the combined path. + [SuppressMessage("Usage", "CA2225:Operator overloads have named alternates", Justification = "Path combination is the semantic meaning, not mathematical division")] + public static AbsoluteDirectoryPath operator /(AbsoluteDirectoryPath left, DirectoryName right) + { + Ensure.NotNull(left); + Ensure.NotNull(right); + + string combinedPath = PooledStringBuilder.CombinePaths(left.WeakString, right.WeakString); + return Create(combinedPath); + } + /// /// Combines an absolute directory path with a file name using the '/' operator. /// @@ -225,7 +239,11 @@ public RelativeDirectoryPath GetRelativePathTo(AbsoluteDirectoryPath targetDirec { Ensure.NotNull(targetDirectory); // Use Path.GetRelativePath to compute the relative path - string relativePath = PathHelper.GetRelativePath(WeakString, targetDirectory.WeakString); +#if NETSTANDARD2_0 + string relativePath = PathPolyfill.GetRelativePath(WeakString, targetDirectory.WeakString); +#else + string relativePath = Path.GetRelativePath(WeakString, targetDirectory.WeakString); +#endif return RelativeDirectoryPath.Create(relativePath); } @@ -251,42 +269,12 @@ public RelativeDirectoryPath GetRelativePathTo(AbsoluteDirectoryPath targetDirec public RelativeDirectoryPath AsRelative(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); - string relativePath = PathHelper.GetRelativePath(baseDirectory.WeakString, WeakString); - return RelativeDirectoryPath.Create(relativePath); - } - /// - /// Asynchronously enumerates the files and directories contained in this directory as semantic path types. - /// This is more efficient for large directories as it streams results instead of loading everything into memory. - /// - /// A cancellation token to cancel the enumeration. - /// - /// An async enumerable of objects representing the contents of the directory. - /// Returns an empty enumerable if the directory doesn't exist or cannot be accessed. - /// - public async IAsyncEnumerable GetContentsAsync([System.Runtime.CompilerServices.EnumeratorCancellation] CancellationToken cancellationToken = default) - { - string directoryPath = WeakString; - if (!Directory.Exists(directoryPath)) - { - yield break; - } - - // Use Task.Run to avoid blocking the caller while enumerating - IEnumerable entries = await Task.Run(() => Directory.EnumerateFileSystemEntries(directoryPath, "*", SearchOption.TopDirectoryOnly), cancellationToken).ConfigureAwait(false); - - foreach (string item in entries) - { - cancellationToken.ThrowIfCancellationRequested(); - - if (Directory.Exists(item)) - { - yield return CreateDirectoryPath(item); - } - else if (File.Exists(item)) - { - yield return CreateFilePath(item); - } - } +#if NETSTANDARD2_0 + string relativePath = PathPolyfill.GetRelativePath(baseDirectory.WeakString, WeakString); +#else + string relativePath = Path.GetRelativePath(baseDirectory.WeakString, WeakString); +#endif + return RelativeDirectoryPath.Create(relativePath); } } diff --git a/Semantics.Paths/Paths/Implementations/AbsoluteFilePath.cs b/Semantics.Paths/Implementations/AbsoluteFilePath.cs similarity index 82% rename from Semantics.Paths/Paths/Implementations/AbsoluteFilePath.cs rename to Semantics.Paths/Implementations/AbsoluteFilePath.cs index c4be3d5..655101d 100644 --- a/Semantics.Paths/Paths/Implementations/AbsoluteFilePath.cs +++ b/Semantics.Paths/Implementations/AbsoluteFilePath.cs @@ -7,7 +7,7 @@ namespace ktsu.Semantics.Paths; /// /// Represents an absolute file path /// -[IsPath, IsAbsolutePath, IsFilePath] +[IsAbsolutePath] public sealed record AbsoluteFilePath : SemanticFilePath, IAbsoluteFilePath { // Cache for expensive directory path computation @@ -50,6 +50,7 @@ public FileName FileNameWithoutExtension public AbsoluteFilePath ChangeExtension(FileExtension newExtension) { Ensure.NotNull(newExtension); + string newPath = Path.ChangeExtension(WeakString, newExtension.WeakString); return Create(newPath); } @@ -78,6 +79,28 @@ public bool IsChildOf(AbsoluteDirectoryPath parentPath) Ensure.NotNull(parentPath); // Get normalized paths using span semantics for comparison +#if NETSTANDARD2_0 + string thisPathSpan = Path.GetFullPath(WeakString); + string parentPathSpan = Path.GetFullPath(parentPath.WeakString); + + // A path cannot be a child of itself + if (string.Equals(thisPathSpan, parentPathSpan, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + + // Check if this path starts with the parent path followed by a separator + if (!thisPathSpan.StartsWith(parentPathSpan, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + + // Ensure there's a separator after the parent path (not just a prefix match) + int nextIndex = parentPathSpan.Length; + return nextIndex < thisPathSpan.Length && + (thisPathSpan[nextIndex] == Path.DirectorySeparatorChar || + thisPathSpan[nextIndex] == Path.AltDirectorySeparatorChar); +#else ReadOnlySpan thisPathSpan = Path.GetFullPath(WeakString).AsSpan(); ReadOnlySpan parentPathSpan = Path.GetFullPath(parentPath.WeakString).AsSpan(); @@ -98,6 +121,7 @@ public bool IsChildOf(AbsoluteDirectoryPath parentPath) return nextIndex < thisPathSpan.Length && (thisPathSpan[nextIndex] == Path.DirectorySeparatorChar || thisPathSpan[nextIndex] == Path.AltDirectorySeparatorChar); +#endif } /// @@ -122,7 +146,11 @@ public bool IsChildOf(AbsoluteDirectoryPath parentPath) public RelativeFilePath AsRelative(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); - string relativePath = PathHelper.GetRelativePath(baseDirectory.WeakString, WeakString); +#if NETSTANDARD2_0 + string relativePath = PathPolyfill.GetRelativePath(baseDirectory.WeakString, WeakString); +#else + string relativePath = Path.GetRelativePath(baseDirectory.WeakString, WeakString); +#endif return RelativeFilePath.Create(relativePath); } } diff --git a/Semantics.Paths/Paths/Implementations/RelativeDirectoryPath.cs b/Semantics.Paths/Implementations/RelativeDirectoryPath.cs similarity index 81% rename from Semantics.Paths/Paths/Implementations/RelativeDirectoryPath.cs rename to Semantics.Paths/Implementations/RelativeDirectoryPath.cs index 952fafa..92a5253 100644 --- a/Semantics.Paths/Paths/Implementations/RelativeDirectoryPath.cs +++ b/Semantics.Paths/Implementations/RelativeDirectoryPath.cs @@ -5,11 +5,15 @@ namespace ktsu.Semantics.Paths; using System.Diagnostics.CodeAnalysis; +using System.IO; +#if !NET5_0_OR_GREATER +using System.Runtime.InteropServices; +#endif /// /// Represents a relative directory path /// -[IsPath, IsRelativePath, IsDirectoryPath] +[IsRelativePath] public sealed record RelativeDirectoryPath : SemanticDirectoryPath, IRelativeDirectoryPath { // Cache for expensive parent directory computation @@ -22,13 +26,13 @@ public sealed record RelativeDirectoryPath : SemanticDirectoryPath _cachedParent ??= Create(Path.GetDirectoryName(WeakString) ?? ""); // Cache for directory name - private FileName? _cachedName; + private DirectoryName? _cachedName; /// /// Gets the name of this directory (the last component of the path). /// - /// A representing just the directory name. - public FileName Name => _cachedName ??= FileName.Create(Path.GetFileName(WeakString) ?? ""); + /// A representing just the directory name. + public DirectoryName Name => _cachedName ??= DirectoryName.Create(Path.GetFileName(WeakString) ?? ""); // Cache for depth calculation private int? _cachedDepth; @@ -157,7 +161,11 @@ AbsolutePath IRelativePath.AsAbsolute() public AbsoluteDirectoryPath AsAbsolute(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); - string absolutePath = PathHelper.GetFullPath(WeakString, baseDirectory.WeakString); +#if NETSTANDARD2_0 + string absolutePath = PathPolyfill.GetFullPath(WeakString, baseDirectory.WeakString); +#else + string absolutePath = Path.GetFullPath(WeakString, baseDirectory.WeakString); +#endif return AbsoluteDirectoryPath.Create(absolutePath); } @@ -171,6 +179,7 @@ public AbsoluteDirectoryPath AsAbsolute(AbsoluteDirectoryPath baseDirectory) public RelativeDirectoryPath AsRelative(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); + return this; } @@ -187,45 +196,18 @@ public RelativeDirectoryPath AsRelative(AbsoluteDirectoryPath baseDirectory) } // Use Path.GetFullPath with a dummy base to normalize relative paths +#if NET5_0_OR_GREATER string dummyBase = OperatingSystem.IsWindows() ? "C:\\" : "/"; +#else + string dummyBase = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "C:\\" : "/"; +#endif string fullPath = Path.GetFullPath(Path.Combine(dummyBase, path)); - string normalized = PathHelper.GetRelativePath(dummyBase, fullPath); +#if NETSTANDARD2_0 + string normalized = PathPolyfill.GetRelativePath(dummyBase, fullPath); +#else + string normalized = Path.GetRelativePath(dummyBase, fullPath); +#endif return Create(normalized); } - - /// - /// Asynchronously enumerates the files and directories contained in this directory as semantic path types. - /// This is more efficient for large directories as it streams results instead of loading everything into memory. - /// - /// A cancellation token to cancel the enumeration. - /// - /// An async enumerable of objects representing the contents of the directory. - /// Returns an empty enumerable if the directory doesn't exist or cannot be accessed. - /// - public async IAsyncEnumerable GetContentsAsync([System.Runtime.CompilerServices.EnumeratorCancellation] CancellationToken cancellationToken = default) - { - string directoryPath = WeakString; - if (!Directory.Exists(directoryPath)) - { - yield break; - } - - // Use Task.Run to avoid blocking the caller while enumerating - IEnumerable entries = await Task.Run(() => Directory.EnumerateFileSystemEntries(directoryPath, "*", SearchOption.TopDirectoryOnly), cancellationToken).ConfigureAwait(false); - - foreach (string item in entries) - { - cancellationToken.ThrowIfCancellationRequested(); - - if (Directory.Exists(item)) - { - yield return CreateDirectoryPath(item); - } - else if (File.Exists(item)) - { - yield return CreateFilePath(item); - } - } - } } diff --git a/Semantics.Paths/Paths/Implementations/RelativeFilePath.cs b/Semantics.Paths/Implementations/RelativeFilePath.cs similarity index 95% rename from Semantics.Paths/Paths/Implementations/RelativeFilePath.cs rename to Semantics.Paths/Implementations/RelativeFilePath.cs index 4072e65..dd0fd5b 100644 --- a/Semantics.Paths/Paths/Implementations/RelativeFilePath.cs +++ b/Semantics.Paths/Implementations/RelativeFilePath.cs @@ -7,7 +7,7 @@ namespace ktsu.Semantics.Paths; /// /// Represents a relative file path /// -[IsPath, IsRelativePath, IsFilePath] +[IsRelativePath] public sealed record RelativeFilePath : SemanticFilePath, IRelativeFilePath { // Cache for expensive directory path computation @@ -50,6 +50,7 @@ public FileName FileNameWithoutExtension public RelativeFilePath ChangeExtension(FileExtension newExtension) { Ensure.NotNull(newExtension); + string newPath = Path.ChangeExtension(WeakString, newExtension.WeakString); return Create(newPath); } @@ -94,7 +95,11 @@ AbsolutePath IRelativePath.AsAbsolute() public AbsoluteFilePath AsAbsolute(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); - string absolutePath = PathHelper.GetFullPath(WeakString, baseDirectory.WeakString); +#if NETSTANDARD2_0 + string absolutePath = PathPolyfill.GetFullPath(WeakString, baseDirectory.WeakString); +#else + string absolutePath = Path.GetFullPath(WeakString, baseDirectory.WeakString); +#endif return AbsoluteFilePath.Create(absolutePath); } diff --git a/Semantics.Paths/Paths/Interfaces/IAbsoluteDirectoryPath.cs b/Semantics.Paths/Interfaces/IAbsoluteDirectoryPath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IAbsoluteDirectoryPath.cs rename to Semantics.Paths/Interfaces/IAbsoluteDirectoryPath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IAbsoluteFilePath.cs b/Semantics.Paths/Interfaces/IAbsoluteFilePath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IAbsoluteFilePath.cs rename to Semantics.Paths/Interfaces/IAbsoluteFilePath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IAbsolutePath.cs b/Semantics.Paths/Interfaces/IAbsolutePath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IAbsolutePath.cs rename to Semantics.Paths/Interfaces/IAbsolutePath.cs diff --git a/Semantics.Paths/Interfaces/IDirectoryName.cs b/Semantics.Paths/Interfaces/IDirectoryName.cs new file mode 100644 index 0000000..461c17e --- /dev/null +++ b/Semantics.Paths/Interfaces/IDirectoryName.cs @@ -0,0 +1,12 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Paths; + +/// +/// Interface for directory names +/// +public interface IDirectoryName +{ +} diff --git a/Semantics.Paths/Paths/Interfaces/IDirectoryPath.cs b/Semantics.Paths/Interfaces/IDirectoryPath.cs similarity index 65% rename from Semantics.Paths/Paths/Interfaces/IDirectoryPath.cs rename to Semantics.Paths/Interfaces/IDirectoryPath.cs index ce2ea78..484992e 100644 --- a/Semantics.Paths/Paths/Interfaces/IDirectoryPath.cs +++ b/Semantics.Paths/Interfaces/IDirectoryPath.cs @@ -4,6 +4,8 @@ namespace ktsu.Semantics.Paths; +using System.Collections.Generic; + /// /// Interface for directory paths (paths to directories) /// @@ -30,16 +32,5 @@ public interface IDirectoryPath : IPath /// A collection of objects representing the contents of the directory. /// Returns an empty collection if the directory doesn't exist or cannot be accessed. /// - public IEnumerable Contents { get; } - - /// - /// Asynchronously enumerates the files and directories contained in this directory as semantic path types. - /// This is more efficient for large directories as it streams results instead of loading everything into memory. - /// - /// A cancellation token to cancel the enumeration. - /// - /// An async enumerable of objects representing the contents of the directory. - /// Returns an empty enumerable if the directory doesn't exist or cannot be accessed. - /// - public IAsyncEnumerable GetContentsAsync(CancellationToken cancellationToken = default); + public IEnumerable GetContents(); } diff --git a/Semantics.Paths/Paths/Interfaces/IFileExtension.cs b/Semantics.Paths/Interfaces/IFileExtension.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IFileExtension.cs rename to Semantics.Paths/Interfaces/IFileExtension.cs diff --git a/Semantics.Paths/Paths/Interfaces/IFileName.cs b/Semantics.Paths/Interfaces/IFileName.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IFileName.cs rename to Semantics.Paths/Interfaces/IFileName.cs diff --git a/Semantics.Paths/Paths/Interfaces/IFilePath.cs b/Semantics.Paths/Interfaces/IFilePath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IFilePath.cs rename to Semantics.Paths/Interfaces/IFilePath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IPath.cs b/Semantics.Paths/Interfaces/IPath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IPath.cs rename to Semantics.Paths/Interfaces/IPath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IRelativeDirectoryPath.cs b/Semantics.Paths/Interfaces/IRelativeDirectoryPath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IRelativeDirectoryPath.cs rename to Semantics.Paths/Interfaces/IRelativeDirectoryPath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IRelativeFilePath.cs b/Semantics.Paths/Interfaces/IRelativeFilePath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IRelativeFilePath.cs rename to Semantics.Paths/Interfaces/IRelativeFilePath.cs diff --git a/Semantics.Paths/Paths/Interfaces/IRelativePath.cs b/Semantics.Paths/Interfaces/IRelativePath.cs similarity index 100% rename from Semantics.Paths/Paths/Interfaces/IRelativePath.cs rename to Semantics.Paths/Interfaces/IRelativePath.cs diff --git a/Semantics.Paths/Polyfills.cs b/Semantics.Paths/Polyfills.cs new file mode 100644 index 0000000..e820f4d --- /dev/null +++ b/Semantics.Paths/Polyfills.cs @@ -0,0 +1,198 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Paths; + +using System; +using System.IO; + +/// +/// Provides polyfill methods for Path class for older frameworks. +/// +internal static class PathPolyfill +{ + /// + /// Returns the relative path from one path to another. + /// + /// The source path the result should be relative to. + /// The destination path. + /// The relative path, or path if the paths don't share the same root. + public static string GetRelativePath(string relativeTo, string path) + { +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + return Path.GetRelativePath(relativeTo, path); +#else + // Fallback implementation for netstandard2.0 + relativeTo = Path.GetFullPath(relativeTo); + path = Path.GetFullPath(path); + + Uri fromUri = new(AppendDirectorySeparatorChar(relativeTo)); + Uri toUri = new(AppendDirectorySeparatorChar(path)); + + if (fromUri.Scheme != toUri.Scheme) + { + return path; + } + + Uri relativeUri = fromUri.MakeRelativeUri(toUri); + string relativePath = Uri.UnescapeDataString(relativeUri.ToString()); + + if (string.Equals(toUri.Scheme, Uri.UriSchemeFile, StringComparison.OrdinalIgnoreCase)) + { + relativePath = relativePath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); + } + + return relativePath; +#endif + } + + /// + /// Returns a value that indicates whether a path is fully qualified. + /// + /// The path to check. + /// true if the path is fully qualified; otherwise, false. + public static bool IsPathFullyQualified(string path) + { +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + return Path.IsPathFullyQualified(path); +#else + // Fallback implementation for netstandard2.0 + if (string.IsNullOrWhiteSpace(path)) + { + return false; + } + + if (path.Length < 2) + { + return false; + } + + // Check for UNC paths (\\server\share) + if (path.Length >= 2 && IsDirectorySeparator(path[0]) && IsDirectorySeparator(path[1])) + { + return true; + } + + // Check for drive letter paths (C:\) + if (path.Length >= 3 && + char.IsLetter(path[0]) && + path[1] == ':' && + IsDirectorySeparator(path[2])) + { + return true; + } + + // Unix absolute paths start with / + if (Path.DirectorySeparatorChar == '/' && path[0] == '/') + { + return true; + } + + return false; +#endif + } + + /// + /// Gets the absolute path for the specified path string relative to the base path. + /// + /// The file or directory for which to obtain absolute path information. + /// The beginning of a fully qualified path. + /// The fully qualified location of path, such as "C:\MyFile.txt". + public static string GetFullPath(string path, string basePath) + { +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + return Path.GetFullPath(path, basePath); +#else + // Fallback implementation for netstandard2.0 and netcoreapp2.0 + if (string.IsNullOrEmpty(path)) + { + throw new ArgumentException("Path cannot be empty.", nameof(path)); + } + + if (string.IsNullOrEmpty(basePath)) + { + throw new ArgumentException("Base path cannot be empty.", nameof(basePath)); + } + + basePath = Path.GetFullPath(basePath); + + if (IsPathFullyQualified(path)) + { + return Path.GetFullPath(path); + } + + string combinedPath = Path.Combine(basePath, path); + return Path.GetFullPath(combinedPath); +#endif + } + +#if !(NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER) + private static string AppendDirectorySeparatorChar(string path) + { + if (!path.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal)) + { + return path + Path.DirectorySeparatorChar; + } + + return path; + } + + private static bool IsDirectorySeparator(char c) => + c == Path.DirectorySeparatorChar || c == Path.AltDirectorySeparatorChar; +#endif +} + +/// +/// Provides polyfill methods for String class for older frameworks. +/// +internal static class StringPolyfill +{ + /// + /// Returns a new string in which all occurrences of a specified string in the current instance are replaced with another specified string, using the provided comparison type. + /// + /// The string to perform the replacement on. + /// The string to be replaced. + /// The string to replace all occurrences of oldValue. + /// One of the enumeration values that determines how oldValue is searched within this instance. + /// A string that is equivalent to the current string except that all instances of oldValue are replaced with newValue. + public static string Replace(string str, string oldValue, string newValue, StringComparison comparisonType) + { +#if NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER + return str.Replace(oldValue, newValue, comparisonType); +#else + // Fallback implementation for netstandard2.0 + if (string.IsNullOrEmpty(str)) + { + return str; + } + + if (string.IsNullOrEmpty(oldValue)) + { + throw new ArgumentException("Old value cannot be null or empty.", nameof(oldValue)); + } + + newValue ??= string.Empty; + + int index = str.IndexOf(oldValue, comparisonType); + if (index < 0) + { + return str; + } + + System.Text.StringBuilder result = new(str.Length); + int lastIndex = 0; + + while (index >= 0) + { + result.Append(str, lastIndex, index - lastIndex); + result.Append(newValue); + lastIndex = index + oldValue.Length; + index = str.IndexOf(oldValue, lastIndex, comparisonType); + } + + result.Append(str, lastIndex, str.Length - lastIndex); + return result.ToString(); +#endif + } +} diff --git a/Semantics.Paths/Paths/Primitives/AbsolutePath.cs b/Semantics.Paths/Primitives/AbsolutePath.cs similarity index 100% rename from Semantics.Paths/Paths/Primitives/AbsolutePath.cs rename to Semantics.Paths/Primitives/AbsolutePath.cs diff --git a/Semantics.Paths/Primitives/DirectoryName.cs b/Semantics.Paths/Primitives/DirectoryName.cs new file mode 100644 index 0000000..5d91f97 --- /dev/null +++ b/Semantics.Paths/Primitives/DirectoryName.cs @@ -0,0 +1,15 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Paths; + +using ktsu.Semantics.Strings; + +/// +/// Represents a directory name +/// +[IsDirectoryName] +public sealed record DirectoryName : SemanticString, IDirectoryName +{ +} diff --git a/Semantics.Paths/Paths/Implementations/DirectoryPath.cs b/Semantics.Paths/Primitives/DirectoryPath.cs similarity index 75% rename from Semantics.Paths/Paths/Implementations/DirectoryPath.cs rename to Semantics.Paths/Primitives/DirectoryPath.cs index a9c3675..105a291 100644 --- a/Semantics.Paths/Paths/Implementations/DirectoryPath.cs +++ b/Semantics.Paths/Primitives/DirectoryPath.cs @@ -9,7 +9,6 @@ namespace ktsu.Semantics.Paths; /// /// Represents a directory path (path to a directory) /// -[IsPath, IsDirectoryPath] public sealed record DirectoryPath : SemanticDirectoryPath, IDirectoryPath { /// @@ -51,46 +50,16 @@ public AbsoluteDirectoryPath AsAbsolute() public RelativeDirectoryPath AsRelative(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); + string absolutePath = Path.GetFullPath(WeakString); - string relativePath = PathHelper.GetRelativePath(baseDirectory.WeakString, absolutePath); +#if NETSTANDARD2_0 + string relativePath = PathPolyfill.GetRelativePath(baseDirectory.WeakString, absolutePath); +#else + string relativePath = Path.GetRelativePath(baseDirectory.WeakString, absolutePath); +#endif return RelativeDirectoryPath.Create(relativePath); } - /// - /// Asynchronously enumerates the files and directories contained in this directory as semantic path types. - /// This is more efficient for large directories as it streams results instead of loading everything into memory. - /// - /// A cancellation token to cancel the enumeration. - /// - /// An async enumerable of objects representing the contents of the directory. - /// Returns an empty enumerable if the directory doesn't exist or cannot be accessed. - /// - public async IAsyncEnumerable GetContentsAsync([System.Runtime.CompilerServices.EnumeratorCancellation] CancellationToken cancellationToken = default) - { - string directoryPath = WeakString; - if (!Directory.Exists(directoryPath)) - { - yield break; - } - - // Use Task.Run to avoid blocking the caller while enumerating - IEnumerable entries = await Task.Run(() => Directory.EnumerateFileSystemEntries(directoryPath, "*", SearchOption.TopDirectoryOnly), cancellationToken).ConfigureAwait(false); - - foreach (string item in entries) - { - cancellationToken.ThrowIfCancellationRequested(); - - if (Directory.Exists(item)) - { - yield return Create(item); - } - else if (File.Exists(item)) - { - yield return FilePath.Create(item); - } - } - } - /// /// Combines a directory path with a relative directory path using the '/' operator. /// @@ -123,6 +92,22 @@ public async IAsyncEnumerable GetContentsAsync([System.Runtime.CompilerSe return FilePath.Create(combinedPath); } + /// + /// Combines a directory path with a directory name using the '/' operator. + /// + /// The base directory path. + /// The directory name to append. + /// A new representing the combined path. + [SuppressMessage("Usage", "CA2225:Operator overloads have named alternates", Justification = "Path combination is the semantic meaning, not mathematical division")] + public static DirectoryPath operator /(DirectoryPath left, DirectoryName right) + { + Ensure.NotNull(left); + Ensure.NotNull(right); + + string combinedPath = Path.Combine(left.WeakString, right.WeakString); + return Create(combinedPath); + } + /// /// Combines a directory path with a file name using the '/' operator. /// diff --git a/Semantics.Paths/Paths/Primitives/FileExtension.cs b/Semantics.Paths/Primitives/FileExtension.cs similarity index 94% rename from Semantics.Paths/Paths/Primitives/FileExtension.cs rename to Semantics.Paths/Primitives/FileExtension.cs index 6862126..4bc3b94 100644 --- a/Semantics.Paths/Paths/Primitives/FileExtension.cs +++ b/Semantics.Paths/Primitives/FileExtension.cs @@ -9,7 +9,7 @@ namespace ktsu.Semantics.Paths; /// /// Represents a file extension (starts with a period) /// -[IsExtension] +[IsFileExtension] public sealed record FileExtension : SemanticString, IFileExtension { } diff --git a/Semantics.Paths/Paths/Primitives/FileName.cs b/Semantics.Paths/Primitives/FileName.cs similarity index 100% rename from Semantics.Paths/Paths/Primitives/FileName.cs rename to Semantics.Paths/Primitives/FileName.cs diff --git a/Semantics.Paths/Paths/Primitives/FilePath.cs b/Semantics.Paths/Primitives/FilePath.cs similarity index 86% rename from Semantics.Paths/Paths/Primitives/FilePath.cs rename to Semantics.Paths/Primitives/FilePath.cs index 84a5279..f9804e0 100644 --- a/Semantics.Paths/Paths/Primitives/FilePath.cs +++ b/Semantics.Paths/Primitives/FilePath.cs @@ -7,7 +7,6 @@ namespace ktsu.Semantics.Paths; /// /// Represents a file path (path to a file) /// -[IsPath, IsFilePath] public sealed record FilePath : SemanticFilePath, IFilePath { /// @@ -30,8 +29,13 @@ public AbsoluteFilePath AsAbsolute() public RelativeFilePath AsRelative(AbsoluteDirectoryPath baseDirectory) { Ensure.NotNull(baseDirectory); + string absolutePath = Path.GetFullPath(WeakString); - string relativePath = PathHelper.GetRelativePath(baseDirectory.WeakString, absolutePath); +#if NETSTANDARD2_0 + string relativePath = PathPolyfill.GetRelativePath(baseDirectory.WeakString, absolutePath); +#else + string relativePath = Path.GetRelativePath(baseDirectory.WeakString, absolutePath); +#endif return RelativeFilePath.Create(relativePath); } } diff --git a/Semantics.Paths/Paths/Primitives/RelativePath.cs b/Semantics.Paths/Primitives/RelativePath.cs similarity index 100% rename from Semantics.Paths/Paths/Primitives/RelativePath.cs rename to Semantics.Paths/Primitives/RelativePath.cs diff --git a/Semantics.Paths/Paths/SemanticAbsolutePath.cs b/Semantics.Paths/SemanticAbsolutePath.cs similarity index 93% rename from Semantics.Paths/Paths/SemanticAbsolutePath.cs rename to Semantics.Paths/SemanticAbsolutePath.cs index 145df33..87be425 100644 --- a/Semantics.Paths/Paths/SemanticAbsolutePath.cs +++ b/Semantics.Paths/SemanticAbsolutePath.cs @@ -7,7 +7,7 @@ namespace ktsu.Semantics.Paths; /// /// Base class for absolute paths (fully qualified paths) /// -[IsPath, IsAbsolutePath] +[IsAbsolutePath] public abstract record SemanticAbsolutePath : SemanticPath where TDerived : SemanticAbsolutePath { diff --git a/Semantics.Paths/Paths/SemanticDirectoryPath.cs b/Semantics.Paths/SemanticDirectoryPath.cs similarity index 70% rename from Semantics.Paths/Paths/SemanticDirectoryPath.cs rename to Semantics.Paths/SemanticDirectoryPath.cs index 319e719..ed935ba 100644 --- a/Semantics.Paths/Paths/SemanticDirectoryPath.cs +++ b/Semantics.Paths/SemanticDirectoryPath.cs @@ -7,7 +7,6 @@ namespace ktsu.Semantics.Paths; /// /// Base class for directory paths (paths that represent directories) /// -[IsPath, IsDirectoryPath] public abstract record SemanticDirectoryPath : SemanticPath where TDerived : SemanticDirectoryPath { @@ -27,49 +26,46 @@ public abstract record SemanticDirectoryPath : SemanticPath /// returns and objects /// /// - public virtual IEnumerable Contents + public virtual IEnumerable GetContents() { - get + string directoryPath = WeakString; + if (!Directory.Exists(directoryPath)) { - string directoryPath = WeakString; - if (!Directory.Exists(directoryPath)) - { - return []; - } + return []; + } - try - { - List contents = []; + try + { + List contents = []; - // Get all files and directories - string[] entries = Directory.GetFileSystemEntries(directoryPath); + // Get all files and directories + string[] entries = Directory.GetFileSystemEntries(directoryPath); - foreach (string entry in entries) + foreach (string entry in entries) + { + if (File.Exists(entry)) { - if (File.Exists(entry)) - { - // It's a file - create appropriate file path type - contents.Add(CreateFilePath(entry)); - } - else if (Directory.Exists(entry)) - { - // It's a directory - create appropriate directory path type - contents.Add(CreateDirectoryPath(entry)); - } + // It's a file - create appropriate file path type + contents.Add(CreateFilePath(entry)); + } + else if (Directory.Exists(entry)) + { + // It's a directory - create appropriate directory path type + contents.Add(CreateDirectoryPath(entry)); } - - return contents; - } - catch (UnauthorizedAccessException) - { - // Return empty collection if access denied - return []; - } - catch (DirectoryNotFoundException) - { - // Return empty collection if directory not found - return []; } + + return contents; + } + catch (UnauthorizedAccessException) + { + // Return empty collection if access denied + return []; + } + catch (DirectoryNotFoundException) + { + // Return empty collection if directory not found + return []; } } diff --git a/Semantics.Paths/Paths/SemanticFilePath.cs b/Semantics.Paths/SemanticFilePath.cs similarity index 69% rename from Semantics.Paths/Paths/SemanticFilePath.cs rename to Semantics.Paths/SemanticFilePath.cs index 8b47f17..df09847 100644 --- a/Semantics.Paths/Paths/SemanticFilePath.cs +++ b/Semantics.Paths/SemanticFilePath.cs @@ -7,7 +7,6 @@ namespace ktsu.Semantics.Paths; /// /// Base class for file paths (paths that represent files) /// -[IsPath, IsFilePath] public abstract record SemanticFilePath : SemanticPath where TDerived : SemanticFilePath { @@ -18,6 +17,21 @@ public FileExtension FileExtension { get { +#if NETSTANDARD2_0 + string span = WeakString; + + // Find the last dot + int lastDotIndex = span.LastIndexOf('.'); + if (lastDotIndex == -1 || lastDotIndex == span.Length - 1) + { + // No extension or trailing dot + return FileExtension.Create(""); + } + + // Return extension including the dot + string extension = span.Substring(lastDotIndex); + return FileExtension.Create(extension); +#else ReadOnlySpan span = WeakString.AsSpan(); // Find the last dot @@ -31,6 +45,7 @@ public FileExtension FileExtension // Return extension including the dot ReadOnlySpan extension = span[lastDotIndex..]; return FileExtension.Create(extension.ToString()); +#endif } } @@ -41,6 +56,21 @@ public FileExtension FullFileExtension { get { +#if NETSTANDARD2_0 + string span = WeakString; + + // Find the first dot + int firstDotIndex = span.IndexOf('.'); + if (firstDotIndex == -1) + { + // No extension + return FileExtension.Create(""); + } + + // Return everything from the first dot onward + string fullExtension = span.Substring(firstDotIndex); + return FileExtension.Create(fullExtension); +#else ReadOnlySpan span = WeakString.AsSpan(); // Find the first dot @@ -54,6 +84,7 @@ public FileExtension FullFileExtension // Return everything from the first dot onward ReadOnlySpan fullExtension = span[firstDotIndex..]; return FileExtension.Create(fullExtension.ToString()); +#endif } } diff --git a/Semantics.Paths/Paths/SemanticPath.cs b/Semantics.Paths/SemanticPath.cs similarity index 91% rename from Semantics.Paths/Paths/SemanticPath.cs rename to Semantics.Paths/SemanticPath.cs index b931600..d4a0634 100644 --- a/Semantics.Paths/Paths/SemanticPath.cs +++ b/Semantics.Paths/SemanticPath.cs @@ -4,6 +4,10 @@ namespace ktsu.Semantics.Paths; +using System.IO; +#if !NET5_0_OR_GREATER +using System.Runtime.InteropServices; +#endif using ktsu.Semantics.Strings; /// @@ -93,19 +97,31 @@ protected override string MakeCanonical(string input) if (canonical.EndsWith(separator) && canonical.Length > separator.Length) { // Check if this is a Windows root path (e.g., "C:\") +#if NET5_0_OR_GREATER bool isWindowsRoot = OperatingSystem.IsWindows() +#else + bool isWindowsRoot = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) +#endif && canonical.Length == 3 && char.IsLetter(canonical[0]) && canonical[1] == ':' && canonical[2] == Path.DirectorySeparatorChar; // Check if this is a Unix root path (e.g., "/") +#if NET5_0_OR_GREATER bool isUnixRoot = !OperatingSystem.IsWindows() && canonical == separator; +#else + bool isUnixRoot = !RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && canonical == separator; +#endif // Only remove trailing separator if it's not a root path if (!isWindowsRoot && !isUnixRoot) { +#if NETSTANDARD2_0 + canonical = canonical.Substring(0, canonical.Length - separator.Length); +#else canonical = canonical[..^separator.Length]; +#endif } } diff --git a/Semantics.Paths/Paths/SemanticRelativePath.cs b/Semantics.Paths/SemanticRelativePath.cs similarity index 77% rename from Semantics.Paths/Paths/SemanticRelativePath.cs rename to Semantics.Paths/SemanticRelativePath.cs index d7950b8..514bee7 100644 --- a/Semantics.Paths/Paths/SemanticRelativePath.cs +++ b/Semantics.Paths/SemanticRelativePath.cs @@ -7,7 +7,7 @@ namespace ktsu.Semantics.Paths; /// /// Base class for relative paths (not fully qualified) /// -[IsPath, IsRelativePath] +[IsRelativePath] public abstract record SemanticRelativePath : SemanticPath where TDerived : SemanticRelativePath { @@ -29,10 +29,18 @@ public static TRelativePath Make(TFromPath fr const string separator = "/"; const string altSeparator = "\\"; - string fromPath = Path.GetFullPath(fromInfo.FullName) - .Replace(altSeparator, separator, StringComparison.Ordinal); - string toPath = Path.GetFullPath(toInfo.FullName) - .Replace(altSeparator, separator, StringComparison.Ordinal); + string fromPath = Path.GetFullPath(fromInfo.FullName); +#if NETSTANDARD2_0 + fromPath = StringPolyfill.Replace(fromPath, altSeparator, separator, StringComparison.Ordinal); +#else + fromPath = fromPath.Replace(altSeparator, separator, StringComparison.Ordinal); +#endif + string toPath = Path.GetFullPath(toInfo.FullName); +#if NETSTANDARD2_0 + toPath = StringPolyfill.Replace(toPath, altSeparator, separator, StringComparison.Ordinal); +#else + toPath = toPath.Replace(altSeparator, separator, StringComparison.Ordinal); +#endif // Handle directory paths - ensure they end with separator bool fromIsDirectory = IsDirectoryPath(from); @@ -53,7 +61,11 @@ public static TRelativePath Make(TFromPath fr Uri relativeUri = fromUri.MakeRelativeUri(toUri); string relativePath = Uri.UnescapeDataString(relativeUri.ToString()); +#if NETSTANDARD2_0 + relativePath = StringPolyfill.Replace(relativePath, altSeparator, separator, StringComparison.Ordinal); +#else relativePath = relativePath.Replace(altSeparator, separator, StringComparison.Ordinal); +#endif return Create(relativePath); } diff --git a/Semantics.Paths/Utilities/NetStandard20Polyfills.cs b/Semantics.Paths/Utilities/NetStandard20Polyfills.cs deleted file mode 100644 index c646608..0000000 --- a/Semantics.Paths/Utilities/NetStandard20Polyfills.cs +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. - -namespace ktsu.Semantics.Paths; - -using System.IO; - -/// -/// Provides path utility methods with netstandard2.0 polyfill support. -/// -internal static class PathHelper -{ - /// - /// Returns a value that indicates whether a file path is fully qualified. - /// - /// A file path. - /// true if the path is fully qualified; otherwise, false. - public static bool IsPathFullyQualified(string path) - { -#if NETSTANDARD2_0 - if (string.IsNullOrEmpty(path)) - { - return false; - } - - if (path.Length >= 2 && path[1] == ':' && ((path[0] >= 'A' && path[0] <= 'Z') || (path[0] >= 'a' && path[0] <= 'z'))) - { - return true; - } - - if (path.Length >= 2 && path[0] == '\\' && path[1] == '\\') - { - return true; - } - - return path.Length >= 1 && path[0] == '/'; -#else - return Path.IsPathFullyQualified(path); -#endif - } - - /// - /// Returns a relative path from one path to another. - /// - /// The source path the result should be relative to. - /// The destination path. - /// The relative path. - public static string GetRelativePath(string relativeTo, string path) - { -#if NETSTANDARD2_0 - relativeTo = Path.GetFullPath(relativeTo); - path = Path.GetFullPath(path); - - if (!relativeTo.EndsWith(Path.DirectorySeparatorChar.ToString(), System.StringComparison.Ordinal) && - !relativeTo.EndsWith(Path.AltDirectorySeparatorChar.ToString(), System.StringComparison.Ordinal)) - { - relativeTo += Path.DirectorySeparatorChar; - } - - System.Uri relativeToUri = new(relativeTo); - System.Uri pathUri = new(path); - System.Uri relativeUri = relativeToUri.MakeRelativeUri(pathUri); - string relativePath = System.Uri.UnescapeDataString(relativeUri.ToString()); - return relativePath.Replace('/', Path.DirectorySeparatorChar); -#else - return Path.GetRelativePath(relativeTo, path); -#endif - } - - /// - /// Returns the absolute path for the specified path string, resolving against a base path. - /// - /// The file or directory for which to obtain absolute path information. - /// The base path to resolve against. - /// The fully qualified location of path. - public static string GetFullPath(string path, string basePath) - { -#if NETSTANDARD2_0 - if (Path.IsPathRooted(path)) - { - return Path.GetFullPath(path); - } - - return Path.GetFullPath(Path.Combine(basePath, path)); -#else - return Path.GetFullPath(path, basePath); -#endif - } -} - -#if NETSTANDARD2_0 - -/// -/// String extension methods for netstandard2.0 compatibility. -/// -internal static class StringPolyfill -{ - /// - /// Returns a new string in which all occurrences of a specified string are replaced with another, - /// using the provided comparison type. - /// - public static string Replace(this string source, string oldValue, string newValue, System.StringComparison comparisonType) - { - if (string.IsNullOrEmpty(source) || string.IsNullOrEmpty(oldValue)) - { - return source; - } - - System.Text.StringBuilder result = new(); - int startIndex = 0; - - while (true) - { - int index = source.IndexOf(oldValue, startIndex, comparisonType); - if (index < 0) - { - result.Append(source, startIndex, source.Length - startIndex); - break; - } - - result.Append(source, startIndex, index - startIndex); - result.Append(newValue); - startIndex = index + oldValue.Length; - } - - return result.ToString(); - } -} - -#endif diff --git a/Semantics.Paths/Utilities/PooledStringBuilder.cs b/Semantics.Paths/Utilities/PooledStringBuilder.cs index 3f6d831..801063c 100644 --- a/Semantics.Paths/Utilities/PooledStringBuilder.cs +++ b/Semantics.Paths/Utilities/PooledStringBuilder.cs @@ -48,7 +48,11 @@ public static void Return(StringBuilder sb) /// /// The path components to combine. /// The combined path string. +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER public static string CombinePaths(params ReadOnlySpan components) +#else + public static string CombinePaths(params string[] components) +#endif { if (components.Length == 0) { @@ -65,7 +69,12 @@ public static string CombinePaths(params ReadOnlySpan components) sb.Append(components[0]); for (int i = 1; i < components.Length; i++) { + +#if NETSTANDARD2_0 + if (!SpanPathUtilities.EndsWithDirectorySeparator(sb.ToString())) +#else if (!SpanPathUtilities.EndsWithDirectorySeparator(sb.ToString().AsSpan())) +#endif { sb.Append(Path.DirectorySeparatorChar); } diff --git a/Semantics.Paths/Utilities/SpanPathUtilities.cs b/Semantics.Paths/Utilities/SpanPathUtilities.cs index 09265af..204922f 100644 --- a/Semantics.Paths/Utilities/SpanPathUtilities.cs +++ b/Semantics.Paths/Utilities/SpanPathUtilities.cs @@ -14,8 +14,13 @@ internal static class SpanPathUtilities /// /// The path span to parse. /// The directory name span, or empty span if no directory. +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER public static ReadOnlySpan GetDirectoryName(ReadOnlySpan path) +#else + public static string GetDirectoryName(string path) +#endif { +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER if (path.IsEmpty) { return default; @@ -33,6 +38,25 @@ public static ReadOnlySpan GetDirectoryName(ReadOnlySpan path) } return lastSeparatorIndex >= 0 ? path[..lastSeparatorIndex] : default; +#else + if (string.IsNullOrEmpty(path)) + { + return string.Empty; + } + + // Find the last directory separator + int lastSeparatorIndex = -1; + for (int i = path.Length - 1; i >= 0; i--) + { + if (path[i] == Path.DirectorySeparatorChar || path[i] == Path.AltDirectorySeparatorChar) + { + lastSeparatorIndex = i; + break; + } + } + + return lastSeparatorIndex >= 0 ? path.Substring(0, lastSeparatorIndex) : string.Empty; +#endif } /// @@ -40,8 +64,13 @@ public static ReadOnlySpan GetDirectoryName(ReadOnlySpan path) /// /// The path span to parse. /// The filename span, or empty span if no filename. +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER public static ReadOnlySpan GetFileName(ReadOnlySpan path) +#else + public static string GetFileName(string path) +#endif { +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER if (path.IsEmpty) { return default; @@ -71,6 +100,37 @@ public static ReadOnlySpan GetFileName(ReadOnlySpan path) // No separator found, return the whole path return path; +#else + if (string.IsNullOrEmpty(path)) + { + return string.Empty; + } + + // Find the last directory separator + int lastSeparatorIndex = -1; + for (int i = path.Length - 1; i >= 0; i--) + { + if (path[i] == Path.DirectorySeparatorChar || path[i] == Path.AltDirectorySeparatorChar) + { + lastSeparatorIndex = i; + break; + } + } + + if (lastSeparatorIndex >= 0) + { + // If separator is at the end, return empty string + if (lastSeparatorIndex == path.Length - 1) + { + return string.Empty; + } + // Otherwise return the part after the separator + return path.Substring(lastSeparatorIndex + 1); + } + + // No separator found, return the whole path + return path; +#endif } /// @@ -78,9 +138,18 @@ public static ReadOnlySpan GetFileName(ReadOnlySpan path) /// /// The path span to check. /// if the path ends with a directory separator; otherwise, . +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER public static bool EndsWithDirectorySeparator(ReadOnlySpan path) +#else + public static bool EndsWithDirectorySeparator(string path) +#endif { +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER return !path.IsEmpty && (path[^1] == Path.DirectorySeparatorChar || path[^1] == Path.AltDirectorySeparatorChar); +#else + return !string.IsNullOrEmpty(path) && + (path[path.Length - 1] == Path.DirectorySeparatorChar || path[path.Length - 1] == Path.AltDirectorySeparatorChar); +#endif } } diff --git a/Semantics.Paths/Validation/Attributes/Path/IsAbsolutePathAttribute.cs b/Semantics.Paths/Validation/Attributes/Path/IsAbsolutePathAttribute.cs index 0302adf..5c6a29d 100644 --- a/Semantics.Paths/Validation/Attributes/Path/IsAbsolutePathAttribute.cs +++ b/Semantics.Paths/Validation/Attributes/Path/IsAbsolutePathAttribute.cs @@ -49,7 +49,11 @@ protected override ValidationResult ValidateValue(string value) return ValidationResult.Success(); } - bool isAbsolute = PathHelper.IsPathFullyQualified(value + Path.DirectorySeparatorChar); +#if NETSTANDARD2_0 + bool isAbsolute = PathPolyfill.IsPathFullyQualified(value + Path.DirectorySeparatorChar); +#else + bool isAbsolute = Path.IsPathFullyQualified(value + Path.DirectorySeparatorChar); +#endif return isAbsolute ? ValidationResult.Success() : ValidationResult.Failure("The path must be absolute (fully qualified)."); diff --git a/Semantics.Paths/Validation/Attributes/Path/IsDirectoryNameAttribute.cs b/Semantics.Paths/Validation/Attributes/Path/IsDirectoryNameAttribute.cs new file mode 100644 index 0000000..2e7454f --- /dev/null +++ b/Semantics.Paths/Validation/Attributes/Path/IsDirectoryNameAttribute.cs @@ -0,0 +1,67 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Paths; + +using System; +using System.IO; +using ktsu.Semantics.Strings; + +/// +/// Validates that a string represents a valid directory name (a single directory component, not a path). +/// +/// +/// This attribute enforces the following rules: +/// +/// Directory name must not contain invalid filename characters (which includes path separators) +/// Empty or null strings are considered valid +/// +/// Note: includes both +/// and , so path separators are inherently rejected. +/// +[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] +public sealed class IsDirectoryNameAttribute : NativeSemanticStringValidationAttribute +{ + /// + /// Creates the validation adapter for directory name validation. + /// + /// A validation adapter for directory name strings + protected override ValidationAdapter CreateValidator() => new DirectoryNameValidator(); + + /// + /// Validation adapter for directory name strings. + /// + private sealed class DirectoryNameValidator : ValidationAdapter + { + private static readonly char[] InvalidFileNameChars = Path.GetInvalidFileNameChars(); + + /// + /// Validates that a directory name string contains only valid characters. + /// + /// The string value to validate + /// A validation result indicating success or failure + /// + /// Since includes path separators, + /// this validation inherently prevents directory paths from being passed as directory names. + /// + protected override ValidationResult ValidateValue(string value) + { + if (string.IsNullOrEmpty(value)) + { + return ValidationResult.Success(); + } + + // Check for invalid filename characters (includes path separators) +#if NETSTANDARD2_0 + bool hasInvalidChars = value.IndexOfAny(InvalidFileNameChars) != -1; +#else + ReadOnlySpan valueSpan = value.AsSpan(); + bool hasInvalidChars = valueSpan.IndexOfAny(InvalidFileNameChars) != -1; +#endif + return hasInvalidChars + ? ValidationResult.Failure("The directory name contains invalid characters.") + : ValidationResult.Success(); + } + } +} diff --git a/Semantics.Paths/Validation/Attributes/Path/IsFileExtensionAttribute.cs b/Semantics.Paths/Validation/Attributes/Path/IsFileExtensionAttribute.cs new file mode 100644 index 0000000..f7b0ca2 --- /dev/null +++ b/Semantics.Paths/Validation/Attributes/Path/IsFileExtensionAttribute.cs @@ -0,0 +1,73 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Paths; + +using System; +using System.IO; +using ktsu.Semantics.Strings; + +/// +/// Validates that a string represents a valid file extension. +/// +/// +/// This attribute enforces the following rules: +/// +/// Extension must start with a period (.) +/// Extension must not contain invalid filename characters +/// Empty or null strings are considered valid +/// +/// +[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] +public sealed class IsFileExtensionAttribute : NativeSemanticStringValidationAttribute +{ + /// + /// Creates the validation adapter for file extension validation. + /// + /// A validation adapter for file extensions + protected override ValidationAdapter CreateValidator() => new FileExtensionValidator(); + + /// + /// Validation adapter for file extensions. + /// + private sealed class FileExtensionValidator : ValidationAdapter + { + private static readonly char[] InvalidFileNameChars = Path.GetInvalidFileNameChars(); + + /// + /// Validates that a string represents a valid file extension. + /// + /// The string value to validate + /// A validation result indicating success or failure + protected override ValidationResult ValidateValue(string value) + { + if (string.IsNullOrEmpty(value)) + { + return ValidationResult.Success(); + } + + // Check that it starts with a period +#if NETSTANDARD2_0 + bool startsWithPeriod = value.StartsWith("."); +#else + bool startsWithPeriod = value.StartsWith('.'); +#endif + if (!startsWithPeriod) + { + return ValidationResult.Failure("File extension must start with a period (.)."); + } + + // Check for invalid filename characters in the extension +#if NETSTANDARD2_0 + bool hasInvalidChars = value.IndexOfAny(InvalidFileNameChars) != -1; +#else + ReadOnlySpan valueSpan = value.AsSpan(); + bool hasInvalidChars = valueSpan.IndexOfAny(InvalidFileNameChars) != -1; +#endif + return hasInvalidChars + ? ValidationResult.Failure("File extension contains invalid characters.") + : ValidationResult.Success(); + } + } +} diff --git a/Semantics.Paths/Validation/Attributes/Path/IsRelativePathAttribute.cs b/Semantics.Paths/Validation/Attributes/Path/IsRelativePathAttribute.cs index 1ec7edd..d66d3e1 100644 --- a/Semantics.Paths/Validation/Attributes/Path/IsRelativePathAttribute.cs +++ b/Semantics.Paths/Validation/Attributes/Path/IsRelativePathAttribute.cs @@ -47,7 +47,11 @@ protected override ValidationResult ValidateValue(string value) return ValidationResult.Success(); } - bool isRelative = !PathHelper.IsPathFullyQualified(value); +#if NETSTANDARD2_0 + bool isRelative = !PathPolyfill.IsPathFullyQualified(value); +#else + bool isRelative = !Path.IsPathFullyQualified(value); +#endif return isRelative ? ValidationResult.Success() : ValidationResult.Failure("The path must be relative (not fully qualified)."); diff --git a/Semantics.Paths/Validation/SemanticPathValidationAttributes.cs b/Semantics.Paths/Validation/SemanticPathValidationAttributes.cs deleted file mode 100644 index c1587a1..0000000 --- a/Semantics.Paths/Validation/SemanticPathValidationAttributes.cs +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) ktsu.dev -// All rights reserved. -// Licensed under the MIT license. - -// This file has been deprecated. All validation attributes have been moved to separate files -// in the Semantics/Validation/Attributes/ directory for better organization and maintainability. diff --git a/Semantics.Quantities/AssemblyInfo.cs b/Semantics.Quantities/AssemblyInfo.cs new file mode 100644 index 0000000..af8b8f9 --- /dev/null +++ b/Semantics.Quantities/AssemblyInfo.cs @@ -0,0 +1,7 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("ktsu.Semantics.Test")] diff --git a/Semantics.Quantities/CompatibilitySuppressions.xml b/Semantics.Quantities/CompatibilitySuppressions.xml new file mode 100644 index 0000000..eed1f79 --- /dev/null +++ b/Semantics.Quantities/CompatibilitySuppressions.xml @@ -0,0 +1,12988 @@ + + + + + CP0001 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Runtime.CompilerServices.CollectionBuilderAttribute + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureGuardAttribute + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Diagnostics.DebuggerDisableUserUnhandledExceptionsAttribute + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Runtime.CompilerServices.ParamCollectionAttribute + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0001 + T:System.Threading.Lock + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEventsWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFieldsWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethodsWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicPropertiesWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_Message + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_Message(System.String) + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0008 + T:ktsu.Semantics.UnitSystem + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0008 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0008 + T:System.IO.UnixFileMode + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0008 + T:System.Text.SpanLineEnumerator + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Quantities.dll + lib/net9.0/ktsu.Semantics.Quantities.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0014 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.CallConvs:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.EntryPoint:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.{Clone}$->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateDoseRate(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateEnergyAbsorbed(ktsu.Semantics.Mass{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateEnergyAbsorbed(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateEquivalentDose(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateMass(ktsu.Semantics.Energy{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.CalculateMass(ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.Equals(ktsu.Semantics.AbsorbedDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.AbsorbedDose{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromEnergyAndMass(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromEnergyAndMass(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromEnergyAndMass(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromGrays(`0)->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromMicrograys(`0)->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromMilligrays(`0)->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.FromRads(`0)->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.op_Equality(ktsu.Semantics.AbsorbedDose{`0},ktsu.Semantics.AbsorbedDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.op_Equality(ktsu.Semantics.AbsorbedDose{`0},ktsu.Semantics.AbsorbedDose{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.op_Inequality(ktsu.Semantics.AbsorbedDose{`0},ktsu.Semantics.AbsorbedDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.op_Inequality(ktsu.Semantics.AbsorbedDose{`0},ktsu.Semantics.AbsorbedDose{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AbsorbedDose`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.{Clone}$->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.Equals(ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Acceleration{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.FromMetersPerSecondSquared(`0)->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.FromMetersPerSecondSquared(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Equality(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Equality(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Inequality(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Inequality(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Acceleration`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.{Clone}$->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateDensity(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.SoundSpeed{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateDensity(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateDensity(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.SoundSpeed{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateSoundSpeed(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateSoundSpeed(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.CalculateSoundSpeed(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Divide(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Divide(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Divide(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Equals(ktsu.Semantics.AcousticImpedance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.AcousticImpedance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.ForStandardAir->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.FromDensityAndSoundSpeed(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.FromDensityAndSoundSpeed(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.FromDensityAndSoundSpeed(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.FromPascalSecondsPerMeter(`0)->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.FromRayls(`0)->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})->ktsu.Semantics.AcousticImpedance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.SoundSpeed{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.op_Equality(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.op_Equality(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.op_Inequality(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.op_Inequality(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AcousticImpedance`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.{Clone}$->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CalculateRateRatio(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CalculateRateRatio(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_DNADenaturation->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_EnzymeCatalyzed->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_EsterHydrolysis->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_NucleophilicSubstitution->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_ProteinDenaturation->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.CommonValues.get_WaterSelfIonization->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.Equals(ktsu.Semantics.ActivationEnergy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ActivationEnergy{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.FromArrheniusPlot(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.ActivationEnergy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.FromArrheniusPlot(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.FromArrheniusPlot(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.FromArrheniusPlot(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.FromArrheniusPlot(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.op_Equality(ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.ActivationEnergy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.op_Equality(ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.ActivationEnergy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.op_Inequality(ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.ActivationEnergy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.op_Inequality(ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.ActivationEnergy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ActivationEnergy`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.{Clone}$->ktsu.Semantics.AmountOfSubstance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateMass(ktsu.Semantics.MolarMass{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateMass(ktsu.Semantics.MolarMass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculatePressureFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculatePressureFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculatePressureFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculatePressureFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Volume{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateTemperatureFromIdealGas(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.AmountOfSubstance{`0})->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateTemperatureFromIdealGas(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateTemperatureFromIdealGas(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.AmountOfSubstance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateTemperatureFromIdealGas(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.AmountOfSubstance{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateVolumeFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Pressure{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateVolumeFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Pressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateVolumeFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Pressure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.CalculateVolumeFromIdealGas(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Pressure{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.Equals(ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.AmountOfSubstance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromEntities(`0)->ktsu.Semantics.AmountOfSubstance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromIdealGasLaw(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.AmountOfSubstance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromIdealGasLaw(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromIdealGasLaw(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromIdealGasLaw(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Volume{`0},ktsu.Semantics.Temperature{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.FromMoles(`0)->ktsu.Semantics.AmountOfSubstance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.GetMolarVolumeAtSTP->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Equality(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Equality(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.AmountOfSubstance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Inequality(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Inequality(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.AmountOfSubstance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Multiply(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.MolarMass{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Multiply(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.MolarMass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.op_Multiply(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.MolarMass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AmountOfSubstance`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.{Clone}$->ktsu.Semantics.AngularAcceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.Equals(ktsu.Semantics.AngularAcceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.AngularAcceleration{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.FromRadiansPerSecondSquared(`0)->ktsu.Semantics.AngularAcceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.FromRadiansPerSecondSquared(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.op_Equality(ktsu.Semantics.AngularAcceleration{`0},ktsu.Semantics.AngularAcceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.op_Equality(ktsu.Semantics.AngularAcceleration{`0},ktsu.Semantics.AngularAcceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.op_Inequality(ktsu.Semantics.AngularAcceleration{`0},ktsu.Semantics.AngularAcceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularAcceleration`1.op_Inequality(ktsu.Semantics.AngularAcceleration{`0},ktsu.Semantics.AngularAcceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.{Clone}$->ktsu.Semantics.AngularVelocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Divide(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.AngularAcceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Divide(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Divide(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Equals(ktsu.Semantics.AngularVelocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.AngularVelocity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.FromRadiansPerSecond(`0)->ktsu.Semantics.AngularVelocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.FromRadiansPerSecond(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.op_Equality(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.AngularVelocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.op_Equality(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.AngularVelocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.op_Inequality(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.AngularVelocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.AngularVelocity`1.op_Inequality(ktsu.Semantics.AngularVelocity{`0},ktsu.Semantics.AngularVelocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.{Clone}$->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Equals(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Area{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.FromSquareMeters(`0)->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.FromSquareMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Equality(ktsu.Semantics.Area{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Equality(ktsu.Semantics.Area{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Inequality(ktsu.Semantics.Area{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Inequality(ktsu.Semantics.Area{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Area`1.op_Multiply(ktsu.Semantics.Area{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.{Clone}$->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.CalculatePressureChange(`0)->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.CalculateRelativeVolumeChange(ktsu.Semantics.Pressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.CalculateSpeedOfSound(ktsu.Semantics.Density{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.CalculateSpeedOfSound(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.Equals(ktsu.Semantics.BulkModulus{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.BulkModulus{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromGigapascals(`0)->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromKilopascals(`0)->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromMegapascals(`0)->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromPascals(`0)->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromPressureAndVolumeChange(ktsu.Semantics.Pressure{`0},`0)->ktsu.Semantics.BulkModulus<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.FromPressureAndVolumeChange(ktsu.Semantics.Pressure{`0},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.op_Equality(ktsu.Semantics.BulkModulus{`0},ktsu.Semantics.BulkModulus{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.op_Equality(ktsu.Semantics.BulkModulus{`0},ktsu.Semantics.BulkModulus{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.op_Inequality(ktsu.Semantics.BulkModulus{`0},ktsu.Semantics.BulkModulus{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.op_Inequality(ktsu.Semantics.BulkModulus{`0},ktsu.Semantics.BulkModulus{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.BulkModulus`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.{Clone}$->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Dilute(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Dilute(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Dilute(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Equals(ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Concentration{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromMolarity(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromMolarity(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromMolarity(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromPartsPerMillion(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromPartsPerMillion(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromPartsPerMillion(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromWeightVolumePercent(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromWeightVolumePercent(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.FromWeightVolumePercent(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Concentration{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Division(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Concentration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Equality(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Equality(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Inequality(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Inequality(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Multiply(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.AmountOfSubstance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Multiply(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Concentration`1.op_Multiply(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.{Clone}$->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Divide(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Equals(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Density{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.FromKilogramsPerCubicMeter(`0)->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.FromKilogramsPerCubicMeter(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.Multiply(ktsu.Semantics.Density{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.op_Equality(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.op_Equality(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.op_Inequality(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Density`1.op_Inequality(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.{Clone}$->ktsu.Semantics.DirectionalityIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.Equals(ktsu.Semantics.DirectionalityIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.DirectionalityIndex{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.FromDecibels(`0)->ktsu.Semantics.DirectionalityIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.FromDirectivityFactor(`0)->ktsu.Semantics.DirectionalityIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.GetDirectivityPattern:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.GetTypicalApplication:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.op_Equality(ktsu.Semantics.DirectionalityIndex{`0},ktsu.Semantics.DirectionalityIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.op_Equality(ktsu.Semantics.DirectionalityIndex{`0},ktsu.Semantics.DirectionalityIndex{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.op_Inequality(ktsu.Semantics.DirectionalityIndex{`0},ktsu.Semantics.DirectionalityIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.op_Inequality(ktsu.Semantics.DirectionalityIndex{`0},ktsu.Semantics.DirectionalityIndex{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DirectionalityIndex`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.{Clone}$->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CalculateKinematicViscosity(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CalculateReynoldsNumber(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CalculateReynoldsNumber(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CalculateReynoldsNumber(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Air->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Blood->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Glycerol->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Honey->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Mercury->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_MotorOil->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.CommonValues.get_Water->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.Equals(ktsu.Semantics.DynamicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.DynamicViscosity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.FromShearStressAndRate(ktsu.Semantics.Pressure{`0},`0)->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.FromShearStressAndRate(ktsu.Semantics.Pressure{`0},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.op_Equality(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.DynamicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.op_Equality(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.DynamicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.op_Inequality(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.DynamicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.op_Inequality(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.DynamicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.DynamicViscosity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.{Clone}$->ktsu.Semantics.ElectricCapacitance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.Equals(ktsu.Semantics.ElectricCapacitance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricCapacitance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.FromFarads(`0)->ktsu.Semantics.ElectricCapacitance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.FromFarads(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCapacitance{`0})->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCapacitance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCapacitance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Equality(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricCapacitance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Equality(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricCapacitance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Inequality(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricCapacitance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Inequality(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricCapacitance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Multiply(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricPotential{`0})->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Multiply(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricPotential{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCapacitance`1.op_Multiply(ktsu.Semantics.ElectricCapacitance{`0},ktsu.Semantics.ElectricPotential{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.{Clone}$->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.Equals(ktsu.Semantics.ElectricCharge{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricCharge{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.FromCoulombs(`0)->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.FromCoulombs(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.ElectricCurrent<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Division(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Equality(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCharge{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Equality(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCharge{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Inequality(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCharge{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCharge`1.op_Inequality(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.ElectricCharge{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.{Clone}$->ktsu.Semantics.ElectricConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.Divide(`0,ktsu.Semantics.ElectricField{`0})->ktsu.Semantics.ElectricConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.Divide(`0,ktsu.Semantics.ElectricField{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.Equals(ktsu.Semantics.ElectricConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricConductivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.FromSiemensPerMeter(`0)->ktsu.Semantics.ElectricConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.op_Equality(ktsu.Semantics.ElectricConductivity{`0},ktsu.Semantics.ElectricConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.op_Equality(ktsu.Semantics.ElectricConductivity{`0},ktsu.Semantics.ElectricConductivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.op_Inequality(ktsu.Semantics.ElectricConductivity{`0},ktsu.Semantics.ElectricConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.op_Inequality(ktsu.Semantics.ElectricConductivity{`0},ktsu.Semantics.ElectricConductivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricConductivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.{Clone}$->ktsu.Semantics.ElectricCurrent<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.Equals(ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricCurrent{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.FromAmperes(`0)->ktsu.Semantics.ElectricCurrent<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.FromAmperes(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.ElectricResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Equality(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Equality(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Inequality(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Inequality(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricResistance{`0})->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.ElectricResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.ElectricCurrent{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricCurrent`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.{Clone}$->ktsu.Semantics.ElectricField<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.ElectricField<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Equals(ktsu.Semantics.ElectricField{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricField{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.FromVoltsPerMeter(`0)->ktsu.Semantics.ElectricField<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.FromVoltsPerMeter(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.op_Equality(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.ElectricField{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.op_Equality(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.ElectricField{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.op_Inequality(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.ElectricField{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricField`1.op_Inequality(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.ElectricField{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.{Clone}$->ktsu.Semantics.ElectricFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Divide(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.ElectricField<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Divide(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Divide(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Equals(ktsu.Semantics.ElectricFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricFlux{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.FromVoltMeters(`0)->ktsu.Semantics.ElectricFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.FromVoltMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.ElectricFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.Multiply(ktsu.Semantics.ElectricField{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.op_Equality(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.ElectricFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.op_Equality(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.ElectricFlux{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.op_Inequality(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.ElectricFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricFlux`1.op_Inequality(ktsu.Semantics.ElectricFlux{`0},ktsu.Semantics.ElectricFlux{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.{Clone}$->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.Equals(ktsu.Semantics.ElectricPotential{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricPotential{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.FromVolts(`0)->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.FromVolts(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})->ktsu.Semantics.ElectricCurrent<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.ElectricField<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Equality(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricPotential{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Equality(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricPotential{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Inequality(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricPotential{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Inequality(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricPotential{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Multiply(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Multiply(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPotential`1.op_Multiply(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.{Clone}$->ktsu.Semantics.ElectricPowerDensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Divide(ktsu.Semantics.Power{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.ElectricPowerDensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Divide(ktsu.Semantics.Power{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Divide(ktsu.Semantics.Power{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Equals(ktsu.Semantics.ElectricPowerDensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricPowerDensity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.FromWattsPerCubicMeter(`0)->ktsu.Semantics.ElectricPowerDensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.FromWattsPerCubicMeter(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Multiply(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Multiply(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.Multiply(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.op_Equality(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.ElectricPowerDensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.op_Equality(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.ElectricPowerDensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.op_Inequality(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.ElectricPowerDensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricPowerDensity`1.op_Inequality(ktsu.Semantics.ElectricPowerDensity{`0},ktsu.Semantics.ElectricPowerDensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.{Clone}$->ktsu.Semantics.ElectricResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.Equals(ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ElectricResistance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.FromOhms(`0)->ktsu.Semantics.ElectricResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.FromOhms(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})->ktsu.Semantics.ElectricCurrent<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Division(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Equality(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Equality(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Inequality(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Inequality(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Multiply(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Multiply(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ElectricResistance`1.op_Multiply(ktsu.Semantics.ElectricResistance{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.{Clone}$->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.Equals(ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Energy{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromGravitationalPotential(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromGravitationalPotential(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromGravitationalPotential(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromJoules(`0)->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromJoules(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromKineticEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromKineticEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromKineticEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromPotentialEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromPotentialEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromPotentialEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromPotentialEnergy(ktsu.Semantics.Mass{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromWork(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromWork(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.FromWork(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.GetVelocityFromKineticEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.GetVelocityFromKineticEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.GetVelocityFromKineticEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.GetVelocityFromKineticEnergy(ktsu.Semantics.Mass{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.GetVelocityFromKineticEnergy(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Force{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Power{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Power{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Division(ktsu.Semantics.Energy{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Equality(ktsu.Semantics.Energy{`0},ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Equality(ktsu.Semantics.Energy{`0},ktsu.Semantics.Energy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Inequality(ktsu.Semantics.Energy{`0},ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Energy`1.op_Inequality(ktsu.Semantics.Energy{`0},ktsu.Semantics.Energy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.{Clone}$->ktsu.Semantics.Entropy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateEntropyChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Entropy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateEntropyChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateEntropyChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateGibbsFreeEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateGibbsFreeEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.CalculateGibbsFreeEnergy(ktsu.Semantics.Energy{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.Equals(ktsu.Semantics.Entropy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Entropy{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.FromBtuPerRankine(`0)->ktsu.Semantics.Entropy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.FromCaloriesPerKelvin(`0)->ktsu.Semantics.Entropy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.FromJoulesPerKelvin(`0)->ktsu.Semantics.Entropy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.op_Equality(ktsu.Semantics.Entropy{`0},ktsu.Semantics.Entropy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.op_Equality(ktsu.Semantics.Entropy{`0},ktsu.Semantics.Entropy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.op_Inequality(ktsu.Semantics.Entropy{`0},ktsu.Semantics.Entropy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.op_Inequality(ktsu.Semantics.Entropy{`0},ktsu.Semantics.Entropy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Entropy`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.{Clone}$->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CalculateSpecificActivity(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CalculateTurnoverNumber(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CalculateTurnoverNumber(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CommonValues.get_CarbonicAnhydrase->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CommonValues.get_Catalase->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CommonValues.get_HighActivity->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.CommonValues.get_TypicalEnzyme->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.Equals(ktsu.Semantics.EnzymeActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.EnzymeActivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.FromSubstrateConversion(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.FromSubstrateConversion(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.FromSubstrateConversion(ktsu.Semantics.AmountOfSubstance{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.MichaelisMenten(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})->ktsu.Semantics.EnzymeActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.MichaelisMenten(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.MichaelisMenten(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.MichaelisMenten(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.op_Equality(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.EnzymeActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.op_Equality(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.EnzymeActivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.op_Inequality(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.EnzymeActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.op_Inequality(ktsu.Semantics.EnzymeActivity{`0},ktsu.Semantics.EnzymeActivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EnzymeActivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.{Clone}$->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.CalculateAbsorbedDose(`0)->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.CalculateDoseRate(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.CalculateEffectiveDoseContribution(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.Equals(ktsu.Semantics.EquivalentDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.EquivalentDose{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromAbsorbedDoseAndWeightingFactor(ktsu.Semantics.AbsorbedDose{`0},`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromAbsorbedDoseAndWeightingFactor(ktsu.Semantics.AbsorbedDose{`0},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromMicrosieverts(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromMillisieverts(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromRems(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.FromSieverts(`0)->ktsu.Semantics.EquivalentDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.op_Equality(ktsu.Semantics.EquivalentDose{`0},ktsu.Semantics.EquivalentDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.op_Equality(ktsu.Semantics.EquivalentDose{`0},ktsu.Semantics.EquivalentDose{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.op_Inequality(ktsu.Semantics.EquivalentDose{`0},ktsu.Semantics.EquivalentDose{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.op_Inequality(ktsu.Semantics.EquivalentDose{`0},ktsu.Semantics.EquivalentDose{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.EquivalentDose`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.{Clone}$->ktsu.Semantics.Exposure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.CalculateCharge(ktsu.Semantics.Mass{`0})->ktsu.Semantics.ElectricCharge<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.CalculateCharge(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.CalculateExposureRate(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.CalculateMass(ktsu.Semantics.ElectricCharge{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.CalculateMass(ktsu.Semantics.ElectricCharge{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.Equals(ktsu.Semantics.Exposure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Exposure{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromChargeAndMass(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Exposure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromChargeAndMass(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromChargeAndMass(ktsu.Semantics.ElectricCharge{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromCoulombsPerKilogram(`0)->ktsu.Semantics.Exposure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromMilliroentgens(`0)->ktsu.Semantics.Exposure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.FromRoentgens(`0)->ktsu.Semantics.Exposure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.op_Equality(ktsu.Semantics.Exposure{`0},ktsu.Semantics.Exposure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.op_Equality(ktsu.Semantics.Exposure{`0},ktsu.Semantics.Exposure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.op_Inequality(ktsu.Semantics.Exposure{`0},ktsu.Semantics.Exposure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.op_Inequality(ktsu.Semantics.Exposure{`0},ktsu.Semantics.Exposure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.ToAbsorbedDoseInAir->ktsu.Semantics.AbsorbedDose<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Exposure`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.{Clone}$->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.CalculateTorque(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Torque<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.CalculateTorque(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.CalculateTorque(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.CalculateTorque(ktsu.Semantics.Length{`0})->ktsu.Semantics.Torque<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.CalculateTorque(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.Equals(ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Force{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromMassAndAcceleration(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromMassAndAcceleration(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromMassAndAcceleration(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromNewtons(`0)->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromNewtons(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromWeight(ktsu.Semantics.Mass{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.FromWeight(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.GetAcceleration(ktsu.Semantics.Mass{`0})->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.GetAcceleration(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Division(ktsu.Semantics.Force{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Equality(ktsu.Semantics.Force{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Equality(ktsu.Semantics.Force{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Inequality(ktsu.Semantics.Force{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Inequality(ktsu.Semantics.Force{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Force{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Force{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Force`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.{Clone}$->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Create(`0)->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Divide(`0,ktsu.Semantics.Time{`0})->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Divide(`0,ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Equals(ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Frequency{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.FromHertz(`0)->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.FromKilohertz(`0)->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.FromMegahertz(`0)->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.FromPhotonEnergy(ktsu.Semantics.Energy{`0})->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.FromPhotonEnergy(ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.GetElectromagneticWavelength(ktsu.Semantics.Frequency{`0})->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.GetElectromagneticWavelength(ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.GetPhotonEnergy(ktsu.Semantics.Frequency{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.GetPhotonEnergy(ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Division(`0,ktsu.Semantics.Frequency{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Division(`0,ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Frequency{`0})->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Equality(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Equality(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Inequality(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Inequality(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.op_Multiply(ktsu.Semantics.Frequency{`0},ktsu.Semantics.Wavelength{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Frequency`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.{Clone}$->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.Equals(ktsu.Semantics.Heat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Heat{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromBTU(`0)->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromCalories(`0)->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromEnergy(ktsu.Semantics.Energy{`0})->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromEnergy(ktsu.Semantics.Energy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromJoules(`0)->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.FromKilowattHours(`0)->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Power{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Power{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Division(ktsu.Semantics.Heat{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Equality(ktsu.Semantics.Heat{`0},ktsu.Semantics.Heat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Equality(ktsu.Semantics.Heat{`0},ktsu.Semantics.Heat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Inequality(ktsu.Semantics.Heat{`0},ktsu.Semantics.Heat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.op_Inequality(ktsu.Semantics.Heat{`0},ktsu.Semantics.Heat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.ToEnergy->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Heat`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.{Clone}$->ktsu.Semantics.HeatCapacity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateHeatRequired(ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateHeatRequired(ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateSpecificHeat(ktsu.Semantics.Mass{`0})->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateSpecificHeat(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateTemperatureChange(ktsu.Semantics.Heat{`0})->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.CalculateTemperatureChange(ktsu.Semantics.Heat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.Equals(ktsu.Semantics.HeatCapacity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.HeatCapacity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.FromBtuPerFahrenheit(`0)->ktsu.Semantics.HeatCapacity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.FromCaloriesPerKelvin(`0)->ktsu.Semantics.HeatCapacity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.FromJoulesPerKelvin(`0)->ktsu.Semantics.HeatCapacity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.op_Equality(ktsu.Semantics.HeatCapacity{`0},ktsu.Semantics.HeatCapacity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.op_Equality(ktsu.Semantics.HeatCapacity{`0},ktsu.Semantics.HeatCapacity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.op_Inequality(ktsu.Semantics.HeatCapacity{`0},ktsu.Semantics.HeatCapacity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.op_Inequality(ktsu.Semantics.HeatCapacity{`0},ktsu.Semantics.HeatCapacity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatCapacity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.{Clone}$->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.CalculateHeatTransferRate(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.CalculateHeatTransferRate(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.CalculateHeatTransferRate(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.CalculateThermalResistance(ktsu.Semantics.Area{`0})->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.CalculateThermalResistance(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.Equals(ktsu.Semantics.HeatTransferCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.HeatTransferCoefficient{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.FromBtuPerHourSquareFootFahrenheit(`0)->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.FromCaloriesPerSecondSquareCentimeterKelvin(`0)->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.FromWattsPerSquareMeterKelvin(`0)->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.op_Equality(ktsu.Semantics.HeatTransferCoefficient{`0},ktsu.Semantics.HeatTransferCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.op_Equality(ktsu.Semantics.HeatTransferCoefficient{`0},ktsu.Semantics.HeatTransferCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.op_Inequality(ktsu.Semantics.HeatTransferCoefficient{`0},ktsu.Semantics.HeatTransferCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.op_Inequality(ktsu.Semantics.HeatTransferCoefficient{`0},ktsu.Semantics.HeatTransferCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_BoilingWater->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_CondensingSteam->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_ForcedConvectionAir->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_ForcedConvectionWater->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_NaturalConvectionAir->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.get_NaturalConvectionWater->ktsu.Semantics.HeatTransferCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.{Clone}$->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.CalculateDistanceFromSource(ktsu.Semantics.LuminousIntensity{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.CalculateDistanceFromSource(ktsu.Semantics.LuminousIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.CalculateLuminousFlux(ktsu.Semantics.Area{`0})->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.CalculateLuminousFlux(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.Equals(ktsu.Semantics.Illuminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Illuminance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.FromFootCandles(`0)->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.FromKilolux(`0)->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.FromLux(`0)->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.FromMillilux(`0)->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.op_Equality(ktsu.Semantics.Illuminance{`0},ktsu.Semantics.Illuminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.op_Equality(ktsu.Semantics.Illuminance{`0},ktsu.Semantics.Illuminance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.op_Inequality(ktsu.Semantics.Illuminance{`0},ktsu.Semantics.Illuminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.op_Inequality(ktsu.Semantics.Illuminance{`0},ktsu.Semantics.Illuminance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Illuminance`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.{Clone}$->ktsu.Semantics.ImpedanceAC<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.ImpedanceAC<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Divide(ktsu.Semantics.ElectricPotential{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Equals(ktsu.Semantics.ImpedanceAC{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ImpedanceAC{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.FromOhms(`0)->ktsu.Semantics.ImpedanceAC<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.FromOhms(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Multiply(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ElectricCurrent{`0})->ktsu.Semantics.ElectricPotential<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Multiply(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ElectricCurrent{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.Multiply(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ElectricCurrent{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.op_Equality(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ImpedanceAC{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.op_Equality(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ImpedanceAC{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.op_Inequality(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ImpedanceAC{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ImpedanceAC`1.op_Inequality(ktsu.Semantics.ImpedanceAC{`0},ktsu.Semantics.ImpedanceAC{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.IPhysicalQuantity`1.In(ktsu.Semantics.IUnit)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.{Clone}$->ktsu.Semantics.KinematicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateDensity(ktsu.Semantics.DynamicViscosity{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateDensity(ktsu.Semantics.DynamicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateDynamicViscosity(ktsu.Semantics.Density{`0})->ktsu.Semantics.DynamicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateDynamicViscosity(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateReynoldsNumber(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.CalculateReynoldsNumber(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.Equals(ktsu.Semantics.KinematicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.KinematicViscosity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromCentistokes(`0)->ktsu.Semantics.KinematicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromDynamicViscosityAndDensity(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.KinematicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromDynamicViscosityAndDensity(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromDynamicViscosityAndDensity(ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromSquareMetersPerSecond(`0)->ktsu.Semantics.KinematicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.FromStokes(`0)->ktsu.Semantics.KinematicViscosity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.IsLaminarFlow(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},System.Nullable{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.IsLaminarFlow(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},System.Nullable{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.IsTurbulentFlow(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},System.Nullable{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.IsTurbulentFlow(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},System.Nullable{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.op_Equality(ktsu.Semantics.KinematicViscosity{`0},ktsu.Semantics.KinematicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.op_Equality(ktsu.Semantics.KinematicViscosity{`0},ktsu.Semantics.KinematicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.op_Inequality(ktsu.Semantics.KinematicViscosity{`0},ktsu.Semantics.KinematicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.op_Inequality(ktsu.Semantics.KinematicViscosity{`0},ktsu.Semantics.KinematicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.KinematicViscosity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.{Clone}$->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Divide(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Divide(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Divide(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Equals(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Length{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.FromMeters(`0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.FromMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Equality(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Equality(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Inequality(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Inequality(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Length`1.op_Multiply(ktsu.Semantics.Length{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.{Clone}$->ktsu.Semantics.Loudness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.CombineWith(ktsu.Semantics.Loudness{`0})->ktsu.Semantics.Loudness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.CombineWith(ktsu.Semantics.Loudness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.Equals(ktsu.Semantics.Loudness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Loudness{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.FromPhons(`0)->ktsu.Semantics.Loudness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.FromSones(`0)->ktsu.Semantics.Loudness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.GetLoudnessCategory:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.op_Equality(ktsu.Semantics.Loudness{`0},ktsu.Semantics.Loudness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.op_Equality(ktsu.Semantics.Loudness{`0},ktsu.Semantics.Loudness{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.op_Inequality(ktsu.Semantics.Loudness{`0},ktsu.Semantics.Loudness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.op_Inequality(ktsu.Semantics.Loudness{`0},ktsu.Semantics.Loudness{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Loudness`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.{Clone}$->ktsu.Semantics.Luminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.CalculateIlluminanceForLambertianSurface->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.CalculateLuminousIntensity(ktsu.Semantics.Area{`0})->ktsu.Semantics.LuminousIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.CalculateLuminousIntensity(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.Equals(ktsu.Semantics.Luminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Luminance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.FromCandelaPerSquareMeter(`0)->ktsu.Semantics.Luminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.FromFootLamberts(`0)->ktsu.Semantics.Luminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.FromNits(`0)->ktsu.Semantics.Luminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.FromStilbs(`0)->ktsu.Semantics.Luminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.op_Equality(ktsu.Semantics.Luminance{`0},ktsu.Semantics.Luminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.op_Equality(ktsu.Semantics.Luminance{`0},ktsu.Semantics.Luminance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.op_Inequality(ktsu.Semantics.Luminance{`0},ktsu.Semantics.Luminance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.op_Inequality(ktsu.Semantics.Luminance{`0},ktsu.Semantics.Luminance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Luminance`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.{Clone}$->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.CalculateIlluminance(ktsu.Semantics.Area{`0})->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.CalculateIlluminance(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.CalculateLuminousEfficacy(ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.Equals(ktsu.Semantics.LuminousFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.LuminousFlux{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.FromKilolumens(`0)->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.FromLumens(`0)->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.FromMillilumens(`0)->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Division(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Division(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Division(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Equality(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.LuminousFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Equality(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.LuminousFlux{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Inequality(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.LuminousFlux{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.op_Inequality(ktsu.Semantics.LuminousFlux{`0},ktsu.Semantics.LuminousFlux{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousFlux`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.{Clone}$->ktsu.Semantics.LuminousIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.CalculateIlluminanceAtDistance(ktsu.Semantics.Length{`0})->ktsu.Semantics.Illuminance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.CalculateIlluminanceAtDistance(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.CalculateLuminousFlux(`0)->ktsu.Semantics.LuminousFlux<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.Equals(ktsu.Semantics.LuminousIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.LuminousIntensity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.FromCandelas(`0)->ktsu.Semantics.LuminousIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.FromMillicandelas(`0)->ktsu.Semantics.LuminousIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.op_Equality(ktsu.Semantics.LuminousIntensity{`0},ktsu.Semantics.LuminousIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.op_Equality(ktsu.Semantics.LuminousIntensity{`0},ktsu.Semantics.LuminousIntensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.op_Inequality(ktsu.Semantics.LuminousIntensity{`0},ktsu.Semantics.LuminousIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.op_Inequality(ktsu.Semantics.LuminousIntensity{`0},ktsu.Semantics.LuminousIntensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.LuminousIntensity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.{Clone}$->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.Equals(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Mass{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.FromKilograms(`0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.FromKilograms(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Division(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Division(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Division(ktsu.Semantics.Mass{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Equality(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Equality(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Inequality(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Inequality(ktsu.Semantics.Mass{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Acceleration{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Momentum<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Momentum<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Mass`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.{Clone}$->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateDensity(ktsu.Semantics.VolumetricFlowRate{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateDensity(ktsu.Semantics.VolumetricFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateMassTransferred(ktsu.Semantics.Time{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateMassTransferred(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateMomentumFlowRate(ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateTransferTime(ktsu.Semantics.Mass{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateTransferTime(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateVolumetricFlowRate(ktsu.Semantics.Density{`0})->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.CalculateVolumetricFlowRate(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.Equals(ktsu.Semantics.MassFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.MassFlowRate{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromGramsPerSecond(`0)->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromKilogramsPerHour(`0)->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromKilogramsPerSecond(`0)->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromPoundsPerSecond(`0)->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromVolumetricFlowRateAndDensity(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromVolumetricFlowRateAndDensity(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.FromVolumetricFlowRateAndDensity(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.op_Equality(ktsu.Semantics.MassFlowRate{`0},ktsu.Semantics.MassFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.op_Equality(ktsu.Semantics.MassFlowRate{`0},ktsu.Semantics.MassFlowRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.op_Inequality(ktsu.Semantics.MassFlowRate{`0},ktsu.Semantics.MassFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.op_Inequality(ktsu.Semantics.MassFlowRate{`0},ktsu.Semantics.MassFlowRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MassFlowRate`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.{Clone}$->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CalculateMass(ktsu.Semantics.AmountOfSubstance{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CalculateMass(ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_CarbonDioxide->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_Ethanol->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_Glucose->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_Methane->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_SodiumChloride->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.CommonValues.get_Water->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.Equals(ktsu.Semantics.MolarMass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.MolarMass{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.FromMassAndAmount(ktsu.Semantics.Mass{`0},ktsu.Semantics.AmountOfSubstance{`0})->ktsu.Semantics.MolarMass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.FromMassAndAmount(ktsu.Semantics.Mass{`0},ktsu.Semantics.AmountOfSubstance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.FromMassAndAmount(ktsu.Semantics.Mass{`0},ktsu.Semantics.AmountOfSubstance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.op_Equality(ktsu.Semantics.MolarMass{`0},ktsu.Semantics.MolarMass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.op_Equality(ktsu.Semantics.MolarMass{`0},ktsu.Semantics.MolarMass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.op_Inequality(ktsu.Semantics.MolarMass{`0},ktsu.Semantics.MolarMass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MolarMass`1.op_Inequality(ktsu.Semantics.MolarMass{`0},ktsu.Semantics.MolarMass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.{Clone}$->ktsu.Semantics.MomentOfInertia<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Divide(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Equals(ktsu.Semantics.MomentOfInertia{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.MomentOfInertia{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.FromKilogramSquareMeters(`0)->ktsu.Semantics.MomentOfInertia<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.FromKilogramSquareMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.MomentOfInertia<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.op_Equality(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.MomentOfInertia{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.op_Equality(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.MomentOfInertia{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.op_Inequality(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.MomentOfInertia{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.MomentOfInertia`1.op_Inequality(ktsu.Semantics.MomentOfInertia{`0},ktsu.Semantics.MomentOfInertia{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.{Clone}$->ktsu.Semantics.Momentum<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Divide(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Equals(ktsu.Semantics.Momentum{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Momentum{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.FromKilogramMetersPerSecond(`0)->ktsu.Semantics.Momentum<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.FromKilogramMetersPerSecond(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Momentum<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.Multiply(ktsu.Semantics.Mass{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.op_Equality(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Momentum{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.op_Equality(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Momentum{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.op_Inequality(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Momentum{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Momentum`1.op_Inequality(ktsu.Semantics.Momentum{`0},ktsu.Semantics.Momentum{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.{Clone}$->ktsu.Semantics.NoiseReductionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.Equals(ktsu.Semantics.NoiseReductionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.NoiseReductionCoefficient{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromAbsorptionCoefficients(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})->ktsu.Semantics.NoiseReductionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromAbsorptionCoefficients(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromAbsorptionCoefficients(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromAbsorptionCoefficients(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromAbsorptionCoefficients(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromCoefficient(`0)->ktsu.Semantics.NoiseReductionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.FromCoefficient(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.op_Equality(ktsu.Semantics.NoiseReductionCoefficient{`0},ktsu.Semantics.NoiseReductionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.op_Equality(ktsu.Semantics.NoiseReductionCoefficient{`0},ktsu.Semantics.NoiseReductionCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.op_Inequality(ktsu.Semantics.NoiseReductionCoefficient{`0},ktsu.Semantics.NoiseReductionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.op_Inequality(ktsu.Semantics.NoiseReductionCoefficient{`0},ktsu.Semantics.NoiseReductionCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.RoundToStandard->ktsu.Semantics.NoiseReductionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NoiseReductionCoefficient`1.ToPercentage:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.{Clone}$->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.Equals(ktsu.Semantics.NuclearCrossSection{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.NuclearCrossSection{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromBarns(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromFemtobarns(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromMicrobarns(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromMillibarns(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromSquareCentimeters(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.FromSquareMeters(`0)->ktsu.Semantics.NuclearCrossSection<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.op_Equality(ktsu.Semantics.NuclearCrossSection{`0},ktsu.Semantics.NuclearCrossSection{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.op_Equality(ktsu.Semantics.NuclearCrossSection{`0},ktsu.Semantics.NuclearCrossSection{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.op_Inequality(ktsu.Semantics.NuclearCrossSection{`0},ktsu.Semantics.NuclearCrossSection{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.op_Inequality(ktsu.Semantics.NuclearCrossSection{`0},ktsu.Semantics.NuclearCrossSection{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.NuclearCrossSection`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.{Clone}$->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CalculateFocalLength->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CombineWith(ktsu.Semantics.OpticalPower{`0})->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CombineWith(ktsu.Semantics.OpticalPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CombineWithSeparation(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CombineWithSeparation(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.CombineWithSeparation(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.Equals(ktsu.Semantics.OpticalPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.OpticalPower{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.FromDiopters(`0)->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.FromFocalLength(ktsu.Semantics.Length{`0})->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.FromFocalLength(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.FromFocalLengthMillimeters(`0)->ktsu.Semantics.OpticalPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.op_Equality(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.OpticalPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.op_Equality(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.OpticalPower{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.op_Inequality(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.OpticalPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.op_Inequality(ktsu.Semantics.OpticalPower{`0},ktsu.Semantics.OpticalPower{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.OpticalPower`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.{Clone}$->ktsu.Semantics.Permittivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.Equals(ktsu.Semantics.Permittivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Permittivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.FromFaradsPerMeter(`0)->ktsu.Semantics.Permittivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.FromFaradsPerMeter(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.op_Equality(ktsu.Semantics.Permittivity{`0},ktsu.Semantics.Permittivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.op_Equality(ktsu.Semantics.Permittivity{`0},ktsu.Semantics.Permittivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.op_Inequality(ktsu.Semantics.Permittivity{`0},ktsu.Semantics.Permittivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Permittivity`1.op_Inequality(ktsu.Semantics.Permittivity{`0},ktsu.Semantics.Permittivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.{Clone}$->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_Ammonia->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_BakingSoda->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_BatteryAcid->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_Bleach->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_Coffee->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_DrainCleaner->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_LemonJuice->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.CommonValues.get_NeutralWater->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.Equals(ktsu.Semantics.PH{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.PH{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.FromHydrogenConcentration(ktsu.Semantics.Concentration{`0})->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.FromHydrogenConcentration(ktsu.Semantics.Concentration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.op_Equality(ktsu.Semantics.PH{`0},ktsu.Semantics.PH{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.op_Equality(ktsu.Semantics.PH{`0},ktsu.Semantics.PH{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.op_Inequality(ktsu.Semantics.PH{`0},ktsu.Semantics.PH{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.op_Inequality(ktsu.Semantics.PH{`0},ktsu.Semantics.PH{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.ToHydrogenConcentration->ktsu.Semantics.Concentration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PH`1.ToPOH->ktsu.Semantics.PH<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimension.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Acres``1(``0)->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Centimeters``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.CubicFeet``1(``0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.CubicMeters``1(``0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Days``1(``0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Feet``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Grams``1(``0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Hours``1(``0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Inches``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Kilograms``1(``0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Kilometers``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Liters``1(``0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Meters``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Miles``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Milliliters``1(``0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Millimeters``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Milliseconds``1(``0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Minutes``1(``0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Ounces``1(``0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Pounds``1(``0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Seconds``1(``0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.SquareFeet``1(``0)->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.SquareKilometers``1(``0)->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.SquareMeters``1(``0)->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Stones``1(``0)->ktsu.Semantics.Mass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.USGallons``1(``0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalDimensionExtensions.Yards``1(``0)->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.{Clone}$->ktsu.Semantics.PhysicalQuantity<TSelf, T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.#ctor(ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.CompareTo(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.CompareTo(ktsu.Semantics.IPhysicalQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.Create(`1)->TSelf:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.Equals(ktsu.Semantics.IPhysicalQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.Equals(ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.Equals(ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.get_EqualityContract:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.In(ktsu.Semantics.IUnit)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_Equality(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_Equality(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_GreaterThan(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_GreaterThan(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_GreaterThanOrEqual(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_GreaterThanOrEqual(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_Inequality(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_Inequality(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_LessThan(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_LessThan(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_LessThanOrEqual(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.op_LessThanOrEqual(ktsu.Semantics.PhysicalQuantity{`0,`1},ktsu.Semantics.PhysicalQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.PrintMembers(System.Text.StringBuilder):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.PhysicalQuantity`2.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.{Clone}$->ktsu.Semantics.Pitch<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Pitch{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.Equals(ktsu.Semantics.Pitch{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.FromBarks(`0)->ktsu.Semantics.Pitch<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.FromHertz(`0)->ktsu.Semantics.Pitch<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.FromMels(`0)->ktsu.Semantics.Pitch<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.GetNoteName:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.GetPitchCategory:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.IntervalInCents(ktsu.Semantics.Pitch{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.op_Equality(ktsu.Semantics.Pitch{`0},ktsu.Semantics.Pitch{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.op_Equality(ktsu.Semantics.Pitch{`0},ktsu.Semantics.Pitch{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.op_Inequality(ktsu.Semantics.Pitch{`0},ktsu.Semantics.Pitch{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.op_Inequality(ktsu.Semantics.Pitch{`0},ktsu.Semantics.Pitch{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pitch`1.TransposeBySemitones(System.Int32)->ktsu.Semantics.Pitch<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.{Clone}$->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Power{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.Equals(ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.FromWatts(`0)->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.FromWatts(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Equality(ktsu.Semantics.Power{`0},ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Equality(ktsu.Semantics.Power{`0},ktsu.Semantics.Power{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Inequality(ktsu.Semantics.Power{`0},ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Inequality(ktsu.Semantics.Power{`0},ktsu.Semantics.Power{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Power{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Power{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Power{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Power{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Power`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Power{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.{Clone}$->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Pressure{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.Equals(ktsu.Semantics.Pressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromHydrostaticPressure(ktsu.Semantics.Density{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromHydrostaticPressure(ktsu.Semantics.Density{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromHydrostaticPressure(ktsu.Semantics.Density{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromHydrostaticPressure(ktsu.Semantics.Density{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.Acceleration{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromPascals(`0)->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.FromPascals(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.GetForce(ktsu.Semantics.Area{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.GetForce(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Equality(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Pressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Equality(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Pressure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Inequality(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Pressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Inequality(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Pressure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Multiply(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Multiply(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.op_Multiply(ktsu.Semantics.Pressure{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Pressure`1.StandardAtmospheric->ktsu.Semantics.Pressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.{Clone}$->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateActivityAfterTime(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateActivityAfterTime(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateActivityAfterTime(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateHalfLife(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateHalfLife(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.CalculateHalfLife(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.RadioactiveActivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.Equals(ktsu.Semantics.RadioactiveActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.FromBecquerels(`0)->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.FromCuries(`0)->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.FromKilobecquerels(`0)->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.FromMegabecquerels(`0)->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.FromMillicuries(`0)->ktsu.Semantics.RadioactiveActivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.op_Equality(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.RadioactiveActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.op_Equality(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.RadioactiveActivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.op_Inequality(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.RadioactiveActivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.op_Inequality(ktsu.Semantics.RadioactiveActivity{`0},ktsu.Semantics.RadioactiveActivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RadioactiveActivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.{Clone}$->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.AtTemperature(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.ActivationEnergy{`0})->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.AtTemperature(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.ActivationEnergy{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.AtTemperature(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.ActivationEnergy{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.AtTemperature(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.ActivationEnergy{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.CommonValues.get_DNAReplication->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.CommonValues.get_FastProteinFolding->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.CommonValues.get_SlowMetabolic->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.CommonValues.get_TypicalEnzyme->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.RateConstant{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.Equals(ktsu.Semantics.RateConstant{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.FromArrheniusEquation(`0,ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.FromArrheniusEquation(`0,ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.FromArrheniusEquation(`0,ktsu.Semantics.ActivationEnergy{`0},ktsu.Semantics.Temperature{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.op_Equality(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.op_Equality(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.op_Inequality(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.op_Inequality(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.RateConstant{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RateConstant`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.{Clone}$->ktsu.Semantics.ReactionRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.CalculateHalfLife(ktsu.Semantics.RateConstant{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.CalculateHalfLife(ktsu.Semantics.RateConstant{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.CalculateRateConstant(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0},`0,`0)->ktsu.Semantics.RateConstant<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.CalculateRateConstant(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0},`0,`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.CalculateRateConstant(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Concentration{`0},`0,`0)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ReactionRate{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.Equals(ktsu.Semantics.ReactionRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromConcentrationChange(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.ReactionRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromConcentrationChange(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromConcentrationChange(ktsu.Semantics.Concentration{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromRateLaw(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Concentration{`0},`0,ktsu.Semantics.Concentration{`0},`0)->ktsu.Semantics.ReactionRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromRateLaw(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Concentration{`0},`0,ktsu.Semantics.Concentration{`0},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromRateLaw(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Concentration{`0},`0,ktsu.Semantics.Concentration{`0},`0)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.FromRateLaw(ktsu.Semantics.RateConstant{`0},ktsu.Semantics.Concentration{`0},`0,ktsu.Semantics.Concentration{`0},`0)$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.op_Equality(ktsu.Semantics.ReactionRate{`0},ktsu.Semantics.ReactionRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.op_Equality(ktsu.Semantics.ReactionRate{`0},ktsu.Semantics.ReactionRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.op_Inequality(ktsu.Semantics.ReactionRate{`0},ktsu.Semantics.ReactionRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.op_Inequality(ktsu.Semantics.ReactionRate{`0},ktsu.Semantics.ReactionRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReactionRate`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.{Clone}$->ktsu.Semantics.ReflectionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.AtObliqueIncidence(`0,`0)->ktsu.Semantics.ReflectionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ReflectionCoefficient{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.Equals(ktsu.Semantics.ReflectionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromAbsorptionCoefficient(ktsu.Semantics.SoundAbsorption{`0})->ktsu.Semantics.ReflectionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromAbsorptionCoefficient(ktsu.Semantics.SoundAbsorption{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromCoefficient(`0)->ktsu.Semantics.ReflectionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromImpedances(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})->ktsu.Semantics.ReflectionCoefficient<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromImpedances(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.FromImpedances(ktsu.Semantics.AcousticImpedance{`0},ktsu.Semantics.AcousticImpedance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.op_Equality(ktsu.Semantics.ReflectionCoefficient{`0},ktsu.Semantics.ReflectionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.op_Equality(ktsu.Semantics.ReflectionCoefficient{`0},ktsu.Semantics.ReflectionCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.op_Inequality(ktsu.Semantics.ReflectionCoefficient{`0},ktsu.Semantics.ReflectionCoefficient{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.op_Inequality(ktsu.Semantics.ReflectionCoefficient{`0},ktsu.Semantics.ReflectionCoefficient{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.ToAbsorptionCoefficient->ktsu.Semantics.SoundAbsorption<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReflectionCoefficient`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.{Clone}$->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Air->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.CalculateCriticalAngle(ktsu.Semantics.RefractiveIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.CalculateReflectionCoefficient(ktsu.Semantics.RefractiveIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.CalculateSpeedOfLight->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.CrownGlass->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Diamond->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.RefractiveIndex{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Equals(ktsu.Semantics.RefractiveIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.FromValue(`0)->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.op_Equality(ktsu.Semantics.RefractiveIndex{`0},ktsu.Semantics.RefractiveIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.op_Equality(ktsu.Semantics.RefractiveIndex{`0},ktsu.Semantics.RefractiveIndex{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.op_Inequality(ktsu.Semantics.RefractiveIndex{`0},ktsu.Semantics.RefractiveIndex{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.op_Inequality(ktsu.Semantics.RefractiveIndex{`0},ktsu.Semantics.RefractiveIndex{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Vacuum->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.RefractiveIndex`1.Water->ktsu.Semantics.RefractiveIndex<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.{Clone}$->ktsu.Semantics.ReverberationTime<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.CalculateSabine(ktsu.Semantics.Volume{`0},`0)->ktsu.Semantics.ReverberationTime<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.CalculateSabine(ktsu.Semantics.Volume{`0},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ReverberationTime{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.Equals(ktsu.Semantics.ReverberationTime{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.FromSeconds(`0)->ktsu.Semantics.ReverberationTime<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.FromT30(`0)->ktsu.Semantics.ReverberationTime<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.FromT60(`0)->ktsu.Semantics.ReverberationTime<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.op_Equality(ktsu.Semantics.ReverberationTime{`0},ktsu.Semantics.ReverberationTime{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.op_Equality(ktsu.Semantics.ReverberationTime{`0},ktsu.Semantics.ReverberationTime{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.op_Inequality(ktsu.Semantics.ReverberationTime{`0},ktsu.Semantics.ReverberationTime{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.op_Inequality(ktsu.Semantics.ReverberationTime{`0},ktsu.Semantics.ReverberationTime{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReverberationTime`1.ToTime->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.{Clone}$->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.CalculateCriticalVelocity(ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0},System.Nullable{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.CalculateCriticalVelocity(ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0},System.Nullable{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.CalculateCriticalVelocity(ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0},System.Nullable{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ReynoldsNumber{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.Equals(ktsu.Semantics.ReynoldsNumber{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.ForStandardAir(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.ForStandardAir(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.ForStandardAir(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromFluidProperties(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0})->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromFluidProperties(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromFluidProperties(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromFluidProperties(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromFluidProperties(ktsu.Semantics.Density{`0},ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0})$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromKinematicProperties(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromKinematicProperties(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromKinematicProperties(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromKinematicProperties(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromValue(`0)->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthAndKinematicViscosity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthAndKinematicViscosity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthAndKinematicViscosity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthAndKinematicViscosity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.KinematicViscosity{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthDynamicViscosityAndDensity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.ReynoldsNumber<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthDynamicViscosityAndDensity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthDynamicViscosityAndDensity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthDynamicViscosityAndDensity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.FromVelocityLengthDynamicViscosityAndDensity(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Length{`0},ktsu.Semantics.DynamicViscosity{`0},ktsu.Semantics.Density{`0})$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.GetFlowRegime(System.Nullable{`0},System.Nullable{`0})->string:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.GetPipeFlowRegime:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.op_Equality(ktsu.Semantics.ReynoldsNumber{`0},ktsu.Semantics.ReynoldsNumber{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.op_Equality(ktsu.Semantics.ReynoldsNumber{`0},ktsu.Semantics.ReynoldsNumber{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.op_Inequality(ktsu.Semantics.ReynoldsNumber{`0},ktsu.Semantics.ReynoldsNumber{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.op_Inequality(ktsu.Semantics.ReynoldsNumber{`0},ktsu.Semantics.ReynoldsNumber{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ReynoldsNumber`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.{Clone}$->ktsu.Semantics.SemanticQuantity<TStorage>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.#ctor(ktsu.Semantics.SemanticQuantity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.Create``1(`0)->TQuantity:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.Equals(ktsu.Semantics.SemanticQuantity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.get_EqualityContract:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.op_Equality(ktsu.Semantics.SemanticQuantity{`0},ktsu.Semantics.SemanticQuantity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.op_Equality(ktsu.Semantics.SemanticQuantity{`0},ktsu.Semantics.SemanticQuantity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.op_Inequality(ktsu.Semantics.SemanticQuantity{`0},ktsu.Semantics.SemanticQuantity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.op_Inequality(ktsu.Semantics.SemanticQuantity{`0},ktsu.Semantics.SemanticQuantity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.PrintMembers(System.Text.StringBuilder):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.{Clone}$->ktsu.Semantics.SemanticQuantity<TSelf, TStorage>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.#ctor(ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Add``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Add``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Add``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Create(`1)->TSelf:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Divide``1(ktsu.Semantics.SemanticQuantity{`1},`1)->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Divide``1(ktsu.Semantics.SemanticQuantity{`1},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Divide``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Divide``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Divide``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.DivideToStorage(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.DivideToStorage(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Equals(ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Equals(ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.get_EqualityContract:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Multiply``1(ktsu.Semantics.SemanticQuantity{`1},`1)->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Multiply``1(ktsu.Semantics.SemanticQuantity{`1},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Multiply``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Multiply``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Multiply``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Negate``1(ktsu.Semantics.SemanticQuantity{`1})->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Negate``1(ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Addition(ktsu.Semantics.SemanticQuantity{`0,`1},`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Addition(ktsu.Semantics.SemanticQuantity{`0,`1},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Division(ktsu.Semantics.SemanticQuantity{`0,`1},`1)->TSelf:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Division(ktsu.Semantics.SemanticQuantity{`0,`1},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Division(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Division(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Equality(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Equality(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Inequality(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Inequality(ktsu.Semantics.SemanticQuantity{`0,`1},ktsu.Semantics.SemanticQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Multiply(`1,ktsu.Semantics.SemanticQuantity{`0,`1})->TSelf:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Multiply(`1,ktsu.Semantics.SemanticQuantity{`0,`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Multiply(ktsu.Semantics.SemanticQuantity{`0,`1},`1)->TSelf:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Multiply(ktsu.Semantics.SemanticQuantity{`0,`1},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Subtraction(ktsu.Semantics.SemanticQuantity{`0,`1},`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_Subtraction(ktsu.Semantics.SemanticQuantity{`0,`1},`0)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_UnaryNegation(ktsu.Semantics.SemanticQuantity{`0,`1}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.op_UnaryNegation(ktsu.Semantics.SemanticQuantity{`0,`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.PrintMembers(System.Text.StringBuilder):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Subtract``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})->TResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Subtract``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.Subtract``1(ktsu.Semantics.SemanticQuantity{`1},ktsu.Semantics.SemanticQuantity{`1})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SemanticQuantity`2.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.{Clone}$->ktsu.Semantics.Sensitivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Sensitivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.Equals(ktsu.Semantics.Sensitivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.EstimatePowerConsumption(ktsu.Semantics.SoundPressureLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.FromDbSplPerVolt(`0)->ktsu.Semantics.Sensitivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.FromDbSplPerWatt(`0)->ktsu.Semantics.Sensitivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.FromMvPerPa(`0)->ktsu.Semantics.Sensitivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.GetEfficiencyCategory:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.GetTypicalApplication:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.MaximumSplAt1m(ktsu.Semantics.Power{`0})->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.MaximumSplAt1m(ktsu.Semantics.Power{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.op_Equality(ktsu.Semantics.Sensitivity{`0},ktsu.Semantics.Sensitivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.op_Equality(ktsu.Semantics.Sensitivity{`0},ktsu.Semantics.Sensitivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.op_Inequality(ktsu.Semantics.Sensitivity{`0},ktsu.Semantics.Sensitivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.op_Inequality(ktsu.Semantics.Sensitivity{`0},ktsu.Semantics.Sensitivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sensitivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.{Clone}$->ktsu.Semantics.Sharpness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.CombineWith(ktsu.Semantics.Sharpness{`0})->ktsu.Semantics.Sharpness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.CombineWith(ktsu.Semantics.Sharpness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Sharpness{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.Equals(ktsu.Semantics.Sharpness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.FromAcums(`0)->ktsu.Semantics.Sharpness<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.FromAcums(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.op_Equality(ktsu.Semantics.Sharpness{`0},ktsu.Semantics.Sharpness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.op_Equality(ktsu.Semantics.Sharpness{`0},ktsu.Semantics.Sharpness{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.op_Inequality(ktsu.Semantics.Sharpness{`0},ktsu.Semantics.Sharpness{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.op_Inequality(ktsu.Semantics.Sharpness{`0},ktsu.Semantics.Sharpness{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Sharpness`1.ToSharpnessRatio:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.{Clone}$->ktsu.Semantics.SoundAbsorption<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundAbsorption{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.Equals(ktsu.Semantics.SoundAbsorption{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.FromCoefficient(`0)->ktsu.Semantics.SoundAbsorption<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.FromPercentage(`0)->ktsu.Semantics.SoundAbsorption<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.op_Equality(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.op_Equality(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.op_Inequality(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.op_Inequality(ktsu.Semantics.SoundAbsorption{`0},ktsu.Semantics.SoundAbsorption{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundAbsorption`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.{Clone}$->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Divide(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Divide(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Divide(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundIntensity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Equals(ktsu.Semantics.SoundIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.FromMicrowattsPerSquareCentimeter(`0)->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.FromWattsPerSquareMeter(`0)->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Equality(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.SoundIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Equality(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.SoundIntensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Inequality(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.SoundIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Inequality(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.SoundIntensity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.op_Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.{Clone}$->ktsu.Semantics.SoundIntensityLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.CombineWith(ktsu.Semantics.SoundIntensityLevel{`0})->ktsu.Semantics.SoundIntensityLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.CombineWith(ktsu.Semantics.SoundIntensityLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundIntensityLevel{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.Equals(ktsu.Semantics.SoundIntensityLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.FromDecibels(`0)->ktsu.Semantics.SoundIntensityLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.FromDecibels(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.FromSoundIntensity(ktsu.Semantics.SoundIntensity{`0})->ktsu.Semantics.SoundIntensityLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.FromSoundIntensity(ktsu.Semantics.SoundIntensity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.op_Equality(ktsu.Semantics.SoundIntensityLevel{`0},ktsu.Semantics.SoundIntensityLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.op_Equality(ktsu.Semantics.SoundIntensityLevel{`0},ktsu.Semantics.SoundIntensityLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.op_Inequality(ktsu.Semantics.SoundIntensityLevel{`0},ktsu.Semantics.SoundIntensityLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.op_Inequality(ktsu.Semantics.SoundIntensityLevel{`0},ktsu.Semantics.SoundIntensityLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundIntensityLevel`1.ToSoundIntensity->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.{Clone}$->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundPower{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Equals(ktsu.Semantics.SoundPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromAcousticWatts(`0)->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromMilliwatts(`0)->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromSoundIntensityAndArea(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromSoundIntensityAndArea(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromSoundIntensityAndArea(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.FromWatts(`0)->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.Multiply(ktsu.Semantics.SoundIntensity{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Division(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.SoundIntensity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Division(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Division(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Equality(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.SoundPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Equality(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.SoundPower{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Inequality(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.SoundPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.op_Inequality(ktsu.Semantics.SoundPower{`0},ktsu.Semantics.SoundPower{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPower`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.{Clone}$->ktsu.Semantics.SoundPowerLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.CalculateDirectivity(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.CalculateDirectivity(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.CombineWith(ktsu.Semantics.SoundPowerLevel{`0})->ktsu.Semantics.SoundPowerLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.CombineWith(ktsu.Semantics.SoundPowerLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundPowerLevel{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.Equals(ktsu.Semantics.SoundPowerLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.FromDecibels(`0)->ktsu.Semantics.SoundPowerLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.FromSoundPower(ktsu.Semantics.SoundPower{`0})->ktsu.Semantics.SoundPowerLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.FromSoundPower(ktsu.Semantics.SoundPower{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.op_Equality(ktsu.Semantics.SoundPowerLevel{`0},ktsu.Semantics.SoundPowerLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.op_Equality(ktsu.Semantics.SoundPowerLevel{`0},ktsu.Semantics.SoundPowerLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.op_Inequality(ktsu.Semantics.SoundPowerLevel{`0},ktsu.Semantics.SoundPowerLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.op_Inequality(ktsu.Semantics.SoundPowerLevel{`0},ktsu.Semantics.SoundPowerLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.ToSoundPower->ktsu.Semantics.SoundPower<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPowerLevel`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.{Clone}$->ktsu.Semantics.SoundPressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundPressure{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.Equals(ktsu.Semantics.SoundPressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.FromBars(`0)->ktsu.Semantics.SoundPressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.FromMicropascals(`0)->ktsu.Semantics.SoundPressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.FromPascals(`0)->ktsu.Semantics.SoundPressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.op_Equality(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.SoundPressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.op_Equality(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.SoundPressure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.op_Inequality(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.SoundPressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.op_Inequality(ktsu.Semantics.SoundPressure{`0},ktsu.Semantics.SoundPressure{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressure`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.{Clone}$->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.AWeighted->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundPressureLevel{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.Equals(ktsu.Semantics.SoundPressureLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.EquivalentLevel(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.EquivalentLevel(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.EquivalentLevel(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.FromDecibels(`0)->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.FromDecibels(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.FromSoundPressure(ktsu.Semantics.SoundPressure{`0})->ktsu.Semantics.SoundPressureLevel<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.FromSoundPressure(ktsu.Semantics.SoundPressure{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.op_Equality(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.SoundPressureLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.op_Equality(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.SoundPressureLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.op_Inequality(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.SoundPressureLevel{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.op_Inequality(ktsu.Semantics.SoundPressureLevel{`0},ktsu.Semantics.SoundPressureLevel{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundPressureLevel`1.ToSoundPressure->ktsu.Semantics.SoundPressure<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.{Clone}$->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundSpeed{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Equals(ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.FromFeetPerSecond(`0)->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.FromMetersPerSecond(`0)->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.op_Equality(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.op_Equality(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.SoundSpeed{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.op_Inequality(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.SoundSpeed{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.op_Inequality(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.SoundSpeed{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundSpeed`1.ToVelocity->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.{Clone}$->ktsu.Semantics.SoundTransmissionClass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SoundTransmissionClass{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.Equals(ktsu.Semantics.SoundTransmissionClass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.EstimateTransmissionLoss(ktsu.Semantics.Frequency{`0}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.EstimateTransmissionLoss(ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.FromRating(`0)->ktsu.Semantics.SoundTransmissionClass<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.FromRating(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.op_Equality(ktsu.Semantics.SoundTransmissionClass{`0},ktsu.Semantics.SoundTransmissionClass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.op_Equality(ktsu.Semantics.SoundTransmissionClass{`0},ktsu.Semantics.SoundTransmissionClass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.op_Inequality(ktsu.Semantics.SoundTransmissionClass{`0},ktsu.Semantics.SoundTransmissionClass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.op_Inequality(ktsu.Semantics.SoundTransmissionClass{`0},ktsu.Semantics.SoundTransmissionClass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SoundTransmissionClass`1.ToNoiseReduction:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.{Clone}$->ktsu.Semantics.SpecificGravity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Divide(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.SpecificGravity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Divide(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Divide(ktsu.Semantics.Density{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SpecificGravity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Equals(ktsu.Semantics.SpecificGravity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.FromRatio(`0)->ktsu.Semantics.SpecificGravity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.FromRatio(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Multiply(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.Density{`0})->ktsu.Semantics.Density<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Multiply(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.Multiply(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.Density{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.op_Equality(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.SpecificGravity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.op_Equality(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.SpecificGravity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.op_Inequality(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.SpecificGravity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificGravity`1.op_Inequality(ktsu.Semantics.SpecificGravity{`0},ktsu.Semantics.SpecificGravity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.{Clone}$->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateHeatCapacity(ktsu.Semantics.Mass{`0})->ktsu.Semantics.HeatCapacity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateHeatCapacity(ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateHeatRequired(ktsu.Semantics.Mass{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Heat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateHeatRequired(ktsu.Semantics.Mass{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateHeatRequired(ktsu.Semantics.Mass{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateTemperatureChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Mass{`0})->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateTemperatureChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Mass{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CalculateTemperatureChange(ktsu.Semantics.Heat{`0},ktsu.Semantics.Mass{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Air->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Aluminum->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Copper->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Ice->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Iron->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.CommonValues.get_Water->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SpecificHeat{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.Equals(ktsu.Semantics.SpecificHeat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.FromBtuPerPoundFahrenheit(`0)->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.FromCaloriesPerGramKelvin(`0)->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.FromJoulesPerKilogramKelvin(`0)->ktsu.Semantics.SpecificHeat<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.op_Equality(ktsu.Semantics.SpecificHeat{`0},ktsu.Semantics.SpecificHeat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.op_Equality(ktsu.Semantics.SpecificHeat{`0},ktsu.Semantics.SpecificHeat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.op_Inequality(ktsu.Semantics.SpecificHeat{`0},ktsu.Semantics.SpecificHeat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.op_Inequality(ktsu.Semantics.SpecificHeat{`0},ktsu.Semantics.SpecificHeat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SpecificHeat`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.{Clone}$->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateCapillaryRise(`0,ktsu.Semantics.Length{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateCapillaryRise(`0,ktsu.Semantics.Length{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateCapillaryRise(`0,ktsu.Semantics.Length{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.Acceleration{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateCapillaryRise(`0,ktsu.Semantics.Length{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.Acceleration{`0})$3:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateSurfaceEnergy(ktsu.Semantics.Area{`0})->ktsu.Semantics.Energy<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CalculateSurfaceEnergy(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_Benzene->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_Ethanol->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_Mercury->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_OliveOil->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_SoapSolution->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.CommonValues.get_Water->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.SurfaceTension{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.Equals(ktsu.Semantics.SurfaceTension{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.FromForceAndLength(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.SurfaceTension<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.FromForceAndLength(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.FromForceAndLength(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.op_Equality(ktsu.Semantics.SurfaceTension{`0},ktsu.Semantics.SurfaceTension{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.op_Equality(ktsu.Semantics.SurfaceTension{`0},ktsu.Semantics.SurfaceTension{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.op_Inequality(ktsu.Semantics.SurfaceTension{`0},ktsu.Semantics.SurfaceTension{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.op_Inequality(ktsu.Semantics.SurfaceTension{`0},ktsu.Semantics.SurfaceTension{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.SurfaceTension`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.{Clone}$->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.Create(`0)->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Temperature{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.Equals(ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.FromCelsius(`0)->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.FromFahrenheit(`0)->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.FromKelvin(`0)->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.FromRankine(`0)->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.get_AbsoluteZero->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.get_WaterBoilingPoint->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.get_WaterFreezingPoint->ktsu.Semantics.Temperature<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.op_Equality(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.op_Equality(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.op_Inequality(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.op_Inequality(ktsu.Semantics.Temperature{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Temperature`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.{Clone}$->ktsu.Semantics.ThermalConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateHeatFlow(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateHeatFlow(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateHeatFlow(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateHeatFlow(ktsu.Semantics.Area{`0},ktsu.Semantics.Temperature{`0},ktsu.Semantics.Length{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateThermalResistance(ktsu.Semantics.Length{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateThermalResistance(ktsu.Semantics.Length{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.CalculateThermalResistance(ktsu.Semantics.Length{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ThermalConductivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.Equals(ktsu.Semantics.ThermalConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.FromBtuPerHourFootFahrenheit(`0)->ktsu.Semantics.ThermalConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.FromWattsPerMeterKelvin(`0)->ktsu.Semantics.ThermalConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.op_Equality(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.ThermalConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.op_Equality(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.ThermalConductivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.op_Inequality(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.ThermalConductivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.op_Inequality(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.ThermalConductivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalConductivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.{Clone}$->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculateDiffusionTime(ktsu.Semantics.Length{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculateDiffusionTime(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculatePenetrationDepth(ktsu.Semantics.Time{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculatePenetrationDepth(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculateThermalConductivity(ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})->ktsu.Semantics.ThermalConductivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculateThermalConductivity(ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CalculateThermalConductivity(ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Air->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Aluminum->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Concrete->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Copper->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Glass->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Steel->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.get_Water->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ThermalDiffusivity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.Equals(ktsu.Semantics.ThermalDiffusivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromMaterialProperties(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromMaterialProperties(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromMaterialProperties(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromMaterialProperties(ktsu.Semantics.ThermalConductivity{`0},ktsu.Semantics.Density{`0},ktsu.Semantics.SpecificHeat{`0})$2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromSquareCentimetersPerSecond(`0)->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromSquareFeetPerHour(`0)->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.FromSquareMetersPerSecond(`0)->ktsu.Semantics.ThermalDiffusivity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.op_Equality(ktsu.Semantics.ThermalDiffusivity{`0},ktsu.Semantics.ThermalDiffusivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.op_Equality(ktsu.Semantics.ThermalDiffusivity{`0},ktsu.Semantics.ThermalDiffusivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.op_Inequality(ktsu.Semantics.ThermalDiffusivity{`0},ktsu.Semantics.ThermalDiffusivity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.op_Inequality(ktsu.Semantics.ThermalDiffusivity{`0},ktsu.Semantics.ThermalDiffusivity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalDiffusivity`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.{Clone}$->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateAreaExpansionCoefficient->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateFinalLength(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateFinalLength(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateFinalLength(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateLinearExpansion(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateLinearExpansion(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateLinearExpansion(ktsu.Semantics.Length{`0},ktsu.Semantics.Temperature{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CalculateVolumeExpansionCoefficient->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_Aluminum->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_Concrete->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_Copper->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_Glass->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_PVC->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.CommonValues.get_Steel->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ThermalExpansion{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.Equals(ktsu.Semantics.ThermalExpansion{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.FromPerCelsius(`0)->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.FromPerFahrenheit(`0)->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.FromPerKelvin(`0)->ktsu.Semantics.ThermalExpansion<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.op_Equality(ktsu.Semantics.ThermalExpansion{`0},ktsu.Semantics.ThermalExpansion{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.op_Equality(ktsu.Semantics.ThermalExpansion{`0},ktsu.Semantics.ThermalExpansion{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.op_Inequality(ktsu.Semantics.ThermalExpansion{`0},ktsu.Semantics.ThermalExpansion{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.op_Inequality(ktsu.Semantics.ThermalExpansion{`0},ktsu.Semantics.ThermalExpansion{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalExpansion`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.{Clone}$->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.Add(ktsu.Semantics.ThermalResistance{`0})->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.Add(ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.CalculateHeatFlow(ktsu.Semantics.Temperature{`0})->ktsu.Semantics.Power<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.CalculateHeatFlow(ktsu.Semantics.Temperature{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.ThermalResistance{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.Equals(ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.FromFahrenheitHourPerBtu(`0)->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.FromKelvinPerWatt(`0)->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.InParallelWith(ktsu.Semantics.ThermalResistance{`0})->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.InParallelWith(ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Addition(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})->ktsu.Semantics.ThermalResistance<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Addition(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Addition(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Equality(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Equality(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Inequality(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.op_Inequality(ktsu.Semantics.ThermalResistance{`0},ktsu.Semantics.ThermalResistance{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.ThermalResistance`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.{Clone}$->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Time{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.Equals(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.FromSeconds(`0)->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.FromSeconds(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.op_Equality(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.op_Equality(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.op_Inequality(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Time`1.op_Inequality(ktsu.Semantics.Time{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.{Clone}$->ktsu.Semantics.Torque<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Divide(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Torque{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Equals(ktsu.Semantics.Torque{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.FromNewtonMeters(`0)->ktsu.Semantics.Torque<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.FromNewtonMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.GetTangentialForce(ktsu.Semantics.Length{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.GetTangentialForce(ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Torque<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.Multiply(ktsu.Semantics.Force{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Force{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})->ktsu.Semantics.Force<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Division(ktsu.Semantics.Torque{`0},ktsu.Semantics.Length{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Equality(ktsu.Semantics.Torque{`0},ktsu.Semantics.Torque{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Equality(ktsu.Semantics.Torque{`0},ktsu.Semantics.Torque{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Inequality(ktsu.Semantics.Torque{`0},ktsu.Semantics.Torque{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Torque`1.op_Inequality(ktsu.Semantics.Torque{`0},ktsu.Semantics.Torque{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Unit.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.UnitConversionException.#ctor(ktsu.Semantics.IUnit,ktsu.Semantics.IUnit,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.UnitConversionException.#ctor(System.String,System.Exception):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.UnitConversionException.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.{Clone}$->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Velocity{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Equals(ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.FromMetersPerSecond(`0)->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.FromMetersPerSecond(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Length{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Acceleration{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Acceleration<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Division(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Equality(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Equality(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Inequality(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Inequality(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Time{`0},ktsu.Semantics.Velocity{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})->ktsu.Semantics.Length<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Velocity`1.op_Multiply(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Time{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.{Clone}$->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Volume{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.Equals(ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.FromCubicMeters(`0)->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.FromCubicMeters(`0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.op_Equality(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.op_Equality(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.op_Inequality(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Volume`1.op_Inequality(ktsu.Semantics.Volume{`0},ktsu.Semantics.Volume{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.{Clone}$->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateArea(ktsu.Semantics.Velocity{`0})->ktsu.Semantics.Area<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateArea(ktsu.Semantics.Velocity{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateFillTime(ktsu.Semantics.Volume{`0})->ktsu.Semantics.Time<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateFillTime(ktsu.Semantics.Volume{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateMassFlowRate(ktsu.Semantics.Density{`0})->ktsu.Semantics.MassFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateMassFlowRate(ktsu.Semantics.Density{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateVelocity(ktsu.Semantics.Area{`0})->ktsu.Semantics.Velocity<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateVelocity(ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateVolumeDelivered(ktsu.Semantics.Time{`0})->ktsu.Semantics.Volume<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.CalculateVolumeDelivered(ktsu.Semantics.Time{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.VolumetricFlowRate{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.Equals(ktsu.Semantics.VolumetricFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromCubicMetersPerSecond(`0)->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromGallonsPerMinute(`0)->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromLitersPerMinute(`0)->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromLitersPerSecond(`0)->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromVelocityAndArea(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Area{`0})->ktsu.Semantics.VolumetricFlowRate<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromVelocityAndArea(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Area{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.FromVelocityAndArea(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Area{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.op_Equality(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.VolumetricFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.op_Equality(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.VolumetricFlowRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.op_Inequality(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.VolumetricFlowRate{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.op_Inequality(ktsu.Semantics.VolumetricFlowRate{`0},ktsu.Semantics.VolumetricFlowRate{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.VolumetricFlowRate`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.{Clone}$->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Frequency{`0})->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Divide(ktsu.Semantics.Velocity{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Equals(ktsu.Semantics.PhysicalQuantity{ktsu.Semantics.Wavelength{`0},`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Equals(ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.FromMeters(`0)->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.FromMicrometers(`0)->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.FromMillimeters(`0)->ktsu.Semantics.Wavelength<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Wavelength{`0})->ktsu.Semantics.Frequency<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Division(ktsu.Semantics.SoundSpeed{`0},ktsu.Semantics.Wavelength{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Equality(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Equality(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Wavelength{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Inequality(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Wavelength{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Inequality(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Wavelength{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})->ktsu.Semantics.SoundSpeed<T>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.op_Multiply(ktsu.Semantics.Wavelength{`0},ktsu.Semantics.Frequency{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:ktsu.Semantics.Wavelength`1.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)->System.Collections.Generic.KeyValuePair<TKey, TValue>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String,System.Object[])$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.get_Arguments->object?[]:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Category:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_CheckId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Index.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Index.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Range.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Range.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Reflection.NullabilityInfo.get_ElementType:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.TargetPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.DNADenaturation:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.EnzymeCatalyzed:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.EsterHydrolysis:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.NucleophilicSubstitution:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.ProteinDenaturation:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ActivationEnergy`1.CommonValues.WaterSelfIonization:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Air:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Blood:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Glycerol:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Honey:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Mercury:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.MotorOil:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.DynamicViscosity`1.CommonValues.Water:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.EnzymeActivity`1.CommonValues.CarbonicAnhydrase:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.EnzymeActivity`1.CommonValues.Catalase:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.EnzymeActivity`1.CommonValues.HighActivity:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.EnzymeActivity`1.CommonValues.TypicalEnzyme:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.BoilingWater:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.CondensingSteam:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.ForcedConvectionAir:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.ForcedConvectionWater:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.NaturalConvectionAir:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.HeatTransferCoefficient`1.TypicalValues.NaturalConvectionWater:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.CarbonDioxide:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.Ethanol:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.Glucose:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.Methane:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.SodiumChloride:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.MolarMass`1.CommonValues.Water:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.Ammonia:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.BakingSoda:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.BatteryAcid:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.Bleach:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.Coffee:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.DrainCleaner:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.LemonJuice:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PH`1.CommonValues.NeutralWater:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.PhysicalQuantity`2.EqualityContract:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.RateConstant`1.CommonValues.DNAReplication:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.RateConstant`1.CommonValues.FastProteinFolding:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.RateConstant`1.CommonValues.SlowMetabolic:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.RateConstant`1.CommonValues.TypicalEnzyme:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SemanticQuantity`1.EqualityContract:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SemanticQuantity`2.EqualityContract:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Air:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Aluminum:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Copper:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Ice:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Iron:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SpecificHeat`1.CommonValues.Water:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.Benzene:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.Ethanol:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.Mercury:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.OliveOil:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.SoapSolution:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.SurfaceTension`1.CommonValues.Water:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.Temperature`1.AbsoluteZero:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.Temperature`1.WaterBoilingPoint:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.Temperature`1.WaterFreezingPoint:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Air:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Aluminum:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Concrete:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Copper:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Glass:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Steel:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalDiffusivity`1.CommonValues.Water:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.Aluminum:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.Concrete:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.Copper:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.Glass:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.PVC:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:ktsu.Semantics.ThermalExpansion`1.CommonValues.Steel:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Reflection.NullabilityInfo.ElementType:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.Message:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AbsorbedDose`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Acceleration`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Acceleration`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Acceleration`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AcousticImpedance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ActivationEnergy`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AmountOfSubstance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularAcceleration`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularAcceleration`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularAcceleration`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularVelocity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularVelocity`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.AngularVelocity`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Area`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Area`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Area`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.BulkModulus`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Concentration`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Concentration`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Concentration`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Density`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Density`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Density`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.DirectionalityIndex`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.DynamicViscosity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCapacitance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCapacitance`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCapacitance`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCharge`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCharge`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCharge`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricConductivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCurrent`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCurrent`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricCurrent`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricField`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricField`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricField`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricFlux`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricFlux`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricFlux`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPotential`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPotential`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPotential`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPowerDensity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPowerDensity`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricPowerDensity`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricResistance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricResistance`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ElectricResistance`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Energy`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Energy`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Energy`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Entropy`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.EnzymeActivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.EquivalentDose`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Exposure`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Force`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Force`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Force`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Frequency`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Heat`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.HeatCapacity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.HeatTransferCoefficient`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Illuminance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ImpedanceAC`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ImpedanceAC`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ImpedanceAC`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.IUnit:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.KinematicViscosity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Length`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Length`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Length`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Loudness`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Luminance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.LuminousFlux`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.LuminousIntensity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Mass`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Mass`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Mass`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MassFlowRate`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MolarMass`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MolarMass`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MolarMass`1.CommonValues:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MolarMass`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MomentOfInertia`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MomentOfInertia`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.MomentOfInertia`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Momentum`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Momentum`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Momentum`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.NoiseReductionCoefficient`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.NoiseReductionCoefficient`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.NoiseReductionCoefficient`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.NuclearCrossSection`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.OpticalPower`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Permittivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Permittivity`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Permittivity`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PH`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PH`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PH`1.CommonValues:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PH`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PhysicalDimension:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PhysicalDimension:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PhysicalDimensions:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PhysicalDimensions:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.PhysicalQuantity`2:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Pitch`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Power`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Power`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Power`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Pressure`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Pressure`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Pressure`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.RadioactiveActivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.RateConstant`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ReactionRate`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ReflectionCoefficient`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.RefractiveIndex`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ReverberationTime`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ReynoldsNumber`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Sensitivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Sharpness`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Sharpness`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Sharpness`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundAbsorption`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundIntensity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundIntensityLevel`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundIntensityLevel`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundIntensityLevel`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPower`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPowerLevel`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPressure`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPressureLevel`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPressureLevel`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundPressureLevel`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundSpeed`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundTransmissionClass`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundTransmissionClass`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SoundTransmissionClass`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SpecificGravity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SpecificGravity`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SpecificGravity`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SpecificHeat`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.SurfaceTension`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Temperature`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ThermalConductivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ThermalDiffusivity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ThermalExpansion`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.ThermalResistance`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Time`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Time`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Time`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Torque`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Torque`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Torque`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Unit:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Unit:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.UnitConversionException:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.UnitConversionException:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.UnitExtensions:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.UnitExtensions:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Units:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Units:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Velocity`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Velocity`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Velocity`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Volume`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Volume`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Volume`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.VolumetricFlowRate`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:ktsu.Semantics.Wavelength`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Buffers.SpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Buffers.SpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.CompilerServices.RequiredMemberAttribute:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Quantities.dll + lib/net8.0/ktsu.Semantics.Quantities.dll + + + CP0016 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_DiagnosticId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ObsoleteAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.DiagnosticId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute:[T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute] + lib/net9.0/ktsu.Semantics.Quantities.dll + lib/net10.0/ktsu.Semantics.Quantities.dll + + \ No newline at end of file diff --git a/Semantics.Quantities/SemanticQuantity.cs b/Semantics.Quantities/SemanticQuantity.cs index d02b2ad..8fb7af7 100644 --- a/Semantics.Quantities/SemanticQuantity.cs +++ b/Semantics.Quantities/SemanticQuantity.cs @@ -65,8 +65,8 @@ protected SemanticQuantity() { } public static TResult Multiply(SemanticQuantity self, SemanticQuantity other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); - ArgumentNullException.ThrowIfNull(other); + Ensure.NotNull(self); + Ensure.NotNull(other); return Create(self.Quantity * other.Quantity)!; } @@ -80,7 +80,7 @@ public static TResult Multiply(SemanticQuantity self, Semanti public static TResult Multiply(SemanticQuantity self, TStorage other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); + Ensure.NotNull(self); return Create(self.Quantity * other)!; } @@ -94,8 +94,8 @@ public static TResult Multiply(SemanticQuantity self, TStorag public static TResult Divide(SemanticQuantity self, SemanticQuantity other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); - ArgumentNullException.ThrowIfNull(other); + Ensure.NotNull(self); + Ensure.NotNull(other); return Create(self.Quantity / other.Quantity)!; } @@ -109,7 +109,7 @@ public static TResult Divide(SemanticQuantity self, SemanticQ public static TResult Divide(SemanticQuantity self, TStorage other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); + Ensure.NotNull(self); return Create(self.Quantity / other)!; } @@ -121,8 +121,8 @@ public static TResult Divide(SemanticQuantity self, TStorage /// The quotient as a storage type. public static TStorage DivideToStorage(SemanticQuantity self, SemanticQuantity other) { - ArgumentNullException.ThrowIfNull(self); - ArgumentNullException.ThrowIfNull(other); + Ensure.NotNull(self); + Ensure.NotNull(other); if (TStorage.IsZero(other.Quantity)) { throw new DivideByZeroException("Cannot divide by zero."); @@ -140,8 +140,8 @@ public static TStorage DivideToStorage(SemanticQuantity self, Semantic public static TResult Add(SemanticQuantity self, SemanticQuantity other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); - ArgumentNullException.ThrowIfNull(other); + Ensure.NotNull(self); + Ensure.NotNull(other); return Create(self.Quantity + other.Quantity)!; } @@ -155,8 +155,8 @@ public static TResult Add(SemanticQuantity self, SemanticQuan public static TResult Subtract(SemanticQuantity self, SemanticQuantity other) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); - ArgumentNullException.ThrowIfNull(other); + Ensure.NotNull(self); + Ensure.NotNull(other); return Create(self.Quantity - other.Quantity)!; } @@ -169,7 +169,7 @@ public static TResult Subtract(SemanticQuantity self, Semanti public static TResult Negate(SemanticQuantity self) where TResult : SemanticQuantity, new() { - ArgumentNullException.ThrowIfNull(self); + Ensure.NotNull(self); return Create(-self.Quantity)!; } diff --git a/Semantics.Strings/CompatibilitySuppressions.xml b/Semantics.Strings/CompatibilitySuppressions.xml new file mode 100644 index 0000000..e840f96 --- /dev/null +++ b/Semantics.Strings/CompatibilitySuppressions.xml @@ -0,0 +1,2026 @@ + + + + + CP0001 + T:System.Diagnostics.StackTraceHiddenAttribute + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Reflection.NullabilityInfo + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Reflection.NullabilityInfoContext + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Text.SpanLineEnumerator + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.UnscopedRefAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.UnreachableException + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.IO.UnixFileMode + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.RequiredMemberAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Text.RegularExpressions.ValueMatch + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.CollectionBuilderAttribute + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureGuardAttribute + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.DebuggerDisableUserUnhandledExceptionsAttribute + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.ParamCollectionAttribute + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Threading.Lock + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Buffers.ReadOnlySpanAction`2 + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Buffers.SpanAction`2 + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Collections.Generic.KeyValuePair + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.AllowNullAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Index + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Range + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.IsExternalInit + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.ModuleInitializerAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.CompilerServices.SkipLocalsInitAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.InteropServices.SuppressGCTransitionAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.OSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.SupportedOSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.TargetPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0001 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute + lib/netstandard2.1/ktsu.Semantics.Strings.dll + lib/net5.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.#ctor(System.String,System.String) + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEventsWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFieldsWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethodsWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicPropertiesWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructorsWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypesWithInherited + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_Message + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_Message(System.String) + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_ExcludeStatics + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_ExcludeStatics(System.Boolean) + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0002 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char}) + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0002 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.ReadOnlySpan{System.Char}) + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0002 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.Create(System.ReadOnlySpan{System.Char}) + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0002 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char}) + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0002 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryCreate(System.ReadOnlySpan{System.Char},`0@) + lib/netstandard2.0/ktsu.Semantics.Strings.dll + lib/netstandard2.1/ktsu.Semantics.Strings.dll + + + CP0008 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0008 + T:System.IO.UnixFileMode + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0008 + T:System.Text.SpanLineEnumerator + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_ElementType:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_GenericTypeArguments:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_ReadState:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_Type:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Reflection.NullabilityInfo.get_WriteState:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Runtime.Versioning.OSPlatformAttribute.get_PlatformName:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net6.0/ktsu.Semantics.Strings.dll + lib/net7.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.CompilerGeneratedAttribute] + lib/net8.0/ktsu.Semantics.Strings.dll + lib/net9.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_UrlFormat:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0014 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.set_UrlFormat(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0014 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0015 + T:System.Runtime.Versioning.SupportedOSPlatformAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0015 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.AttributeUsageAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0015 + T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Index.Equals(System.Object)$0:[T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Range.Equals(System.Object)$0:[T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute] + lib/net5.0/ktsu.Semantics.Strings.dll + lib/net6.0/ktsu.Semantics.Strings.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.CallConvs:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + F:System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute.EntryPoint:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.FromCharArray(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char})->T:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.FromString(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ISemanticStringFactory`1.TryFromString(System.String,`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.{Clone}$->ktsu.Semantics.Strings.SemanticString<TDerived>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.#ctor(ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.As``1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.AsSpan:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.AsSpan(System.Int32,System.Int32):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.AsSpan(System.Int32):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.CompareTo(ktsu.Semantics.Strings.ISemanticString):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.CompareTo(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Contains(System.ReadOnlySpan{System.Char},System.StringComparison):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create(System.ReadOnlySpan{System.Char})->TDerived:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.Char[])<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.ReadOnlySpan{System.Char})->TDest:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.String)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Create``1(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.EndsWith(System.ReadOnlySpan{System.Char},System.StringComparison):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Equals(ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.IndexOf(System.ReadOnlySpan{System.Char},System.StringComparison):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.LastIndexOf(System.ReadOnlySpan{System.Char},System.StringComparison):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Equality(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Equality(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_GreaterThan(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_GreaterThan(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_GreaterThanOrEqual(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_GreaterThanOrEqual(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Implicit(ktsu.Semantics.Strings.SemanticString{`0})~System.Char[]$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Implicit(ktsu.Semantics.Strings.SemanticString{`0})~System.ReadOnlySpan{System.Char}:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Implicit(ktsu.Semantics.Strings.SemanticString{`0})~System.ReadOnlySpan{System.Char}$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Implicit(ktsu.Semantics.Strings.SemanticString{`0})~System.String$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Inequality(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_Inequality(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_LessThan(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_LessThan(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_LessThanOrEqual(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.op_LessThanOrEqual(ktsu.Semantics.Strings.SemanticString{`0},ktsu.Semantics.Strings.SemanticString{`0})$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.Split(System.Char,System.StringSplitOptions):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.StartsWith(System.ReadOnlySpan{System.Char},System.StringComparison):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.ToCharArray(ktsu.Semantics.Strings.ISemanticString)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.ToReadOnlySpan(ktsu.Semantics.Strings.ISemanticString):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.ToReadOnlySpan(ktsu.Semantics.Strings.ISemanticString)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.ToString(ktsu.Semantics.Strings.ISemanticString)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimAsSpan:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimAsSpan(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimEndAsSpan:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimEndAsSpan(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimStartAsSpan:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TrimStartAsSpan(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate(System.Char[],`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate(System.ReadOnlySpan{System.Char},`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate(System.ReadOnlySpan{System.Char},`0@)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate(System.String,`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.Char[],``0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.Char[],``0@)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.ReadOnlySpan{System.Char},``0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.ReadOnlySpan{System.Char},``0@)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.String,``0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticString`1.TryCreate``1(System.String,``0@)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringContracts.ValidateComparisonContracts``1(``0,``0,``0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringContracts.ValidateComparisonContracts``1(``0,``0,``0)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringContracts.ValidateContracts``1(``0)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringContracts.ValidateEqualityContracts``1(``0,``0):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringContracts.ValidateEqualityContracts``1(``0,``0)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.Char[])<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.ReadOnlySpan{System.Char})->TDerived:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.String)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``1(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``2(ktsu.Semantics.Strings.SemanticString{``0})<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``2(ktsu.Semantics.Strings.SemanticString{``0})<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringExtensions.As``2(ktsu.Semantics.Strings.SemanticString{``0})$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.Create(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.Create(System.ReadOnlySpan{System.Char})->T:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.Create(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.Create(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.FromCharArray(System.Char[])$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char})->T:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.FromReadOnlySpan(System.ReadOnlySpan{System.Char}):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.FromString(System.String)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryCreate(System.Char[],`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryCreate(System.ReadOnlySpan{System.Char},`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryCreate(System.ReadOnlySpan{System.Char},`0@)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryCreate(System.String,`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringFactory`1.TryFromString(System.String,`0@):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.SemanticStringValidationAttribute.Validate(ktsu.Semantics.Strings.ISemanticString):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ValidateAllStrategy.Validate(ktsu.Semantics.Strings.ISemanticString,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:ktsu.Semantics.Strings.ValidateAnyStrategy.Validate(ktsu.Semantics.Strings.ISemanticString,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.BeginInvoke(System.ReadOnlySpan{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.ReadOnlySpanAction`2.Invoke(System.ReadOnlySpan{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.SpanAction`2.BeginInvoke(System.Span{`0},`1,System.AsyncCallback,System.Object)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Buffers.SpanAction`2.Invoke(System.Span{`0},`1)$0:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)->System.Collections.Generic.KeyValuePair<TKey, TValue>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Collections.Generic.KeyValuePair.Create``2(``0,``1)<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.Type):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.get_Url:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.set_Url(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String,System.Object[])$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.get_Arguments->object?[]:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_Category:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.get_CheckId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Index.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Index.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Range.Equals(System.Object):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Range.ToString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Reflection.NullabilityInfo.get_ElementType:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.ObsoletedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.TargetPlatformAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.#ctor(System.String,System.String)$1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.get_Message:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Reflection.NullabilityInfo.ElementType:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Runtime.Versioning.UnsupportedOSPlatformAttribute.Message:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ContainsAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ContainsAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.EndsWithAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.EndsWithAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ISemanticString:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ISemanticStringFactory`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ISemanticStringFactory`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.IValidationRule:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.IValidationStrategy:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.NativeSemanticStringValidationAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.NativeSemanticStringValidationAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.PrefixAndSuffixAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.PrefixAndSuffixAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.RegexMatchAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.RegexMatchAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticString`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticString`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticString`1.SpanSplitEnumerator:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticString`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringContracts:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringContracts:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringExtensions:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringExtensions:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringFactory`1:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringFactory`1:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.SemanticStringFactory`1<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.StartsWithAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.StartsWithAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationAdapter:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationAdapter:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationResult:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationResult:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationRuleBase:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationRuleBase:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationStrategyFactory:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:ktsu.Semantics.Strings.ValidationStrategyFactory:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Buffers.ReadOnlySpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Buffers.SpanAction`2<0>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Buffers.SpanAction`2<1>:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.UnreachableException:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Reflection.NullabilityInfo:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Reflection.NullabilityInfoContext:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.CompilerServices.CallerArgumentExpressionAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.CompilerServices.RequiredMemberAttribute:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.ObsoletedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.OSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net7.0/ktsu.Semantics.Strings.dll + lib/net8.0/ktsu.Semantics.Strings.dll + + + CP0016 + F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.#ctor(System.String):[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.get_DiagnosticId:[T:System.Runtime.CompilerServices.NullableContextAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ComponentModel.EditorBrowsableAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition:[T:System.ObsoleteAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.DiagnosticId:[T:System.Runtime.CompilerServices.NullableAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + + CP0016 + T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute:[T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute] + lib/net9.0/ktsu.Semantics.Strings.dll + lib/net10.0/ktsu.Semantics.Strings.dll + + \ No newline at end of file diff --git a/Semantics.Strings/ISemanticString.cs b/Semantics.Strings/ISemanticString.cs index 673313b..d05aac8 100644 --- a/Semantics.Strings/ISemanticString.cs +++ b/Semantics.Strings/ISemanticString.cs @@ -4,6 +4,7 @@ namespace ktsu.Semantics.Strings; +using System; using System.Globalization; using System.Text; diff --git a/Semantics.Strings/ISemanticStringFactory.cs b/Semantics.Strings/ISemanticStringFactory.cs index e003640..da970ff 100644 --- a/Semantics.Strings/ISemanticStringFactory.cs +++ b/Semantics.Strings/ISemanticStringFactory.cs @@ -27,6 +27,7 @@ public interface ISemanticStringFactory where T : SemanticString /// The value doesn't meet validation criteria public T FromCharArray(char[]? value); +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER /// /// Creates a new semantic string instance from a read-only span. /// @@ -34,6 +35,7 @@ public interface ISemanticStringFactory where T : SemanticString /// A validated semantic string instance /// The value doesn't meet validation criteria public T FromReadOnlySpan(ReadOnlySpan value); +#endif /// /// Attempts to create a semantic string instance without throwing exceptions. diff --git a/Semantics.Strings/SemanticString.cs b/Semantics.Strings/SemanticString.cs index a0738a9..7fdc529 100644 --- a/Semantics.Strings/SemanticString.cs +++ b/Semantics.Strings/SemanticString.cs @@ -4,18 +4,22 @@ namespace ktsu.Semantics.Strings; +using System; using System.Collections; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text; +using System.Text.Json.Serialization; + +using ktsu.RoundTripStringJsonConverter; /// /// Base class for all semantic string types using CRTP (Curiously Recurring Template Pattern). /// Provides type safety and validation for string values that have specific meaning or format requirements. /// [DebuggerDisplay(value: $"{{{nameof(GetDebuggerDisplay)}(),nq}}")] - +[JsonConverter(typeof(RoundTripStringJsonConverterFactory))] public abstract record SemanticString : ISemanticString where TDerived : SemanticString { @@ -91,7 +95,11 @@ public TDest As() /// public bool Contains(string value) => WeakString.Contains(value: value); /// +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER public bool Contains(string value, StringComparison comparisonType) => WeakString.Contains(value: value, comparisonType: comparisonType); +#else + public bool Contains(string value, StringComparison comparisonType) => WeakString.IndexOf(value, comparisonType) >= 0; +#endif /// public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count) => WeakString.CopyTo(sourceIndex: sourceIndex, destination: destination, destinationIndex: destinationIndex, count: count); @@ -190,8 +198,7 @@ public TDest As() public string PadRight(int totalWidth, char paddingChar) => WeakString.PadRight(totalWidth: totalWidth, paddingChar: paddingChar); /// - [SuppressMessage("Style", "IDE0057:Use range operator", Justification = "I'd rather wrap the class 1:1 than reimplement it")] - public string Remove(int startIndex) => WeakString.Remove(startIndex: startIndex); + public string Remove(int startIndex) => WeakString.Remove(startIndex); /// public string Remove(int startIndex, int count) => WeakString.Remove(startIndex: startIndex, count: count); @@ -277,6 +284,7 @@ public TDest As() public static string ToString(ISemanticString? semanticString) => semanticString?.WeakString ?? string.Empty; /// public static char[] ToCharArray(ISemanticString? semanticString) => semanticString?.WeakString.ToCharArray() ?? []; + /// public static ReadOnlySpan ToReadOnlySpan(ISemanticString? semanticString) => semanticString is null ? [] : semanticString.WeakString.AsSpan(); @@ -852,7 +860,7 @@ private static bool TryFromReadOnlySpan(ReadOnlySpan value, out TDe /// /// This overload uses span-based search which can be more efficient than string-based IndexOf for certain scenarios. /// - public int IndexOf(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => AsSpan().IndexOf(value, comparisonType); + public int IndexOf(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => WeakString.IndexOf(value.ToString(), comparisonType); /// /// Finds the last occurrence of a character sequence in the semantic string using span semantics. @@ -874,7 +882,7 @@ private static bool TryFromReadOnlySpan(ReadOnlySpan value, out TDe /// /// This overload uses span-based comparison which avoids string allocations when working with substrings or spans. /// - public bool StartsWith(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => AsSpan().StartsWith(value, comparisonType); + public bool StartsWith(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => WeakString.StartsWith(value.ToString(), comparisonType); /// /// Determines whether the semantic string ends with the specified span using efficient span comparison. @@ -885,7 +893,7 @@ private static bool TryFromReadOnlySpan(ReadOnlySpan value, out TDe /// /// This overload uses span-based comparison which avoids string allocations when working with substrings or spans. /// - public bool EndsWith(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => AsSpan().EndsWith(value, comparisonType); + public bool EndsWith(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => WeakString.EndsWith(value.ToString(), comparisonType); /// /// Determines whether the semantic string contains the specified span using efficient span comparison. @@ -896,7 +904,7 @@ private static bool TryFromReadOnlySpan(ReadOnlySpan value, out TDe /// /// This overload uses span-based search which can be more efficient than string-based Contains for certain scenarios. /// - public bool Contains(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => AsSpan().Contains(value, comparisonType); + public bool Contains(ReadOnlySpan value, StringComparison comparisonType = StringComparison.Ordinal) => WeakString.Contains(value.ToString(), comparisonType); /// /// Counts the number of characters that match the specified predicate using span semantics. diff --git a/Semantics.Strings/SemanticStringExtensions.cs b/Semantics.Strings/SemanticStringExtensions.cs index fae5987..57cce9e 100644 --- a/Semantics.Strings/SemanticStringExtensions.cs +++ b/Semantics.Strings/SemanticStringExtensions.cs @@ -61,6 +61,7 @@ public static TDerived As(this char[]? value) where TDerived : SemanticString => SemanticString.Create(value: value); +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER /// /// Converts a read-only character span to the specified semantic string type. /// @@ -82,6 +83,7 @@ public static TDerived As(this char[]? value) public static TDerived As(this ReadOnlySpan value) where TDerived : SemanticString => SemanticString.Create(value: value); +#endif /// /// Converts one semantic string type to another semantic string type. diff --git a/Semantics.Strings/SemanticStringFactory.cs b/Semantics.Strings/SemanticStringFactory.cs index 8116429..ee810e0 100644 --- a/Semantics.Strings/SemanticStringFactory.cs +++ b/Semantics.Strings/SemanticStringFactory.cs @@ -23,8 +23,10 @@ public sealed class SemanticStringFactory : ISemanticStringFactory /// public T FromCharArray(char[]? value) => SemanticString.Create(value); +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER /// public T FromReadOnlySpan(ReadOnlySpan value) => SemanticString.Create(value); +#endif /// public bool TryFromString(string? value, out T? result) => SemanticString.TryCreate(value, out result); @@ -47,6 +49,7 @@ public sealed class SemanticStringFactory : ISemanticStringFactory /// The character array does not meet the validation criteria for the target type. public T Create(char[]? value) => SemanticString.Create(value); +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER /// /// Creates a new instance of the target semantic string type from a read-only character span. /// @@ -54,6 +57,7 @@ public sealed class SemanticStringFactory : ISemanticStringFactory /// A new instance of the target semantic string type. /// The span does not meet the validation criteria for the target type. public T Create(ReadOnlySpan value) => SemanticString.Create(value); +#endif /// /// Attempts to create a new instance of the target semantic string type from a string value without throwing exceptions. @@ -81,6 +85,7 @@ public sealed class SemanticStringFactory : ISemanticStringFactory /// public bool TryCreate(char[]? value, out T? result) => SemanticString.TryCreate(value, out result); +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET5_0_OR_GREATER /// /// Attempts to create a new instance of the target semantic string type from a read-only character span without throwing exceptions. /// @@ -93,4 +98,5 @@ public sealed class SemanticStringFactory : ISemanticStringFactory /// if the conversion was successful; otherwise, . /// public bool TryCreate(ReadOnlySpan value, out T? result) => SemanticString.TryCreate(value, out result); +#endif } diff --git a/Semantics.Strings/Semantics.Strings.csproj b/Semantics.Strings/Semantics.Strings.csproj index 6178809..98e618a 100644 --- a/Semantics.Strings/Semantics.Strings.csproj +++ b/Semantics.Strings/Semantics.Strings.csproj @@ -7,6 +7,7 @@ + diff --git a/Semantics.Test/AcousticOperatorTests.cs b/Semantics.Test/AcousticOperatorTests.cs new file mode 100644 index 0000000..ab18589 --- /dev/null +++ b/Semantics.Test/AcousticOperatorTests.cs @@ -0,0 +1,24 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class AcousticOperatorTests +{ + [TestMethod] + public void Frequency_From_Speed_DividedBy_Wavelength() + { + SoundSpeed speed = SoundSpeed.FromMetersPerSecond(343.0); + Wavelength wavelength = Wavelength.Create(0.343); + + Frequency f1 = speed / wavelength; // operator on Wavelength + Frequency f2 = Frequency.Create(speed.Value / wavelength.Value); + + Assert.AreEqual(f2.Value, f1.Value, 1e-12); + } +} + diff --git a/Semantics.Test/AdvancedAttributeValidationTests.cs b/Semantics.Test/AdvancedAttributeValidationTests.cs index f21027f..d71d77c 100644 --- a/Semantics.Test/AdvancedAttributeValidationTests.cs +++ b/Semantics.Test/AdvancedAttributeValidationTests.cs @@ -6,6 +6,7 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Strings; using System; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] diff --git a/Semantics.Test/AdvancedUtilityTests.cs b/Semantics.Test/AdvancedUtilityTests.cs index 93073b8..ef528fa 100644 --- a/Semantics.Test/AdvancedUtilityTests.cs +++ b/Semantics.Test/AdvancedUtilityTests.cs @@ -7,6 +7,7 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Paths; using System.Collections.Concurrent; using System.Text; +using ktsu.Semantics.Paths; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] @@ -101,9 +102,9 @@ public void PooledStringBuilder_CombinePaths_MixedSeparators_ShouldHandleCorrect string path3 = $"{Path.DirectorySeparatorChar}end"; string result = PooledStringBuilder.CombinePaths(path1, path2, path3); - Assert.IsTrue(result.Contains("root")); - Assert.IsTrue(result.Contains("middle")); - Assert.IsTrue(result.Contains("end")); + Assert.Contains("root", result); + Assert.Contains("middle", result); + Assert.Contains("end", result); } [TestMethod] @@ -124,12 +125,14 @@ public void PooledStringBuilder_CombinePaths_ThreadSafety_ShouldWork() string result = PooledStringBuilder.CombinePaths($"thread{threadId}", $"op{j}"); results.Add(result); } - }); + }, TestContext.CancellationTokenSource.Token); } - Task.WaitAll(tasks); - Assert.AreEqual(threadCount * operationsPerThread, results.Count); + Task.WaitAll(tasks, TestContext.CancellationTokenSource.Token); + Assert.HasCount(threadCount * operationsPerThread, results); } + + public TestContext TestContext { get; set; } } [TestClass] @@ -140,7 +143,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_WindowsSeparator_Should { ReadOnlySpan path = $"test{Path.DirectorySeparatorChar}".AsSpan(); bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); - Assert.IsTrue(result); + Assert.IsTrue(result, "Path ending with directory separator should return true"); } [TestMethod] @@ -148,7 +151,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_NoSeparator_ShouldRetur { ReadOnlySpan path = "test".AsSpan(); bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); - Assert.IsFalse(result); + Assert.IsFalse(result, "Path not ending with separator should return false"); } [TestMethod] @@ -156,7 +159,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_EmptySpan_ShouldReturnF { ReadOnlySpan path = []; bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); - Assert.IsFalse(result); + Assert.IsFalse(result, "Empty span should return false"); } [TestMethod] @@ -164,7 +167,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_SingleSeparator_ShouldR { ReadOnlySpan path = Path.DirectorySeparatorChar.ToString().AsSpan(); bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); - Assert.IsTrue(result); + Assert.IsTrue(result, "Single separator character should return true"); } [TestMethod] @@ -192,7 +195,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_LongPath_ShouldWork() { ReadOnlySpan longPath = (new string('a', 1000) + Path.DirectorySeparatorChar).AsSpan(); bool result = SpanPathUtilities.EndsWithDirectorySeparator(longPath); - Assert.IsTrue(result); + Assert.IsTrue(result, "Long path ending with separator should return true"); } [TestMethod] @@ -200,7 +203,7 @@ public void SpanPathUtilities_EndsWithDirectorySeparator_MultipleSeparators_Shou { ReadOnlySpan path = $"test{Path.DirectorySeparatorChar}{Path.DirectorySeparatorChar}".AsSpan(); bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); - Assert.IsTrue(result); + Assert.IsTrue(result, "Path ending with multiple separators should return true"); } } @@ -273,15 +276,17 @@ public void InternedPathStrings_Concurrency_ShouldBeThreadSafe() { allEmpty.Add(InternedPathStrings.Empty); } - }); + }, TestContext.CancellationTokenSource.Token); } - Task.WaitAll(tasks); + Task.WaitAll(tasks, TestContext.CancellationTokenSource.Token); // All instances should be the same reference string firstEmpty = allEmpty.First(); - Assert.IsTrue(allEmpty.All(e => ReferenceEquals(e, firstEmpty))); + Assert.IsTrue(allEmpty.All(e => ReferenceEquals(e, firstEmpty)), "All empty string instances should be the same reference"); } + + public TestContext TestContext { get; set; } } [TestClass] @@ -298,8 +303,8 @@ public void UtilitiesIntegration_ComplexPathOperations_ShouldWork() bool endsWithSeparator = SpanPathUtilities.EndsWithDirectorySeparator(pathSpan); Assert.IsFalse(endsWithSeparator, "File path should not end with separator"); - Assert.IsTrue(combinedPath.Contains("root")); - Assert.IsTrue(combinedPath.Contains("file.txt")); + Assert.Contains("root", combinedPath); + Assert.Contains("file.txt", combinedPath); } [TestMethod] @@ -308,8 +313,8 @@ public void UtilitiesIntegration_EmptyPathHandling_ShouldWork() string emptyPath = InternedPathStrings.Empty; string pathWithEmpty = PooledStringBuilder.CombinePaths("root", emptyPath, "file"); - Assert.IsTrue(pathWithEmpty.Contains("root")); - Assert.IsTrue(pathWithEmpty.Contains("file")); + Assert.Contains("root", pathWithEmpty); + Assert.Contains("file", pathWithEmpty); } [TestMethod] @@ -326,8 +331,8 @@ public void UtilitiesIntegration_PerformanceTest_ShouldBeFast() } stopwatch.Stop(); - Assert.IsTrue(stopwatch.ElapsedMilliseconds < 1000, - $"Performance test took {stopwatch.ElapsedMilliseconds}ms, expected < 1000ms"); + Assert.IsLessThan(1000, +stopwatch.ElapsedMilliseconds, $"Performance test took {stopwatch.ElapsedMilliseconds}ms, expected < 1000ms"); } } } diff --git a/Semantics.Test/AttributeValidationTests.cs b/Semantics.Test/AttributeValidationTests.cs index 426f3dc..d20cbfe 100644 --- a/Semantics.Test/AttributeValidationTests.cs +++ b/Semantics.Test/AttributeValidationTests.cs @@ -6,6 +6,7 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Strings; using System; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] diff --git a/Semantics.Test/CasingAndContractsTests.cs b/Semantics.Test/CasingAndContractsTests.cs new file mode 100644 index 0000000..c9255b1 --- /dev/null +++ b/Semantics.Test/CasingAndContractsTests.cs @@ -0,0 +1,119 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class CasingAndContractsTests +{ + [IsCamelCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record CamelCaseString : SemanticString { } + + [IsPascalCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record PascalCaseString : SemanticString { } + +#pragma warning disable CS0618 // Obsolete attribute used intentionally to cover validation + [IsBoolean] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record BooleanString : SemanticString { } +#pragma warning restore CS0618 + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record ContractString : SemanticString { } + + [TestMethod] + public void CamelCase_Valid_ShouldPass() + { + CamelCaseString s = SemanticString.Create("camelCase"); + Assert.AreEqual("camelCase", s.WeakString); + } + + [TestMethod] + public void CamelCase_Invalid_ShouldThrow() + { + Assert.ThrowsExactly(() => SemanticString.Create("CamelCase")); + } + + [TestMethod] + public void CamelCase_Empty_ShouldPass() + { + CamelCaseString s = SemanticString.Create(""); + Assert.AreEqual("", s.WeakString); + } + + [TestMethod] + public void PascalCase_Valid_ShouldPass() + { + PascalCaseString s = SemanticString.Create("PascalCase"); + Assert.AreEqual("PascalCase", s.WeakString); + } + + [TestMethod] + public void PascalCase_Invalid_ShouldThrow() + { + Assert.ThrowsExactly(() => SemanticString.Create("pascalCase")); + } + + [TestMethod] + public void PascalCase_Empty_ShouldPass() + { + PascalCaseString s = SemanticString.Create(""); + Assert.AreEqual("", s.WeakString); + } + + [TestMethod] + public void Boolean_Valid_ShouldPass() + { +#pragma warning disable CS0618 // obsolete usage in tests + BooleanString s = SemanticString.Create("true"); +#pragma warning restore CS0618 + Assert.AreEqual("true", s.WeakString); + } + + [TestMethod] + public void Boolean_Invalid_ShouldThrow() + { +#pragma warning disable CS0618 // obsolete usage in tests + Assert.ThrowsExactly(() => SemanticString.Create("notabool")); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Boolean_Empty_ShouldPass() + { +#pragma warning disable CS0618 // obsolete usage in tests + BooleanString s = SemanticString.Create(""); +#pragma warning restore CS0618 + Assert.AreEqual("", s.WeakString); + } + + [TestMethod] + public void Contracts_ValidateContracts_ShouldReturnTrue() + { + ContractString s = SemanticString.Create("abc"); + Assert.IsTrue(SemanticStringContracts.ValidateContracts(s)); + } + + [TestMethod] + public void Contracts_ValidateEqualityContracts_ShouldReturnTrue() + { + ContractString a = SemanticString.Create("same"); + ContractString b = SemanticString.Create("same"); + Assert.IsTrue(SemanticStringContracts.ValidateEqualityContracts(a, b)); + } + + [TestMethod] + public void Contracts_ValidateComparisonContracts_ShouldReturnTrue() + { + ContractString a = SemanticString.Create("a"); + ContractString b = SemanticString.Create("b"); + ContractString c = SemanticString.Create("c"); + Assert.IsTrue(SemanticStringContracts.ValidateComparisonContracts(a, b, c)); + } +} diff --git a/Semantics.Test/CasingValidatorsTests.cs b/Semantics.Test/CasingValidatorsTests.cs new file mode 100644 index 0000000..60d6521 --- /dev/null +++ b/Semantics.Test/CasingValidatorsTests.cs @@ -0,0 +1,116 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class CasingValidatorsTests +{ + [IsUpperCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record UpperCaseString : SemanticString { } + + [IsLowerCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record LowerCaseString : SemanticString { } + + [IsTitleCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record TitleCaseString : SemanticString { } + + [IsSentenceCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record SentenceCaseString : SemanticString { } + + [IsSnakeCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record SnakeCaseString : SemanticString { } + + [IsKebabCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record KebabCaseString : SemanticString { } + + [IsMacroCase] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record MacroCaseString : SemanticString { } + + [TestMethod] + public void UpperCase_Valid_Invalid_Empty() + { + UpperCaseString valid = SemanticString.Create("HELLO WORLD 123!"); + Assert.AreEqual("HELLO WORLD 123!", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("Hello")); + UpperCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void LowerCase_Valid_Invalid_Empty() + { + LowerCaseString valid = SemanticString.Create("hello world 123!"); + Assert.AreEqual("hello world 123!", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("helloWorld")); + LowerCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void TitleCase_Valid_Invalid_Empty() + { + TitleCaseString valid = SemanticString.Create("Hello World"); + Assert.AreEqual("Hello World", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("hello world")); + TitleCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void SentenceCase_Valid_Invalid_Empty() + { + SentenceCaseString valid = SemanticString.Create("Hello world"); + Assert.AreEqual("Hello world", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("Hello World")); + SentenceCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void SnakeCase_Valid_Invalid_Empty() + { + SnakeCaseString valid = SemanticString.Create("hello_world_123"); + Assert.AreEqual("hello_world_123", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("_leading")); + Assert.ThrowsExactly(() => SemanticString.Create("trailing_")); + Assert.ThrowsExactly(() => SemanticString.Create("double__underscore")); + SnakeCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void KebabCase_Valid_Invalid_Empty() + { + KebabCaseString valid = SemanticString.Create("hello-world-123"); + Assert.AreEqual("hello-world-123", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("-leading")); + Assert.ThrowsExactly(() => SemanticString.Create("trailing-")); + Assert.ThrowsExactly(() => SemanticString.Create("double--hyphen")); + KebabCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } + + [TestMethod] + public void MacroCase_Valid_Invalid_Empty() + { + MacroCaseString valid = SemanticString.Create("HELLO_WORLD_123"); + Assert.AreEqual("HELLO_WORLD_123", valid.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("_LEADING")); + Assert.ThrowsExactly(() => SemanticString.Create("TRAILING_")); + Assert.ThrowsExactly(() => SemanticString.Create("DOUBLE__UNDERSCORE")); + MacroCaseString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + } +} diff --git a/Semantics.Test/ErrorHandlingTests.cs b/Semantics.Test/ErrorHandlingTests.cs index 6f234fe..2d4ea36 100644 --- a/Semantics.Test/ErrorHandlingTests.cs +++ b/Semantics.Test/ErrorHandlingTests.cs @@ -9,6 +9,8 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Quantities; using System; using System.IO; +using ktsu.Semantics.Paths; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] @@ -200,7 +202,7 @@ public void SemanticStringFactory_TryFromString_WithInvalidValue_ReturnsFalse() bool result = factory.TryFromString("invalid_value", out InvalidSemanticString? output); // Assert - Assert.IsFalse(result); + Assert.IsFalse(result, "TryFromString should return false for invalid value"); Assert.IsNull(output); } @@ -214,7 +216,7 @@ public void SemanticStringFactory_TryFromString_WithValidationException_ReturnsF bool result = factory.TryFromString("invalid", out StartsWithValidSemanticString? output); // Assert - Assert.IsFalse(result); + Assert.IsFalse(result, "TryFromString should return false when validation throws exception"); Assert.IsNull(output); } @@ -232,7 +234,7 @@ public void SemanticString_PerformValidation_WithNullAfterCreation_ThrowsArgumen // This would be an edge case where validation returns null somehow // We can't easily test this directly, but we can test the validation logic StartsWithValidSemanticString validString = SemanticString.Create("Valid_test"); - Assert.IsTrue(validString.IsValid()); + Assert.IsTrue(validString.IsValid(), "Valid semantic string should pass IsValid check"); } // Edge case tests for specific validation scenarios @@ -241,7 +243,7 @@ public void ValidationAttributes_WithEmptyString_HandledCorrectly() { // Test how validation attributes handle empty strings EmptyStringTestSemanticString emptyString = SemanticString.Create(""); - Assert.IsTrue(emptyString.IsValid()); + Assert.IsTrue(emptyString.IsValid(), "Empty string should be valid for type without restrictive validation"); } [TestMethod] @@ -269,7 +271,7 @@ public void SemanticQuantity_ExtremeLargeValues_HandledCorrectly() TestQuantity result = largeQuantity + TestQuantity.Create(1.0); // Should handle overflow gracefully - Assert.IsTrue(double.IsInfinity(result.Quantity) || result.Quantity == double.MaxValue); + Assert.IsTrue(double.IsInfinity(result.Quantity) || result.Quantity == double.MaxValue, "Overflow should result in infinity or max value"); } [TestMethod] @@ -280,7 +282,7 @@ public void SemanticQuantity_ExtremeSmallValues_HandledCorrectly() TestQuantity result = smallQuantity / 2.0; // Should handle underflow gracefully - Assert.IsTrue(result.Quantity is 0.0 or > 0); + Assert.IsTrue(result.Quantity is 0.0 or > 0, "Underflow should result in zero or positive value"); } [TestMethod] @@ -290,7 +292,7 @@ public void SemanticQuantity_SpecialValues_NaN_HandledCorrectly() TestQuantity nanQuantity = TestQuantity.Create(double.NaN); TestQuantity result = nanQuantity + TestQuantity.Create(1.0); - Assert.IsTrue(double.IsNaN(result.Quantity)); + Assert.IsTrue(double.IsNaN(result.Quantity), "Adding to NaN should result in NaN"); } [TestMethod] @@ -300,7 +302,7 @@ public void SemanticQuantity_SpecialValues_Infinity_HandledCorrectly() TestQuantity infinityQuantity = TestQuantity.Create(double.PositiveInfinity); TestQuantity result = infinityQuantity + TestQuantity.Create(1.0); - Assert.IsTrue(double.IsPositiveInfinity(result.Quantity)); + Assert.IsTrue(double.IsPositiveInfinity(result.Quantity), "Adding to positive infinity should result in positive infinity"); } [TestMethod] @@ -348,7 +350,7 @@ public void ValidationStrategy_WithNoAttributes_ReturnsTrue() TestSemanticString semanticString = SemanticString.Create("test"); bool result = strategy.Validate(semanticString, typeof(TestSemanticString)); - Assert.IsTrue(result); + Assert.IsTrue(result, "Validation should pass for type with no validation attributes"); } } diff --git a/Semantics.Test/FirstClassAndFormatValidatorsTests.cs b/Semantics.Test/FirstClassAndFormatValidatorsTests.cs new file mode 100644 index 0000000..ede5ba6 --- /dev/null +++ b/Semantics.Test/FirstClassAndFormatValidatorsTests.cs @@ -0,0 +1,202 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using System; +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class FirstClassAndFormatValidatorsTests +{ +#pragma warning disable CS0618 // Obsolete attributes used intentionally for coverage + [IsDateTime] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record DateTimeString : SemanticString { } + + [IsDecimal] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record DecimalString : SemanticString { } + + [IsDouble] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record DoubleString : SemanticString { } + + [IsGuid] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record GuidString : SemanticString { } + + [IsInt32] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record Int32String : SemanticString { } + + [IsIpAddress] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record IpString : SemanticString { } + + [IsTimeSpan] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record TimeSpanString : SemanticString { } + + [IsUri] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record UriString : SemanticString { } + + [IsVersion] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record VersionString : SemanticString { } +#pragma warning restore CS0618 + + [HasNonWhitespaceContent] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record NonWhitespace : SemanticString { } + + [IsEmptyOrWhitespace] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record EmptyOrWs : SemanticString { } + + [IsSingleLine] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record SingleLine : SemanticString { } + + [IsMultiLine] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record MultiLine : SemanticString { } + + [TestMethod] + public void DateTime_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + DateTimeString ok = SemanticString.Create("2025-01-02T03:04:05Z"); + Assert.AreEqual("2025-01-02T03:04:05Z", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("not-a-date")); + DateTimeString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Decimal_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + DecimalString ok = SemanticString.Create("123.45"); + Assert.AreEqual("123.45", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("123,45x")); + DecimalString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Double_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + DoubleString ok = SemanticString.Create("1.23"); + Assert.AreEqual("1.23", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("nanx")); + DoubleString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Guid_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + string guid = System.Guid.NewGuid().ToString(); + GuidString ok = SemanticString.Create(guid); + Assert.AreEqual(guid, ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("not-a-guid")); + GuidString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Int32_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + Int32String ok = SemanticString.Create("123"); + Assert.AreEqual("123", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("12.3")); + Int32String empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void IpAddress_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + IpString ok4 = SemanticString.Create("192.168.0.1"); + Assert.AreEqual("192.168.0.1", ok4.WeakString); + IpString ok6 = SemanticString.Create("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); + Assert.AreEqual("2001:0db8:85a3:0000:0000:8a2e:0370:7334", ok6.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("999.999.999.999")); + IpString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void TimeSpan_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + TimeSpanString ok = SemanticString.Create("01:02:03"); + Assert.AreEqual("01:02:03", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("1 day")); + TimeSpanString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Uri_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + UriString ok = SemanticString.Create("https://example.com/path"); + Assert.AreEqual("https://example.com/path", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("/relative")); + UriString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void Version_Valid_Invalid_Empty() + { +#pragma warning disable CS0618 + VersionString ok = SemanticString.Create("1.2.3.4"); + Assert.AreEqual("1.2.3.4", ok.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("v1.2.3")); + VersionString empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); +#pragma warning restore CS0618 + } + + [TestMethod] + public void NonWhitespace_And_EmptyOrWhitespace() + { + NonWhitespace n1 = SemanticString.Create(" a "); + Assert.AreEqual(" a ", n1.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create(" ")); + + EmptyOrWs e1 = SemanticString.Create(" "); + Assert.AreEqual(" ", e1.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("x")); + } + + [TestMethod] + public void SingleLine_And_MultiLine() + { + SingleLine s1 = SemanticString.Create("one line"); + Assert.AreEqual("one line", s1.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("line1\nline2")); + + Assert.ThrowsExactly(() => SemanticString.Create("")); + MultiLine m1 = SemanticString.Create("line1\nline2"); + Assert.AreEqual("line1\nline2", m1.WeakString); + } +} diff --git a/Semantics.Test/LineCountValidatorsTests.cs b/Semantics.Test/LineCountValidatorsTests.cs new file mode 100644 index 0000000..230846b --- /dev/null +++ b/Semantics.Test/LineCountValidatorsTests.cs @@ -0,0 +1,66 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class LineCountValidatorsTests +{ + [HasExactLines(0)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record Exact0 : SemanticString { } + + [HasExactLines(2)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record Exact2 : SemanticString { } + + [HasMinimumLines(2)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record Min2 : SemanticString { } + + [HasMaximumLines(2)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812", Justification = "Used via generic type references")] + private sealed partial record Max2 : SemanticString { } + + [TestMethod] + public void HasExactLines_ZeroAndTwo_WithLfAndCrlf() + { + Exact0 empty = SemanticString.Create(""); + Assert.AreEqual("", empty.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("one line")); + + Exact2 lf = SemanticString.Create("line1\nline2"); + Assert.AreEqual("line1\nline2", lf.WeakString); + Exact2 crlf = SemanticString.Create("line1\r\nline2"); + Assert.AreEqual("line1\r\nline2", crlf.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("only one")); + } + + [TestMethod] + public void HasMinimumLines_Two_WithLfAndCrlf() + { + Assert.ThrowsExactly(() => SemanticString.Create("one")); + Min2 twoLf = SemanticString.Create("1\n2"); + Assert.AreEqual("1\n2", twoLf.WeakString); + Min2 twoCrlf = SemanticString.Create("1\r\n2"); + Assert.AreEqual("1\r\n2", twoCrlf.WeakString); + Min2 three = SemanticString.Create("1\n2\n3"); + Assert.AreEqual("1\n2\n3", three.WeakString); + } + + [TestMethod] + public void HasMaximumLines_Two_WithLfAndCrlf() + { + Max2 one = SemanticString.Create("one"); + Assert.AreEqual("one", one.WeakString); + Max2 two = SemanticString.Create("1\n2"); + Assert.AreEqual("1\n2", two.WeakString); + Assert.ThrowsExactly(() => SemanticString.Create("1\n2\n3")); + Max2 twoCrlf = SemanticString.Create("1\r\n2"); + Assert.AreEqual("1\r\n2", twoCrlf.WeakString); + } +} diff --git a/Semantics.Test/Parallelization.cs b/Semantics.Test/Parallelization.cs new file mode 100644 index 0000000..bd736af --- /dev/null +++ b/Semantics.Test/Parallelization.cs @@ -0,0 +1,5 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] diff --git a/Semantics.Test/PathValidationAttributeTests.cs b/Semantics.Test/PathValidationAttributeTests.cs index 9457081..a41082f 100644 --- a/Semantics.Test/PathValidationAttributeTests.cs +++ b/Semantics.Test/PathValidationAttributeTests.cs @@ -7,6 +7,8 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Strings; using ktsu.Semantics.Paths; using System; +using ktsu.Semantics.Paths; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] @@ -326,6 +328,86 @@ public void IsFileNameAttribute_FileNameWithValidSpecialChars_ShouldPass() // Act & Assert Assert.IsTrue(specialCharsName.IsValid()); } + + [TestMethod] + public void IsValidDirectoryNameAttribute_ValidDirectoryName_ShouldPass() + { + // Arrange + TestDirectoryName validName = TestDirectoryName.Create("MyFolder"); + + // Act & Assert + Assert.IsTrue(validName.IsValid()); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithSpaces_ShouldPass() + { + // Arrange + TestDirectoryName nameWithSpaces = TestDirectoryName.Create("My Folder Name"); + + // Act & Assert + Assert.IsTrue(nameWithSpaces.IsValid()); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithValidSpecialChars_ShouldPass() + { + // Arrange - using valid special chars + TestDirectoryName specialCharsName = TestDirectoryName.Create("valid-folder_name (1)"); + + // Act & Assert + Assert.IsTrue(specialCharsName.IsValid()); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_EmptyDirectoryName_ShouldPass() + { + // Arrange + TestDirectoryName emptyName = TestDirectoryName.Create(""); + + // Act & Assert + Assert.IsTrue(emptyName.IsValid()); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithPathSeparator_ShouldFail() + { + // Arrange & Act & Assert - directory names shouldn't contain path separators + Assert.ThrowsExactly(() => + TestDirectoryName.Create("folder\\subfolder")); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithForwardSlash_ShouldFail() + { + // Arrange & Act & Assert - directory names shouldn't contain forward slashes + Assert.ThrowsExactly(() => + TestDirectoryName.Create("folder/subfolder")); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithInvalidChars_ShouldFail() + { + // Arrange & Act & Assert - test with invalid filename characters + Assert.ThrowsExactly(() => + TestDirectoryName.Create("invalid<>name")); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithColon_ShouldFail() + { + // Arrange & Act & Assert - colon is invalid in directory names (except drive letters) + Assert.ThrowsExactly(() => + TestDirectoryName.Create("invalid:name")); + } + + [TestMethod] + public void IsValidDirectoryNameAttribute_DirectoryNameWithPipe_ShouldFail() + { + // Arrange & Act & Assert - pipe is an invalid character + Assert.ThrowsExactly(() => + TestDirectoryName.Create("invalid|name")); + } } // Test record types for validation attribute testing @@ -350,5 +432,8 @@ public record TestFilePath : SemanticString { } [DoesExist] public record TestExistingPath : SemanticString { } -[IsExtension] +[IsFileExtension] public record TestExtension : SemanticString { } + +[IsDirectoryName] +public record TestDirectoryName : SemanticString { } diff --git a/Semantics.Test/Paths/DirectoryNameTests.cs b/Semantics.Test/Paths/DirectoryNameTests.cs new file mode 100644 index 0000000..4e871c2 --- /dev/null +++ b/Semantics.Test/Paths/DirectoryNameTests.cs @@ -0,0 +1,270 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test.Paths; + +using System.Collections.Generic; +using ktsu.Semantics.Paths; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public class DirectoryNameTests +{ + [TestMethod] + public void DirectoryName_Create_WithValidName_Succeeds() + { + // Test creating DirectoryName with valid name + DirectoryName name = DirectoryName.Create("MyFolder"); + + Assert.IsNotNull(name); + Assert.AreEqual("MyFolder", name.WeakString); + } + + [TestMethod] + public void DirectoryName_Create_WithSpaces_Succeeds() + { + // Test creating DirectoryName with spaces + DirectoryName name = DirectoryName.Create("My Folder Name"); + + Assert.IsNotNull(name); + Assert.AreEqual("My Folder Name", name.WeakString); + } + + [TestMethod] + public void DirectoryName_Create_WithSpecialCharacters_Succeeds() + { + // Test creating DirectoryName with valid special characters + DirectoryName name = DirectoryName.Create("folder-name_v2 (beta)"); + + Assert.IsNotNull(name); + Assert.AreEqual("folder-name_v2 (beta)", name.WeakString); + } + + [TestMethod] + public void DirectoryName_Create_WithPathSeparator_ThrowsException() + { + // Test that DirectoryName rejects path separators + Assert.ThrowsExactly(() => + DirectoryName.Create("folder\\subfolder")); + } + + [TestMethod] + public void DirectoryName_Create_WithForwardSlash_ThrowsException() + { + // Test that DirectoryName rejects forward slashes + Assert.ThrowsExactly(() => + DirectoryName.Create("folder/subfolder")); + } + + [TestMethod] + public void DirectoryName_Create_WithInvalidCharacters_ThrowsException() + { + // Test that DirectoryName rejects invalid filename characters + Assert.ThrowsExactly(() => + DirectoryName.Create("invalid<>name")); + + Assert.ThrowsExactly(() => + DirectoryName.Create("invalid:name")); + + Assert.ThrowsExactly(() => + DirectoryName.Create("invalid|name")); + + Assert.ThrowsExactly(() => + DirectoryName.Create("invalid\"name")); + } + + [TestMethod] + public void DirectoryName_Create_WithEmptyString_Succeeds() + { + // Test that empty DirectoryName is valid + DirectoryName name = DirectoryName.Create(""); + + Assert.IsNotNull(name); + Assert.AreEqual("", name.WeakString); + } + + [TestMethod] + public void DirectoryName_TryCreate_WithValidName_ReturnsTrue() + { + // Test TryCreate with valid directory name + bool success = DirectoryName.TryCreate("ValidFolder", out DirectoryName? result); + + Assert.IsTrue(success, "TryCreate should return true for a valid directory name"); + Assert.IsNotNull(result); + Assert.AreEqual("ValidFolder", result.WeakString); + } + + [TestMethod] + public void DirectoryName_TryCreate_WithInvalidName_ReturnsFalse() + { + // Test TryCreate with invalid directory name + bool success = DirectoryName.TryCreate("invalid\\name", out DirectoryName? result); + + Assert.IsFalse(success, "TryCreate should return false for a directory name containing a path separator"); + Assert.IsNull(result); + } + + [TestMethod] + public void DirectoryName_ExplicitCast_FromString_WorksCorrectly() + { + // Test explicit cast from string + DirectoryName name = DirectoryName.Create("MyFolder"); + + Assert.IsNotNull(name); + Assert.AreEqual("MyFolder", name.WeakString); + } + + [TestMethod] + public void DirectoryName_ImplementsIDirectoryName_Interface() + { + // Test that DirectoryName implements IDirectoryName + DirectoryName name = DirectoryName.Create("TestFolder"); + IDirectoryName interfaceReference = name; + + Assert.IsNotNull(interfaceReference); + Assert.IsInstanceOfType(name); + } + + [TestMethod] + public void DirectoryName_ImplementsISemanticString_Interface() + { + // Test that DirectoryName implements ISemanticString + DirectoryName name = DirectoryName.Create("TestFolder"); + DirectoryName interfaceReference = name; + + Assert.IsNotNull(interfaceReference); + Assert.AreEqual("TestFolder", interfaceReference.WeakString); + } + + [TestMethod] + public void DirectoryName_Equality_WorksCorrectly() + { + // Test equality comparison + DirectoryName name1 = DirectoryName.Create("MyFolder"); + DirectoryName name2 = DirectoryName.Create("MyFolder"); + DirectoryName name3 = DirectoryName.Create("OtherFolder"); + + Assert.AreEqual(name1, name2); + Assert.AreNotEqual(name1, name3); + } + + [TestMethod] + public void DirectoryName_GetHashCode_ConsistentForEqualValues() + { + // Test that hash codes are consistent + DirectoryName name1 = DirectoryName.Create("MyFolder"); + DirectoryName name2 = DirectoryName.Create("MyFolder"); + + Assert.AreEqual(name1.GetHashCode(), name2.GetHashCode()); + } + + [TestMethod] + public void DirectoryName_ToString_ReturnsWeakString() + { + // Test ToString method + DirectoryName name = DirectoryName.Create("MyFolder"); + + string result = name.ToString(); + + Assert.AreEqual("MyFolder", result); + } + + [TestMethod] + public void DirectoryName_UsedInDictionary_WorksCorrectly() + { + // Test that DirectoryName can be used as dictionary key + Dictionary dict = []; + DirectoryName key = DirectoryName.Create("MyFolder"); + + dict[key] = "some value"; + + Assert.AreEqual("some value", dict[key]); + Assert.IsTrue(dict.ContainsKey(DirectoryName.Create("MyFolder")), "Dictionary should contain the DirectoryName key with equal value"); + } + + [TestMethod] + public void DirectoryName_CombineWithAbsoluteDirectoryPath_CreatesValidPath() + { + // Test combining DirectoryName with AbsoluteDirectoryPath + AbsoluteDirectoryPath basePath = AbsoluteDirectoryPath.Create(@"C:\projects"); + DirectoryName subDir = DirectoryName.Create("myapp"); + + AbsoluteDirectoryPath result = basePath / subDir; + + Assert.IsNotNull(result); + Assert.Contains("myapp", result.WeakString); + } + + [TestMethod] + public void DirectoryName_CombineWithDirectoryPath_CreatesValidPath() + { + // Test combining DirectoryName with DirectoryPath + DirectoryPath basePath = DirectoryPath.Create("projects"); + DirectoryName subDir = DirectoryName.Create("myapp"); + + DirectoryPath result = basePath / subDir; + + Assert.IsNotNull(result); + Assert.Contains("myapp", result.WeakString); + } + + [TestMethod] + public void DirectoryName_MultipleInChain_CreatesDeepPath() + { + // Test chaining multiple DirectoryName combinations + DirectoryPath basePath = DirectoryPath.Create("root"); + DirectoryName dir1 = DirectoryName.Create("level1"); + DirectoryName dir2 = DirectoryName.Create("level2"); + DirectoryName dir3 = DirectoryName.Create("level3"); + + DirectoryPath result = basePath / dir1 / dir2 / dir3; + + Assert.IsNotNull(result); + Assert.Contains("root", result.WeakString); + Assert.Contains("level1", result.WeakString); + Assert.Contains("level2", result.WeakString); + Assert.Contains("level3", result.WeakString); + } + + [TestMethod] + public void DirectoryName_WithUnicodeCharacters_WorksCorrectly() + { + // Test DirectoryName with Unicode characters + DirectoryName name = DirectoryName.Create("文件夹名称"); + + Assert.IsNotNull(name); + Assert.AreEqual("文件夹名称", name.WeakString); + } + + [TestMethod] + public void DirectoryName_WithNumbers_WorksCorrectly() + { + // Test DirectoryName with numbers + DirectoryName name = DirectoryName.Create("folder123"); + + Assert.IsNotNull(name); + Assert.AreEqual("folder123", name.WeakString); + } + + [TestMethod] + public void DirectoryName_WithDots_WorksCorrectly() + { + // Test DirectoryName with dots (but not as path traversal) + DirectoryName name = DirectoryName.Create("my.folder.name"); + + Assert.IsNotNull(name); + Assert.AreEqual("my.folder.name", name.WeakString); + } + + [TestMethod] + public void DirectoryName_IsValid_WithValidName_ReturnsTrue() + { + // Test IsValid method with valid name + DirectoryName name = DirectoryName.Create("ValidFolder"); + + bool isValid = name.IsValid(); + + Assert.IsTrue(isValid, "IsValid should return true for a valid DirectoryName"); + } +} diff --git a/Semantics.Test/Paths/PathConversionTests.cs b/Semantics.Test/Paths/PathConversionTests.cs index 139ffce..4447ba1 100644 --- a/Semantics.Test/Paths/PathConversionTests.cs +++ b/Semantics.Test/Paths/PathConversionTests.cs @@ -4,7 +4,6 @@ namespace ktsu.Semantics.Test.Paths; -using System; using System.IO; using ktsu.Semantics.Paths; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -42,24 +41,16 @@ public void AsRelative_WithNullBaseDirectory_ThrowsArgumentNullException() public void AsAbsolute_WithCurrentWorkingDirectory_WorksCorrectly() { // Test AsAbsolute() without base directory (uses current working directory) - RelativeFilePath relativeFile = RelativeFilePath.Create("test.txt"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create("test"); FilePath genericFile = FilePath.Create("test.txt"); DirectoryPath genericDir = DirectoryPath.Create("test"); - AbsoluteFilePath absoluteFile1 = relativeFile.AsAbsolute(); - AbsoluteDirectoryPath absoluteDir1 = relativeDir.AsAbsolute(); AbsoluteFilePath absoluteFile2 = genericFile.AsAbsolute(); AbsoluteDirectoryPath absoluteDir2 = genericDir.AsAbsolute(); - Assert.IsNotNull(absoluteFile1); - Assert.IsNotNull(absoluteDir1); Assert.IsNotNull(absoluteFile2); Assert.IsNotNull(absoluteDir2); // Should be fully qualified paths - Assert.IsTrue(Path.IsPathFullyQualified(absoluteFile1.WeakString)); - Assert.IsTrue(Path.IsPathFullyQualified(absoluteDir1.WeakString)); Assert.IsTrue(Path.IsPathFullyQualified(absoluteFile2.WeakString)); Assert.IsTrue(Path.IsPathFullyQualified(absoluteDir2.WeakString)); } @@ -77,10 +68,10 @@ public void AsAbsolute_WithSpecificBaseDirectory_WorksCorrectly() Assert.IsNotNull(absoluteFile); Assert.IsNotNull(absoluteDir); - Assert.IsTrue(absoluteFile.WeakString.Contains(@"C:\projects")); - Assert.IsTrue(absoluteFile.WeakString.Contains(@"app\src\file.ts")); - Assert.IsTrue(absoluteDir.WeakString.Contains(@"C:\projects")); - Assert.IsTrue(absoluteDir.WeakString.Contains(@"app\src")); + Assert.Contains(@"C:\projects", absoluteFile.WeakString); + Assert.Contains(@"app\src\file.ts", absoluteFile.WeakString); + Assert.Contains(@"C:\projects", absoluteDir.WeakString); + Assert.Contains(@"app\src", absoluteDir.WeakString); } [TestMethod] @@ -96,9 +87,9 @@ public void AsRelative_WithSpecificBaseDirectory_WorksCorrectly() Assert.IsNotNull(relativeFile); Assert.IsNotNull(relativeDir); - Assert.IsTrue(relativeFile.WeakString.Contains("app")); - Assert.IsTrue(relativeFile.WeakString.Contains("file.ts")); - Assert.IsTrue(relativeDir.WeakString.Contains("app")); + Assert.Contains("app", relativeFile.WeakString); + Assert.Contains("file.ts", relativeFile.WeakString); + Assert.Contains("app", relativeDir.WeakString); } [TestMethod] @@ -163,9 +154,9 @@ public void PathConversion_RoundTrip_PreservesEquivalence() // Should be equivalent (though not necessarily identical due to normalization) Assert.IsNotNull(roundTripFile); Assert.IsNotNull(roundTripDir); - Assert.IsTrue(roundTripFile.WeakString.Contains("app")); - Assert.IsTrue(roundTripFile.WeakString.Contains("file.txt")); - Assert.IsTrue(roundTripDir.WeakString.Contains("app")); + Assert.Contains("app", roundTripFile.WeakString); + Assert.Contains("file.txt", roundTripFile.WeakString); + Assert.Contains("app", roundTripDir.WeakString); } [TestMethod] @@ -196,9 +187,9 @@ public void PathConversion_CrossPlatformPaths_HandlesCorrectly() Assert.IsNotNull(absoluteFile); Assert.IsNotNull(absoluteDir); - Assert.IsTrue(absoluteFile.WeakString.Contains("app")); - Assert.IsTrue(absoluteFile.WeakString.Contains("file.js")); - Assert.IsTrue(absoluteDir.WeakString.Contains("app")); + Assert.Contains("app", absoluteFile.WeakString); + Assert.Contains("file.js", absoluteFile.WeakString); + Assert.Contains("app", absoluteDir.WeakString); } [TestMethod] @@ -208,32 +199,24 @@ public void AsAbsolute_ReturnsCorrectConcreteTypes() AbsolutePath absolutePath = AbsolutePath.Create(@"C:\test"); RelativePath relativePath = RelativePath.Create("test"); AbsoluteFilePath absoluteFile = AbsoluteFilePath.Create(@"C:\test\file.txt"); - RelativeFilePath relativeFile = RelativeFilePath.Create("file.txt"); AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\test"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create("test"); // Test AsAbsolute methods AbsolutePath result1 = absolutePath.AsAbsolute(); AbsolutePath result2 = relativePath.AsAbsolute(); AbsoluteFilePath result3 = absoluteFile.AsAbsolute(); - AbsoluteFilePath result4 = relativeFile.AsAbsolute(); AbsoluteDirectoryPath result5 = absoluteDir.AsAbsolute(); - AbsoluteDirectoryPath result6 = relativeDir.AsAbsolute(); // Verify correct types are returned Assert.IsInstanceOfType(result1); Assert.IsInstanceOfType(result2); Assert.IsInstanceOfType(result3); - Assert.IsInstanceOfType(result4); Assert.IsInstanceOfType(result5); - Assert.IsInstanceOfType(result6); // Verify they're not null and valid Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.IsNotNull(result3); - Assert.IsNotNull(result4); Assert.IsNotNull(result5); - Assert.IsNotNull(result6); } } diff --git a/Semantics.Test/Paths/PathIntegrationTests.cs b/Semantics.Test/Paths/PathIntegrationTests.cs new file mode 100644 index 0000000..9c178ad --- /dev/null +++ b/Semantics.Test/Paths/PathIntegrationTests.cs @@ -0,0 +1,289 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test.Paths; + +using System.Collections.Generic; +using ktsu.Semantics.Paths; +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public class PathIntegrationTests +{ + [TestMethod] + public void MixedPathTypes_InCollection_WorkCorrectly() + { + // Test that different path types can coexist in polymorphic collections + List paths = + [ + AbsoluteDirectoryPath.Create(@"C:\projects"), + AbsoluteFilePath.Create(@"C:\file.txt"), + RelativeDirectoryPath.Create("subfolder"), + RelativeFilePath.Create("file.txt"), + DirectoryPath.Create("any"), + FilePath.Create("any.txt") + ]; + + Assert.HasCount(6, paths); + foreach (IPath path in paths) + { + Assert.IsNotNull(path); + // All created paths are valid by construction + } + } + + [TestMethod] + public void DirectoryNames_InCollection_WorkCorrectly() + { + // Test DirectoryName in collections + List names = + [ + DirectoryName.Create("folder1"), + DirectoryName.Create("folder2"), + DirectoryName.Create("folder3") + ]; + + Assert.HasCount(3, names); + Assert.Contains(DirectoryName.Create("folder1"), names); + } + + [TestMethod] + public void DirectoryNames_AsSet_WorkCorrectly() + { + // Test DirectoryName in HashSet + HashSet uniqueNames = + [ + DirectoryName.Create("folder1"), + DirectoryName.Create("folder2"), + DirectoryName.Create("folder1") // Duplicate + ]; + + Assert.HasCount(2, uniqueNames); // Duplicate should be ignored + } + + [TestMethod] + public void ComplexPathConstruction_WithAllTypes_WorksCorrectly() + { + // Test complex path construction scenario + AbsoluteDirectoryPath root = AbsoluteDirectoryPath.Create(@"C:\projects"); + DirectoryName appDir = DirectoryName.Create("myapp"); + DirectoryName srcDir = DirectoryName.Create("src"); + FileName componentFile = FileName.Create("Component.tsx"); + + // Build path step by step + AbsoluteDirectoryPath appPath = root / appDir; + AbsoluteDirectoryPath srcPath = appPath / srcDir; + AbsoluteFilePath filePath = srcPath / componentFile; + + Assert.IsNotNull(filePath); + Assert.Contains(@"C:\projects", filePath.WeakString); + Assert.Contains("myapp", filePath.WeakString); + Assert.Contains("src", filePath.WeakString); + Assert.Contains("Component.tsx", filePath.WeakString); + } + + [TestMethod] + public void RelativeToAbsolute_RoundTrip_WorksCorrectly() + { + // Test converting between relative and absolute paths + RelativeDirectoryPath relative = RelativeDirectoryPath.Create("projects"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\work"); + + // Convert to absolute with specific base + AbsoluteDirectoryPath absolute = relative.AsAbsolute(baseDir); + + Assert.IsNotNull(absolute); + Assert.Contains(@"C:\work", absolute.WeakString); + Assert.Contains("projects", absolute.WeakString); + } + + [TestMethod] + public void AbsoluteToRelative_RoundTrip_WorksCorrectly() + { + // Test converting from absolute to relative paths + AbsoluteDirectoryPath absolute = AbsoluteDirectoryPath.Create(@"C:\work\projects"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\work"); + + // Convert to relative + RelativeDirectoryPath relative = absolute.AsRelative(baseDir); + + Assert.IsNotNull(relative); + Assert.Contains("projects", relative.WeakString); + Assert.DoesNotContain(@"C:\work", relative.WeakString); + } + + [TestMethod] + public void PathHierarchy_ParentTraversal_WorksCorrectly() + { + // Test traversing up the directory hierarchy + RelativeDirectoryPath deep = RelativeDirectoryPath.Create(@"a\b\c\d"); + + RelativeDirectoryPath parent1 = deep.Parent; + RelativeDirectoryPath parent2 = parent1.Parent; + RelativeDirectoryPath parent3 = parent2.Parent; + RelativeDirectoryPath parent4 = parent3.Parent; + + Assert.Contains("c", parent1.WeakString); + Assert.Contains("b", parent2.WeakString); + Assert.AreEqual("a", parent3.WeakString); + Assert.AreEqual("", parent4.WeakString); // Should be empty at root + } + + [TestMethod] + public void PathNormalization_WithDotComponents_ResolvesCorrectly() + { + // Test path normalization with . and .. components + RelativeDirectoryPath pathWithDots = RelativeDirectoryPath.Create(@"a\.\b\..\c"); + + RelativeDirectoryPath normalized = pathWithDots.Normalize(); + + Assert.IsNotNull(normalized); + // After normalization, . and .. should be resolved + // a\.\b\..\c -> a\c + Assert.Contains("a", normalized.WeakString); + Assert.Contains("c", normalized.WeakString); + } + + [TestMethod] + public void PathNormalization_WithParentTraversal_ResolvesCorrectly() + { + // Test path normalization with parent directory traversal + RelativeDirectoryPath path = RelativeDirectoryPath.Create(@"a\b\..\..\c"); + + RelativeDirectoryPath normalized = path.Normalize(); + + Assert.IsNotNull(normalized); + // a\b\..\..\c -> c + Assert.AreEqual("c", normalized.WeakString); + } + + [TestMethod] + public void FilePathExtensions_MultipleOperations_WorkCorrectly() + { + // Test multiple extension operations on same file + RelativeFilePath original = RelativeFilePath.Create("document.txt"); + FileExtension mdExt = FileExtension.Create(".md"); + FileExtension pdfExt = FileExtension.Create(".pdf"); + + RelativeFilePath md = original.ChangeExtension(mdExt); + RelativeFilePath pdf = md.ChangeExtension(pdfExt); + RelativeFilePath noExt = pdf.RemoveExtension(); + + Assert.Contains(".md", md.WeakString); + Assert.Contains(".pdf", pdf.WeakString); + Assert.DoesNotContain(".pdf", noExt.WeakString); + Assert.Contains("document", noExt.WeakString); + } + + [TestMethod] + public void DirectoryDepth_Comparison_WorksCorrectly() + { + // Test comparing depths of different paths + RelativeDirectoryPath shallow = RelativeDirectoryPath.Create("a"); + RelativeDirectoryPath medium = RelativeDirectoryPath.Create(@"a\b"); + RelativeDirectoryPath deep = RelativeDirectoryPath.Create(@"a\b\c"); + + Assert.IsLessThan(medium.Depth, shallow.Depth); + Assert.IsLessThan(deep.Depth, medium.Depth); + Assert.AreEqual(0, shallow.Depth); + Assert.AreEqual(1, medium.Depth); + Assert.AreEqual(2, deep.Depth); + } + + [TestMethod] + public void InterfaceBasedPathOperations_WorkPolymorphically() + { + // Test that interface-based operations work polymorphically + IDirectoryPath dir1 = AbsoluteDirectoryPath.Create(@"C:\test"); + IDirectoryPath dir2 = RelativeDirectoryPath.Create("test"); + IDirectoryPath dir3 = DirectoryPath.Create("test"); + + IPath[] paths = [dir1, dir2, dir3]; + + foreach (IPath path in paths) + { + Assert.IsNotNull(path); + ISemanticString semanticPath = (ISemanticString)path; + Assert.IsNotNull(semanticPath.WeakString); + // All paths are valid by construction + } + } + + [TestMethod] + public void CombiningDirectoryNames_BuildsDeepHierarchy() + { + // Test building deep directory hierarchies with DirectoryName + DirectoryPath root = DirectoryPath.Create("root"); + DirectoryName[] levels = + [ + DirectoryName.Create("level1"), + DirectoryName.Create("level2"), + DirectoryName.Create("level3"), + DirectoryName.Create("level4"), + DirectoryName.Create("level5") + ]; + + DirectoryPath current = root; + foreach (DirectoryName level in levels) + { + current /= level; + } + + // Verify all levels are in the final path + Assert.Contains("root", current.WeakString); + Assert.Contains("level1", current.WeakString); + Assert.Contains("level2", current.WeakString); + Assert.Contains("level3", current.WeakString); + Assert.Contains("level4", current.WeakString); + Assert.Contains("level5", current.WeakString); + } + + [TestMethod] + public void EmptyPaths_HandleCorrectly() + { + // Test that empty paths are handled correctly + DirectoryPath emptyDir = DirectoryPath.Create(""); + FilePath emptyFile = FilePath.Create(""); + DirectoryName emptyName = DirectoryName.Create(""); + FileName emptyFileName = FileName.Create(""); + + Assert.AreEqual("", emptyDir.WeakString); + Assert.AreEqual("", emptyFile.WeakString); + Assert.AreEqual("", emptyName.WeakString); + Assert.AreEqual("", emptyFileName.WeakString); + } + + [TestMethod] + public void RelativePaths_WithDotDot_AreValid() + { + // Test that relative paths with .. components are valid + RelativeDirectoryPath parentRef = RelativeDirectoryPath.Create(".."); + RelativeDirectoryPath multiParent = RelativeDirectoryPath.Create(@"..\..\.."); + RelativeFilePath fileInParent = RelativeFilePath.Create(@"..\file.txt"); + + Assert.IsNotNull(parentRef); + Assert.IsNotNull(multiParent); + Assert.IsNotNull(fileInParent); + Assert.IsTrue(parentRef.IsValid()); + Assert.IsTrue(multiParent.IsValid()); + Assert.IsTrue(fileInParent.IsValid()); + } + + [TestMethod] + public void RelativePaths_WithDot_AreValid() + { + // Test that relative paths with . components are valid + RelativeDirectoryPath currentRef = RelativeDirectoryPath.Create("."); + RelativeDirectoryPath withCurrent = RelativeDirectoryPath.Create(@".\subfolder"); + RelativeFilePath fileInCurrent = RelativeFilePath.Create(@".\file.txt"); + + Assert.IsNotNull(currentRef); + Assert.IsNotNull(withCurrent); + Assert.IsNotNull(fileInCurrent); + Assert.IsTrue(currentRef.IsValid()); + Assert.IsTrue(withCurrent.IsValid()); + Assert.IsTrue(fileInCurrent.IsValid()); + } +} diff --git a/Semantics.Test/Paths/PathOperatorTests.cs b/Semantics.Test/Paths/PathOperatorTests.cs index d22b131..6c60c16 100644 --- a/Semantics.Test/Paths/PathOperatorTests.cs +++ b/Semantics.Test/Paths/PathOperatorTests.cs @@ -16,36 +16,18 @@ public void PathOperators_NullArguments_ThrowArgumentNullException() { // Test all path combination operators with null arguments AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\test"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create(@"test"); DirectoryPath genericDir = DirectoryPath.Create(@"test"); - RelativeDirectoryPath nullRelativeDir = null!; - RelativeFilePath nullRelativeFile = null!; FileName nullFileName = null!; // AbsoluteDirectoryPath operators - Assert.ThrowsExactly(() => absoluteDir / nullRelativeDir); - Assert.ThrowsExactly(() => absoluteDir / nullRelativeFile); Assert.ThrowsExactly(() => absoluteDir / nullFileName); - AbsoluteDirectoryPath nullAbsoluteDir = null!; - Assert.ThrowsExactly(() => nullAbsoluteDir / relativeDir); - - // RelativeDirectoryPath operators - Assert.ThrowsExactly(() => relativeDir / nullRelativeDir); - Assert.ThrowsExactly(() => relativeDir / nullRelativeFile); - Assert.ThrowsExactly(() => relativeDir / nullFileName); - - RelativeDirectoryPath nullRelativeDir2 = null!; - Assert.ThrowsExactly(() => nullRelativeDir2 / relativeDir); - // DirectoryPath operators - Assert.ThrowsExactly(() => genericDir / nullRelativeDir); - Assert.ThrowsExactly(() => genericDir / nullRelativeFile); Assert.ThrowsExactly(() => genericDir / nullFileName); DirectoryPath nullGenericDir = null!; - Assert.ThrowsExactly(() => nullGenericDir / relativeDir); + Assert.ThrowsExactly(() => nullGenericDir / nullFileName); } [TestMethod] @@ -53,20 +35,22 @@ public void PathOperators_ComplexCombinations_WorkCorrectly() { // Test complex path combinations AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\projects"); - RelativeDirectoryPath subDir1 = RelativeDirectoryPath.Create(@"app\src"); - RelativeDirectoryPath subDir2 = RelativeDirectoryPath.Create(@"components"); + DirectoryPath subDir1 = DirectoryPath.Create(@"app\src"); + DirectoryPath subDir2 = DirectoryPath.Create(@"components"); FileName fileName = FileName.Create("Component.tsx"); - // Chain multiple operations - AbsoluteDirectoryPath combinedDir = baseDir / subDir1 / subDir2; + // Chain multiple operations - combine paths using Path.Combine + AbsoluteDirectoryPath combinedDir = AbsoluteDirectoryPath.Create( + Path.Combine(baseDir.WeakString, subDir1.WeakString, subDir2.WeakString)); AbsoluteFilePath finalFile = combinedDir / fileName; Assert.IsNotNull(combinedDir); Assert.IsNotNull(finalFile); - Assert.IsTrue(finalFile.WeakString.Contains(@"C:\projects")); - Assert.IsTrue(finalFile.WeakString.Contains(@"app\src")); - Assert.IsTrue(finalFile.WeakString.Contains(@"components")); - Assert.IsTrue(finalFile.WeakString.Contains("Component.tsx")); + Assert.Contains(@"C:\projects", finalFile.WeakString); + Assert.Contains(@"app", finalFile.WeakString); + Assert.Contains(@"src", finalFile.WeakString); + Assert.Contains(@"components", finalFile.WeakString); + Assert.Contains("Component.tsx", finalFile.WeakString); } [TestMethod] @@ -74,17 +58,11 @@ public void PathOperators_EmptyPaths_HandleCorrectly() { // Test operators with empty paths AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\test"); - RelativeDirectoryPath emptyRelativeDir = RelativeDirectoryPath.Create(""); - RelativeFilePath emptyRelativeFile = RelativeFilePath.Create(""); FileName emptyFileName = FileName.Create(""); // These should work without throwing - AbsoluteDirectoryPath result1 = absoluteDir / emptyRelativeDir; - AbsoluteFilePath result2 = absoluteDir / emptyRelativeFile; AbsoluteFilePath result3 = absoluteDir / emptyFileName; - Assert.IsNotNull(result1); - Assert.IsNotNull(result2); Assert.IsNotNull(result3); } @@ -93,17 +71,18 @@ public void PathOperators_SpecialCharacters_HandleCorrectly() { // Test with paths containing special characters AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\test folder"); - RelativeDirectoryPath specialDir = RelativeDirectoryPath.Create(@"sub folder (1)"); + DirectoryPath specialDir = DirectoryPath.Create(@"sub folder (1)"); FileName specialFile = FileName.Create("file name with spaces.txt"); - AbsoluteDirectoryPath combinedDir = baseDir / specialDir; + AbsoluteDirectoryPath combinedDir = AbsoluteDirectoryPath.Create( + Path.Combine(baseDir.WeakString, specialDir.WeakString)); AbsoluteFilePath combinedFile = combinedDir / specialFile; Assert.IsNotNull(combinedDir); Assert.IsNotNull(combinedFile); - Assert.IsTrue(combinedFile.WeakString.Contains("test folder")); - Assert.IsTrue(combinedFile.WeakString.Contains("sub folder (1)")); - Assert.IsTrue(combinedFile.WeakString.Contains("file name with spaces.txt")); + Assert.Contains("test folder", combinedFile.WeakString); + Assert.Contains("sub folder (1)", combinedFile.WeakString); + Assert.Contains("file name with spaces.txt", combinedFile.WeakString); } [TestMethod] @@ -111,35 +90,17 @@ public void PathOperators_ReturnTypes_AreCorrect() { // Verify that operators return the correct types AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\test"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create(@"sub"); DirectoryPath genericDir = DirectoryPath.Create(@"test"); - RelativeFilePath relativeFile = RelativeFilePath.Create(@"file.txt"); FileName fileName = FileName.Create("file.txt"); // AbsoluteDirectoryPath combinations - AbsoluteDirectoryPath absDir = absoluteDir / relativeDir; - AbsoluteFilePath absFile1 = absoluteDir / relativeFile; AbsoluteFilePath absFile2 = absoluteDir / fileName; - // RelativeDirectoryPath combinations - RelativeDirectoryPath relDir = relativeDir / relativeDir; - RelativeFilePath relFile1 = relativeDir / relativeFile; - RelativeFilePath relFile2 = relativeDir / fileName; - // DirectoryPath combinations - DirectoryPath genDir = genericDir / relativeDir; - FilePath genFile1 = genericDir / relativeFile; FilePath genFile2 = genericDir / fileName; // Verify types - Assert.IsInstanceOfType(absDir); - Assert.IsInstanceOfType(absFile1); Assert.IsInstanceOfType(absFile2); - Assert.IsInstanceOfType(relDir); - Assert.IsInstanceOfType(relFile1); - Assert.IsInstanceOfType(relFile2); - Assert.IsInstanceOfType(genDir); - Assert.IsInstanceOfType(genFile1); Assert.IsInstanceOfType(genFile2); } @@ -182,4 +143,79 @@ public void PathOperators_CrossPlatformSeparators_HandleCorrectly() Assert.IsTrue(combinedDir.IsValid()); Assert.IsTrue(combinedFile.IsValid()); } + + [TestMethod] + public void DirectoryNameOperator_WithAbsoluteDirectoryPath_CreatesCorrectPath() + { + // Test combining AbsoluteDirectoryPath with DirectoryName + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\projects"); + DirectoryName subDir = DirectoryName.Create("myapp"); + + AbsoluteDirectoryPath result = baseDir / subDir; + + Assert.IsNotNull(result); + Assert.IsTrue(result.IsValid()); + Assert.Contains(@"C:\projects", result.WeakString); + Assert.Contains("myapp", result.WeakString); + } + + [TestMethod] + public void DirectoryNameOperator_WithDirectoryPath_CreatesCorrectPath() + { + // Test combining DirectoryPath with DirectoryName + DirectoryPath baseDir = DirectoryPath.Create(@"projects"); + DirectoryName subDir = DirectoryName.Create("myapp"); + + DirectoryPath result = baseDir / subDir; + + Assert.IsNotNull(result); + Assert.IsTrue(result.IsValid()); + Assert.Contains("projects", result.WeakString); + Assert.Contains("myapp", result.WeakString); + } + + [TestMethod] + public void DirectoryNameOperator_ChainedCombinations_WorkCorrectly() + { + // Test chaining multiple DirectoryName combinations + DirectoryPath baseDir = DirectoryPath.Create(@"projects"); + DirectoryName dir1 = DirectoryName.Create("app"); + DirectoryName dir2 = DirectoryName.Create("src"); + DirectoryName dir3 = DirectoryName.Create("components"); + + DirectoryPath result = baseDir / dir1 / dir2 / dir3; + + Assert.IsNotNull(result); + Assert.IsTrue(result.IsValid()); + Assert.Contains("projects", result.WeakString); + Assert.Contains("app", result.WeakString); + Assert.Contains("src", result.WeakString); + Assert.Contains("components", result.WeakString); + } + + [TestMethod] + public void DirectoryNameOperator_WithNullDirectoryName_ThrowsArgumentNullException() + { + // Test null safety for DirectoryName operators + AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\test"); + DirectoryPath genericDir = DirectoryPath.Create(@"test"); + DirectoryName nullDirName = null!; + + Assert.ThrowsExactly(() => absoluteDir / nullDirName); + Assert.ThrowsExactly(() => genericDir / nullDirName); + } + + [TestMethod] + public void DirectoryNameOperator_WithSpecialCharacters_HandlesCorrectly() + { + // Test DirectoryName with valid special characters + DirectoryPath baseDir = DirectoryPath.Create(@"projects"); + DirectoryName specialDir = DirectoryName.Create("my-app_v2 (beta)"); + + DirectoryPath result = baseDir / specialDir; + + Assert.IsNotNull(result); + Assert.IsTrue(result.IsValid()); + Assert.Contains("my-app_v2 (beta)", result.WeakString); + } } diff --git a/Semantics.Test/Paths/PathUtilityTests.cs b/Semantics.Test/Paths/PathUtilityTests.cs index 86b5496..e97b1ee 100644 --- a/Semantics.Test/Paths/PathUtilityTests.cs +++ b/Semantics.Test/Paths/PathUtilityTests.cs @@ -5,7 +5,6 @@ namespace ktsu.Semantics.Test.Paths; using System; -using System.IO; using ktsu.Semantics.Paths; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -21,7 +20,7 @@ public void IsChildOf_WithValidChildPath_ReturnsTrue() bool result = child.IsChildOf(parent); - Assert.IsTrue(result); + Assert.IsTrue(result, "Child path should be recognized as a child of its parent directory"); } [TestMethod] @@ -33,7 +32,7 @@ public void IsChildOf_WithSamePath_ReturnsFalse() bool result = path1.IsChildOf(path2); - Assert.IsFalse(result); + Assert.IsFalse(result, "A path should not be considered a child of itself"); } [TestMethod] @@ -45,7 +44,7 @@ public void IsChildOf_WithNonChildPath_ReturnsFalse() bool result = path1.IsChildOf(path2); - Assert.IsFalse(result); + Assert.IsFalse(result, "Unrelated paths should not have a parent-child relationship"); } [TestMethod] @@ -57,7 +56,7 @@ public void IsChildOf_WithParentAsChild_ReturnsFalse() bool result = parent.IsChildOf(child); - Assert.IsFalse(result); + Assert.IsFalse(result, "Parent path should not be recognized as a child of its own child"); } [TestMethod] @@ -78,7 +77,7 @@ public void IsChildOf_WithMixedSeparators_WorksCorrectly() bool result = child.IsChildOf(parent); - Assert.IsTrue(result); + Assert.IsTrue(result, "IsChildOf should work correctly with mixed path separators"); } [TestMethod] @@ -91,9 +90,9 @@ public void GetRelativePathTo_WithValidPaths_ReturnsCorrectRelativePath() RelativeDirectoryPath result = from.GetRelativePathTo(to); Assert.IsNotNull(result); - Assert.IsTrue(result.WeakString.Contains("..")); - Assert.IsTrue(result.WeakString.Contains("lib")); - Assert.IsTrue(result.WeakString.Contains("utils")); + Assert.Contains("..", result.WeakString); + Assert.Contains("lib", result.WeakString); + Assert.Contains("utils", result.WeakString); } [TestMethod] @@ -107,7 +106,7 @@ public void GetRelativePathTo_WithSamePath_ReturnsCurrentDirectory() Assert.IsNotNull(result); // Should be "." or empty depending on implementation - Assert.IsTrue(result.WeakString is "." || string.IsNullOrEmpty(result.WeakString)); + Assert.IsTrue(result.WeakString is "." || string.IsNullOrEmpty(result.WeakString), "Relative path to same location should be '.' or empty"); } [TestMethod] @@ -129,9 +128,9 @@ public void GetRelativePathTo_WithChildPath_ReturnsSimpleRelativePath() RelativeDirectoryPath result = parent.GetRelativePathTo(child); Assert.IsNotNull(result); - Assert.IsTrue(result.WeakString.Contains("app")); - Assert.IsTrue(result.WeakString.Contains("src")); - Assert.IsFalse(result.WeakString.Contains("..")); + Assert.Contains("app", result.WeakString); + Assert.Contains("src", result.WeakString); + Assert.DoesNotContain("..", result.WeakString); } [TestMethod] @@ -143,10 +142,10 @@ public void Normalize_WithDotPaths_ResolvesCorrectly() RelativeDirectoryPath normalized = complexPath.Normalize(); Assert.IsNotNull(normalized); - Assert.IsTrue(normalized.WeakString.Contains("app")); - Assert.IsTrue(normalized.WeakString.Contains("lib")); - Assert.IsTrue(normalized.WeakString.Contains("utils")); - Assert.IsFalse(normalized.WeakString.Contains('.')); + Assert.Contains("app", normalized.WeakString); + Assert.Contains("lib", normalized.WeakString); + Assert.Contains("utils", normalized.WeakString); + Assert.DoesNotContain('.', normalized.WeakString); } [TestMethod] @@ -181,7 +180,7 @@ public void Normalize_WithOnlyDots_ResolvesCorrectly() RelativeDirectoryPath normalized = dotPath.Normalize(); Assert.IsNotNull(normalized); - Assert.IsTrue(normalized.WeakString.Contains("folder")); + Assert.Contains("folder", normalized.WeakString); } [TestMethod] @@ -193,8 +192,8 @@ public void RemoveExtension_WithValidExtension_RemovesCorrectly() RelativeFilePath result = filePath.RemoveExtension(); Assert.IsNotNull(result); - Assert.IsTrue(result.WeakString.Contains("component")); - Assert.IsFalse(result.WeakString.Contains(".tsx")); + Assert.Contains("component", result.WeakString); + Assert.DoesNotContain(".tsx", result.WeakString); } [TestMethod] @@ -206,8 +205,8 @@ public void RemoveExtension_WithMultipleExtensions_RemovesLastOnly() RelativeFilePath result = filePath.RemoveExtension(); Assert.IsNotNull(result); - Assert.IsTrue(result.WeakString.Contains("backup.tar")); - Assert.IsFalse(result.WeakString.Contains(".gz")); + Assert.Contains("backup.tar", result.WeakString); + Assert.DoesNotContain(".gz", result.WeakString); } [TestMethod] @@ -219,7 +218,7 @@ public void RemoveExtension_WithNoExtension_ReturnsUnchanged() RelativeFilePath result = filePath.RemoveExtension(); Assert.IsNotNull(result); - Assert.IsTrue(result.WeakString.Contains("README")); + Assert.Contains("README", result.WeakString); } [TestMethod] diff --git a/Semantics.Test/Paths/RelativePathPropertyTests.cs b/Semantics.Test/Paths/RelativePathPropertyTests.cs new file mode 100644 index 0000000..7451788 --- /dev/null +++ b/Semantics.Test/Paths/RelativePathPropertyTests.cs @@ -0,0 +1,307 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test.Paths; + +using System; +using ktsu.Semantics.Paths; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public class RelativePathPropertyTests +{ + [TestMethod] + public void RelativeDirectoryPath_Name_ReturnsCorrectDirectoryName() + { + // Test that Name property returns the last component as DirectoryName + RelativeDirectoryPath path = RelativeDirectoryPath.Create(@"projects\app\src"); + + DirectoryName name = path.Name; + + Assert.IsNotNull(name); + Assert.AreEqual("src", name.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_Name_WithSingleComponent_ReturnsComponent() + { + // Test Name property with single directory name + RelativeDirectoryPath path = RelativeDirectoryPath.Create("myapp"); + + DirectoryName name = path.Name; + + Assert.IsNotNull(name); + Assert.AreEqual("myapp", name.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_Name_WithEmptyPath_ReturnsEmpty() + { + // Test Name property with empty path + RelativeDirectoryPath path = RelativeDirectoryPath.Create(""); + + DirectoryName name = path.Name; + + Assert.IsNotNull(name); + Assert.AreEqual("", name.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_Parent_ReturnsCorrectParent() + { + // Test that Parent property returns parent directory + RelativeDirectoryPath path = RelativeDirectoryPath.Create(@"projects\app\src"); + + RelativeDirectoryPath parent = path.Parent; + + Assert.IsNotNull(parent); + Assert.Contains("projects", parent.WeakString); + Assert.Contains("app", parent.WeakString); + Assert.DoesNotContain("src", parent.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_Parent_WithSingleComponent_ReturnsEmpty() + { + // Test Parent property with single directory + RelativeDirectoryPath path = RelativeDirectoryPath.Create("myapp"); + + RelativeDirectoryPath parent = path.Parent; + + Assert.IsNotNull(parent); + Assert.AreEqual("", parent.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_Depth_CalculatesCorrectly() + { + // Test Depth property calculation + RelativeDirectoryPath shallow = RelativeDirectoryPath.Create("myapp"); + RelativeDirectoryPath medium = RelativeDirectoryPath.Create(@"projects\myapp"); + RelativeDirectoryPath deep = RelativeDirectoryPath.Create(@"projects\myapp\src\components"); + + Assert.AreEqual(0, shallow.Depth); + Assert.AreEqual(1, medium.Depth); + Assert.AreEqual(3, deep.Depth); + } + + [TestMethod] + public void RelativeDirectoryPath_Depth_WithEmptyPath_ReturnsZero() + { + // Test Depth property with empty path + RelativeDirectoryPath empty = RelativeDirectoryPath.Create(""); + + Assert.AreEqual(0, empty.Depth); + } + + [TestMethod] + public void RelativeFilePath_RelativeDirectoryPath_ReturnsCorrectDirectory() + { + // Test RelativeDirectoryPath property + RelativeFilePath file = RelativeFilePath.Create(@"projects\app\Component.tsx"); + + RelativeDirectoryPath dir = file.RelativeDirectoryPath; + + Assert.IsNotNull(dir); + Assert.Contains("projects", dir.WeakString); + Assert.Contains("app", dir.WeakString); + Assert.DoesNotContain("Component", dir.WeakString); + } + + [TestMethod] + public void RelativeFilePath_RelativeDirectoryPath_WithFileInRoot_ReturnsEmpty() + { + // Test RelativeDirectoryPath property with file in root + RelativeFilePath file = RelativeFilePath.Create("file.txt"); + + RelativeDirectoryPath dir = file.RelativeDirectoryPath; + + Assert.IsNotNull(dir); + Assert.AreEqual("", dir.WeakString); + } + + [TestMethod] + public void RelativeFilePath_FileNameWithoutExtension_ReturnsCorrectName() + { + // Test FileNameWithoutExtension property + RelativeFilePath file = RelativeFilePath.Create(@"projects\Component.tsx"); + + FileName name = file.FileNameWithoutExtension; + + Assert.IsNotNull(name); + Assert.AreEqual("Component", name.WeakString); + } + + [TestMethod] + public void RelativeFilePath_FileNameWithoutExtension_WithMultipleExtensions_RemovesLastOnly() + { + // Test FileNameWithoutExtension with multiple extensions + RelativeFilePath file = RelativeFilePath.Create("archive.tar.gz"); + + FileName name = file.FileNameWithoutExtension; + + Assert.IsNotNull(name); + Assert.AreEqual("archive.tar", name.WeakString); + } + + [TestMethod] + public void RelativeFilePath_ChangeExtension_ChangesCorrectly() + { + // Test ChangeExtension method + RelativeFilePath file = RelativeFilePath.Create(@"projects\file.txt"); + FileExtension newExt = FileExtension.Create(".md"); + + RelativeFilePath result = file.ChangeExtension(newExt); + + Assert.IsNotNull(result); + Assert.Contains("file.md", result.WeakString); + Assert.DoesNotContain(".txt", result.WeakString); + } + + [TestMethod] + public void RelativeFilePath_ChangeExtension_WithNullExtension_ThrowsException() + { + // Test ChangeExtension with null extension + RelativeFilePath file = RelativeFilePath.Create("file.txt"); + + Assert.ThrowsExactly(() => file.ChangeExtension(null!)); + } + + [TestMethod] + public void RelativeFilePath_RemoveExtension_RemovesCorrectly() + { + // Test RemoveExtension method + RelativeFilePath file = RelativeFilePath.Create(@"projects\file.txt"); + + RelativeFilePath result = file.RemoveExtension(); + + Assert.IsNotNull(result); + Assert.Contains("file", result.WeakString); + Assert.DoesNotContain(".txt", result.WeakString); + } + + [TestMethod] + public void RelativeFilePath_RemoveExtension_WithNoExtension_ReturnsUnchanged() + { + // Test RemoveExtension with file without extension + RelativeFilePath file = RelativeFilePath.Create(@"projects\README"); + + RelativeFilePath result = file.RemoveExtension(); + + Assert.IsNotNull(result); + Assert.Contains("README", result.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_CombineWithRelativeDirectory_WorksCorrectly() + { + // Test combining relative directories + RelativeDirectoryPath base1 = RelativeDirectoryPath.Create("projects"); + RelativeDirectoryPath sub = RelativeDirectoryPath.Create("app"); + + RelativeDirectoryPath result = base1 / sub; + + Assert.IsNotNull(result); + Assert.Contains("projects", result.WeakString); + Assert.Contains("app", result.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_CombineWithRelativeFile_WorksCorrectly() + { + // Test combining relative directory with relative file + RelativeDirectoryPath dir = RelativeDirectoryPath.Create("projects"); + RelativeFilePath file = RelativeFilePath.Create("file.txt"); + + RelativeFilePath result = dir / file; + + Assert.IsNotNull(result); + Assert.Contains("projects", result.WeakString); + Assert.Contains("file.txt", result.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_CombineWithFileName_WorksCorrectly() + { + // Test combining relative directory with file name + RelativeDirectoryPath dir = RelativeDirectoryPath.Create("projects"); + FileName file = FileName.Create("Component.tsx"); + + RelativeFilePath result = dir / file; + + Assert.IsNotNull(result); + Assert.Contains("projects", result.WeakString); + Assert.Contains("Component.tsx", result.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_AsRelative_ReturnsSelf() + { + // Test that AsRelative returns self for already relative paths + RelativeDirectoryPath path = RelativeDirectoryPath.Create("projects"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\temp"); + + RelativeDirectoryPath result = path.AsRelative(baseDir); + + Assert.AreSame(path, result); + } + + [TestMethod] + public void RelativeFilePath_AsRelative_ReturnsSelf() + { + // Test that AsRelative returns self for already relative file paths + RelativeFilePath path = RelativeFilePath.Create("file.txt"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\temp"); + + RelativeFilePath result = path.AsRelative(baseDir); + + Assert.AreSame(path, result); + } + + [TestMethod] + public void RelativeDirectoryPath_AsAbsoluteWithBase_ResolvesCorrectly() + { + // Test AsAbsolute with explicit base directory + RelativeDirectoryPath relative = RelativeDirectoryPath.Create("projects"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\work"); + + AbsoluteDirectoryPath result = relative.AsAbsolute(baseDir); + + Assert.IsNotNull(result); + Assert.Contains(@"C:\work", result.WeakString); + Assert.Contains("projects", result.WeakString); + } + + [TestMethod] + public void RelativeFilePath_AsAbsoluteWithBase_ResolvesCorrectly() + { + // Test AsAbsolute with explicit base directory for files + RelativeFilePath relative = RelativeFilePath.Create("file.txt"); + AbsoluteDirectoryPath baseDir = AbsoluteDirectoryPath.Create(@"C:\work"); + + AbsoluteFilePath result = relative.AsAbsolute(baseDir); + + Assert.IsNotNull(result); + Assert.Contains(@"C:\work", result.WeakString); + Assert.Contains("file.txt", result.WeakString); + } + + [TestMethod] + public void RelativeDirectoryPath_AsAbsoluteWithBase_WithNullBase_ThrowsException() + { + // Test AsAbsolute with null base directory + RelativeDirectoryPath relative = RelativeDirectoryPath.Create("projects"); + + Assert.ThrowsExactly(() => relative.AsAbsolute(null!)); + } + + [TestMethod] + public void RelativeFilePath_AsAbsoluteWithBase_WithNullBase_ThrowsException() + { + // Test AsAbsolute with null base directory for files + RelativeFilePath relative = RelativeFilePath.Create("file.txt"); + + Assert.ThrowsExactly(() => relative.AsAbsolute(null!)); + } +} diff --git a/Semantics.Test/Paths/SemanticPathInterfaceTests.cs b/Semantics.Test/Paths/SemanticPathInterfaceTests.cs index 6a16dc5..04bde51 100644 --- a/Semantics.Test/Paths/SemanticPathInterfaceTests.cs +++ b/Semantics.Test/Paths/SemanticPathInterfaceTests.cs @@ -17,21 +17,17 @@ public void DirectoryPath_CombineWithFileName_WorksCorrectly() FileName fileName = FileName.Create("test.txt"); AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create(@"C:\temp"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create(@"temp"); DirectoryPath genericDir = DirectoryPath.Create(@"temp"); // Act AbsoluteFilePath absoluteResult = absoluteDir / fileName; - RelativeFilePath relativeResult = relativeDir / fileName; FilePath genericResult = genericDir / fileName; // Assert Assert.IsNotNull(absoluteResult); - Assert.IsNotNull(relativeResult); Assert.IsNotNull(genericResult); Assert.AreEqual(@"C:\temp\test.txt", absoluteResult.WeakString); - Assert.AreEqual(@"temp\test.txt", relativeResult.WeakString); Assert.AreEqual(@"temp\test.txt", genericResult.WeakString); } } diff --git a/Semantics.Test/PhysicalQuantityCoreTests.cs b/Semantics.Test/PhysicalQuantityCoreTests.cs new file mode 100644 index 0000000..8505a38 --- /dev/null +++ b/Semantics.Test/PhysicalQuantityCoreTests.cs @@ -0,0 +1,54 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using ktsu.Semantics; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class PhysicalQuantityCoreTests +{ + [TestMethod] + public void In_LinearUnit_And_OffsetUnit() + { + Length tenMeters = Length.Create(10.0); + double inKilometers = tenMeters.In(Units.Kilometer); + Assert.AreEqual(0.01, inKilometers, 1e-12); + + Temperature kelvin300 = Temperature.Create(300.0); + double celsius = kelvin300.In(Units.Celsius); + Assert.AreEqual(26.85, celsius, 1e-2); + } + + [TestMethod] + public void In_InvalidDimension_ShouldThrowUnitConversionException() + { + Length length = Length.Create(1.0); + Assert.ThrowsExactly(() => length.In(Units.Kilogram)); + } + + [TestMethod] + public void CompareTo_And_Equals_Behavior() + { + Length a = Length.Create(1.0); + Length b = Length.Create(2.0); + Assert.IsLessThan(0, a.CompareTo(b)); + Assert.IsGreaterThan(0, b.CompareTo(a)); + Assert.IsTrue(a.Equals(Length.Create(1.0))); + + IPhysicalQuantity other = new FakeQuantity(); + Assert.ThrowsExactly(() => a.CompareTo(other)); + } + + private sealed class FakeQuantity : IPhysicalQuantity + { + public PhysicalDimension Dimension => PhysicalDimensions.Mass; + public bool IsPhysicallyValid => true; + public double Quantity => 0.0; + public double In(IUnit targetUnit) => 0.0; + public int CompareTo(IPhysicalQuantity? other) => 0; + public bool Equals(IPhysicalQuantity? other) => false; + } +} diff --git a/Semantics.Test/RegexMatchAttributeTests.cs b/Semantics.Test/RegexMatchAttributeTests.cs new file mode 100644 index 0000000..10ffdff --- /dev/null +++ b/Semantics.Test/RegexMatchAttributeTests.cs @@ -0,0 +1,76 @@ +// Copyright (c) ktsu.dev +// All rights reserved. +// Licensed under the MIT license. + +namespace ktsu.Semantics.Test; + +using System.Reflection; +using System.Text.RegularExpressions; +using ktsu.Semantics.Strings; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +[TestClass] +public sealed class RegexMatchAttributeTests +{ + [RegexMatch("[", RegexOptions.None)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record InvalidPatternString : SemanticString { } + + [RegexMatch("^[a-z]+$", RegexOptions.None)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record AlphaOnlyString : SemanticString { } + + [RegexMatch("^abc$", RegexOptions.IgnoreCase)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record CaseInsensitiveString : SemanticString { } + + [RegexMatch("^line1$\n^line2$", RegexOptions.Multiline)] + [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1812:Avoid uninstantiated internal classes", Justification = "Used via generic type references")] + private sealed partial record MultilineAnchorsString : SemanticString { } + + [TestMethod] + public void RegexMatchAttribute_InvalidPattern_ShouldThrow() + { + Assert.ThrowsExactly(() => SemanticString.Create("anything")); + } + + [TestMethod] + public void RegexMatchAttribute_EmptyString_ShouldPass() + { + AlphaOnlyString empty = SemanticString.Create(string.Empty); + Assert.IsNotNull(empty); + Assert.AreEqual(string.Empty, empty.WeakString); + } + + [TestMethod] + public void RegexMatchAttribute_IgnoreCase_ShouldPass() + { + CaseInsensitiveString value = SemanticString.Create("AbC"); + Assert.IsTrue(value.IsValid()); + } + + [TestMethod] + public void RegexMatchAttribute_MultilineAnchors_ShouldPass() + { + string input = "line1\nline2"; + MultilineAnchorsString value = SemanticString.Create(input); + Assert.AreEqual(input, value.WeakString); + } + + [TestMethod] + public void RegexMatchAttribute_Metadata_ShouldExposePatternAndOptions() + { + Type? alphaType = typeof(RegexMatchAttributeTests).GetNestedType("AlphaOnlyString", BindingFlags.NonPublic); + Type? caseType = typeof(RegexMatchAttributeTests).GetNestedType("CaseInsensitiveString", BindingFlags.NonPublic); + Assert.IsNotNull(alphaType); + Assert.IsNotNull(caseType); + + RegexMatchAttribute alphaAttr = (RegexMatchAttribute)alphaType!.GetCustomAttributes(typeof(RegexMatchAttribute), true).Single(); + RegexMatchAttribute caseAttr = (RegexMatchAttribute)caseType!.GetCustomAttributes(typeof(RegexMatchAttribute), true).Single(); + + Assert.AreEqual("^[a-z]+$", alphaAttr.Pattern); + Assert.AreEqual(RegexOptions.None, alphaAttr.Options); + Assert.AreEqual("^abc$", caseAttr.Pattern); + Assert.AreEqual(RegexOptions.IgnoreCase, caseAttr.Options); + } +} diff --git a/Semantics.Test/SemanticPathInterfaceTests.cs b/Semantics.Test/SemanticPathInterfaceTests.cs index 72edb4e..15b9e20 100644 --- a/Semantics.Test/SemanticPathInterfaceTests.cs +++ b/Semantics.Test/SemanticPathInterfaceTests.cs @@ -221,39 +221,33 @@ public void PolymorphicCollection_CanStoreAllPathTypes() paths.Add(FilePath.Create("file.txt")); paths.Add(DirectoryPath.Create("directory")); paths.Add(AbsoluteFilePath.Create("C:\\file.txt")); - paths.Add(RelativeFilePath.Create("relative\\file.txt")); paths.Add(AbsoluteDirectoryPath.Create("C:\\directory")); - paths.Add(RelativeDirectoryPath.Create("relative\\directory")); filePaths.Add(FilePath.Create("file.txt")); filePaths.Add(AbsoluteFilePath.Create("C:\\file.txt")); - filePaths.Add(RelativeFilePath.Create("relative\\file.txt")); directoryPaths.Add(DirectoryPath.Create("directory")); directoryPaths.Add(AbsoluteDirectoryPath.Create("C:\\directory")); - directoryPaths.Add(RelativeDirectoryPath.Create("relative\\directory")); absolutePaths.Add(AbsolutePath.Create("C:\\absolute\\path")); absolutePaths.Add(AbsoluteFilePath.Create("C:\\file.txt")); absolutePaths.Add(AbsoluteDirectoryPath.Create("C:\\directory")); relativePaths.Add(RelativePath.Create("relative\\path")); - relativePaths.Add(RelativeFilePath.Create("relative\\file.txt")); - relativePaths.Add(RelativeDirectoryPath.Create("relative\\directory")); // Assert - Assert.AreEqual(9, paths.Count); - Assert.AreEqual(3, filePaths.Count); - Assert.AreEqual(3, directoryPaths.Count); - Assert.AreEqual(3, absolutePaths.Count); - Assert.AreEqual(3, relativePaths.Count); + Assert.HasCount(7, paths); + Assert.HasCount(2, filePaths); + Assert.HasCount(2, directoryPaths); + Assert.HasCount(3, absolutePaths); + Assert.HasCount(1, relativePaths); // Verify all items can be cast to IPath - Assert.IsTrue(paths.All(p => p is not null)); - Assert.IsTrue(filePaths.All(p => p is IPath)); - Assert.IsTrue(directoryPaths.All(p => p is IPath)); - Assert.IsTrue(absolutePaths.All(p => p is IPath)); - Assert.IsTrue(relativePaths.All(p => p is IPath)); + Assert.IsTrue(paths.All(p => p is not null), "All paths should be non-null"); + Assert.IsTrue(filePaths.All(p => p is IPath), "All file paths should implement IPath"); + Assert.IsTrue(directoryPaths.All(p => p is IPath), "All directory paths should implement IPath"); + Assert.IsTrue(absolutePaths.All(p => p is IPath), "All absolute paths should implement IPath"); + Assert.IsTrue(relativePaths.All(p => p is IPath), "All relative paths should implement IPath"); } [TestMethod] @@ -264,19 +258,17 @@ public void PolymorphicMethods_CanAcceptInterfaceParameters() static string ProcessFilePath(IFilePath filePath) => $"Processing file: {filePath}"; static string ProcessDirectoryPath(IDirectoryPath directoryPath) => $"Processing directory: {directoryPath}"; static string ProcessAbsolutePath(IAbsolutePath absolutePath) => $"Processing absolute: {absolutePath}"; - static string ProcessRelativePath(IRelativePath relativePath) => $"Processing relative: {relativePath}"; AbsoluteFilePath absoluteFilePath = AbsoluteFilePath.Create("C:\\test\\file.txt"); - RelativeDirectoryPath relativeDirectoryPath = RelativeDirectoryPath.Create("test\\directory"); + DirectoryPath directoryPath = DirectoryPath.Create("test\\directory"); // Act & Assert - Test that polymorphic methods work Assert.AreEqual("Processing path: C:\\test\\file.txt", ProcessPath(absoluteFilePath)); Assert.AreEqual("Processing file: C:\\test\\file.txt", ProcessFilePath(absoluteFilePath)); Assert.AreEqual("Processing absolute: C:\\test\\file.txt", ProcessAbsolutePath(absoluteFilePath)); - Assert.AreEqual("Processing path: test\\directory", ProcessPath(relativeDirectoryPath)); - Assert.AreEqual("Processing directory: test\\directory", ProcessDirectoryPath(relativeDirectoryPath)); - Assert.AreEqual("Processing relative: test\\directory", ProcessRelativePath(relativeDirectoryPath)); + Assert.AreEqual("Processing path: test\\directory", ProcessPath(directoryPath)); + Assert.AreEqual("Processing directory: test\\directory", ProcessDirectoryPath(directoryPath)); } [TestMethod] @@ -286,16 +278,16 @@ public void InterfaceHierarchy_IsCorrect() AbsoluteFilePath absoluteFilePath = AbsoluteFilePath.Create("C:\\test\\file.txt"); // Act & Assert - Test inheritance hierarchy - Assert.IsTrue(absoluteFilePath is IAbsoluteFilePath); - Assert.IsTrue(absoluteFilePath is IFilePath); - Assert.IsTrue(absoluteFilePath is IAbsolutePath); - Assert.IsTrue(absoluteFilePath is IPath); + Assert.IsTrue(absoluteFilePath is IAbsoluteFilePath, "Should be IAbsoluteFilePath"); + Assert.IsTrue(absoluteFilePath is IFilePath, "Should be IFilePath"); + Assert.IsTrue(absoluteFilePath is IAbsolutePath, "Should be IAbsolutePath"); + Assert.IsTrue(absoluteFilePath is IPath, "Should be IPath"); // Test that interfaces inherit correctly IAbsoluteFilePath iAbsoluteFilePath = absoluteFilePath; - Assert.IsTrue(iAbsoluteFilePath is IFilePath); - Assert.IsTrue(iAbsoluteFilePath is IAbsolutePath); - Assert.IsTrue(iAbsoluteFilePath is IPath); + Assert.IsTrue(iAbsoluteFilePath is IFilePath, "IAbsoluteFilePath should be IFilePath"); + Assert.IsTrue(iAbsoluteFilePath is IAbsolutePath, "IAbsoluteFilePath should be IAbsolutePath"); + Assert.IsTrue(iAbsoluteFilePath is IPath, "IAbsoluteFilePath should be IPath"); } [TestMethod] @@ -305,25 +297,22 @@ public void TypeChecking_WithInterfaces_WorksCorrectly() List paths = [ AbsoluteFilePath.Create("C:\\file.txt"), - RelativeDirectoryPath.Create("directory") + DirectoryPath.Create("directory") ]; // Act List filePaths = [.. paths.OfType()]; List directoryPaths = [.. paths.OfType()]; List absolutePaths = [.. paths.OfType()]; - List relativePaths = [.. paths.OfType()]; // Assert - Assert.AreEqual(1, filePaths.Count); - Assert.AreEqual(1, directoryPaths.Count); - Assert.AreEqual(1, absolutePaths.Count); - Assert.AreEqual(1, relativePaths.Count); + Assert.HasCount(1, filePaths); + Assert.HasCount(1, directoryPaths); + Assert.HasCount(1, absolutePaths); Assert.IsInstanceOfType(filePaths[0]); - Assert.IsInstanceOfType(directoryPaths[0]); + Assert.IsInstanceOfType(directoryPaths[0]); Assert.IsInstanceOfType(absolutePaths[0]); - Assert.IsInstanceOfType(relativePaths[0]); } [TestMethod] @@ -335,8 +324,8 @@ public void NonPathTypes_ImplementCorrectInterfaces() // Assert - These types implement their own interfaces but not IPath // (The compiler prevents us from even checking 'is IPath' since it knows they don't implement it) - Assert.IsTrue(fileName is IFileName); - Assert.IsTrue(fileExtension is IFileExtension); + Assert.IsTrue(fileName is IFileName, "FileName should implement IFileName"); + Assert.IsTrue(fileExtension is IFileExtension, "FileExtension should implement IFileExtension"); // Verify they can be cast to their interfaces IFileName iFileName = fileName; @@ -351,43 +340,35 @@ public void AsAbsolute_Method_WorksCorrectly() { // Arrange - Create different path types AbsoluteFilePath absoluteFile = AbsoluteFilePath.Create("C:\\test\\file.txt"); - RelativeFilePath relativeFile = RelativeFilePath.Create("test\\file.txt"); FilePath genericFile = FilePath.Create("file.txt"); AbsoluteDirectoryPath absoluteDir = AbsoluteDirectoryPath.Create("C:\\test\\dir"); - RelativeDirectoryPath relativeDir = RelativeDirectoryPath.Create("test\\dir"); DirectoryPath genericDir = DirectoryPath.Create("dir"); // Act & Assert - Test file paths IFilePath iAbsoluteFile = absoluteFile; - IFilePath iRelativeFile = relativeFile; IFilePath iGenericFile = genericFile; Assert.IsInstanceOfType(iAbsoluteFile.AsAbsolute()); - Assert.IsInstanceOfType(iRelativeFile.AsAbsolute()); Assert.IsInstanceOfType(iGenericFile.AsAbsolute()); // For absolute paths, AsAbsolute should return the same instance Assert.AreSame(absoluteFile, iAbsoluteFile.AsAbsolute()); - // For relative and generic paths, AsAbsolute should create new absolute instances - Assert.IsNotNull(iRelativeFile.AsAbsolute()); + // For generic paths, AsAbsolute should create new absolute instances Assert.IsNotNull(iGenericFile.AsAbsolute()); // Act & Assert - Test directory paths IDirectoryPath iAbsoluteDir = absoluteDir; - IDirectoryPath iRelativeDir = relativeDir; IDirectoryPath iGenericDir = genericDir; Assert.IsInstanceOfType(iAbsoluteDir.AsAbsolute()); - Assert.IsInstanceOfType(iRelativeDir.AsAbsolute()); Assert.IsInstanceOfType(iGenericDir.AsAbsolute()); // For absolute paths, AsAbsolute should return the same instance Assert.AreSame(absoluteDir, iAbsoluteDir.AsAbsolute()); - // For relative and generic paths, AsAbsolute should create new absolute instances - Assert.IsNotNull(iRelativeDir.AsAbsolute()); + // For generic paths, AsAbsolute should create new absolute instances Assert.IsNotNull(iGenericDir.AsAbsolute()); } @@ -407,7 +388,7 @@ public void ConsolidatedPathConversions_API_WorksCorrectly() // 2. AsAbsolute(baseDirectory) - convert to absolute using specific base AbsoluteFilePath absFromRelativeWithBase = relativeFile.AsAbsolute(baseDir); Assert.IsInstanceOfType(absFromRelativeWithBase); - Assert.IsTrue(absFromRelativeWithBase.WeakString.Contains("C:\\base")); + Assert.Contains("C:\\base", absFromRelativeWithBase.WeakString); // 3. AsRelative(baseDirectory) - convert to relative using base RelativeFilePath relFromAbsolute = absoluteFile.AsRelative(baseDir); @@ -426,7 +407,7 @@ public void ConsolidatedPathConversions_API_WorksCorrectly() Assert.AreEqual("sub", relDirFromAbsolute.WeakString); AbsoluteDirectoryPath absDirFromRelative = relativeSubDir.AsAbsolute(baseDir); - Assert.IsTrue(absDirFromRelative.WeakString.Contains("C:\\base\\sub")); + Assert.Contains("C:\\base\\sub", absDirFromRelative.WeakString); } [TestMethod] @@ -449,20 +430,20 @@ public void DirectoryPath_Contents_ReturnsCorrectPathTypes() // Test DirectoryPath DirectoryPath dirPath = DirectoryPath.Create(testDir); - IEnumerable contents = dirPath.Contents; + IPath[] contents = [.. dirPath.GetContents()]; - Assert.IsTrue(contents.Any(), "Contents should not be empty"); - Assert.AreEqual(3, contents.Count(), "Should contain 2 files and 1 directory"); + Assert.IsNotEmpty(contents, "Contents should not be empty"); + Assert.HasCount(3, contents, "Should contain 2 files and 1 directory"); // Verify file types IFilePath[] files = [.. contents.OfType()]; - Assert.AreEqual(2, files.Length, "Should contain 2 files"); - Assert.IsTrue(files.All(f => f is FilePath), "Files should be FilePath type"); + Assert.HasCount(2, files, "Should contain 2 files"); + Assert.IsTrue(files.All(f => f is FilePath), "All files should be FilePath type"); // Verify directory types IDirectoryPath[] directories = [.. contents.OfType()]; - Assert.AreEqual(1, directories.Length, "Should contain 1 directory"); - Assert.IsTrue(directories.All(d => d is DirectoryPath), "Directories should be DirectoryPath type"); + Assert.HasCount(1, directories, "Should contain 1 directory"); + Assert.IsTrue(directories.All(d => d is DirectoryPath), "All directories should be DirectoryPath type"); } finally { @@ -492,20 +473,20 @@ public void AbsoluteDirectoryPath_Contents_ReturnsAbsolutePathTypes() // Test AbsoluteDirectoryPath AbsoluteDirectoryPath absDir = AbsoluteDirectoryPath.Create(testDir); - IEnumerable contents = absDir.Contents; + IPath[] contents = [.. absDir.GetContents()]; - Assert.IsTrue(contents.Any(), "Contents should not be empty"); - Assert.AreEqual(2, contents.Count(), "Should contain 1 file and 1 directory"); + Assert.IsNotEmpty(contents, "Contents should not be empty"); + Assert.HasCount(2, contents, "Should contain 1 file and 1 directory"); // Verify file types are absolute IAbsoluteFilePath[] absoluteFiles = [.. contents.OfType()]; - Assert.AreEqual(1, absoluteFiles.Length, "Should contain 1 absolute file"); - Assert.IsTrue(absoluteFiles.All(f => f is AbsoluteFilePath), "Files should be AbsoluteFilePath type"); + Assert.HasCount(1, absoluteFiles, "Should contain 1 absolute file"); + Assert.IsTrue(absoluteFiles.All(f => f is AbsoluteFilePath), "All files should be AbsoluteFilePath type"); // Verify directory types are absolute IAbsoluteDirectoryPath[] absoluteDirectories = [.. contents.OfType()]; - Assert.AreEqual(1, absoluteDirectories.Length, "Should contain 1 absolute directory"); - Assert.IsTrue(absoluteDirectories.All(d => d is AbsoluteDirectoryPath), "Directories should be AbsoluteDirectoryPath type"); + Assert.HasCount(1, absoluteDirectories, "Should contain 1 absolute directory"); + Assert.IsTrue(absoluteDirectories.All(d => d is AbsoluteDirectoryPath), "All directories should be AbsoluteDirectoryPath type"); } finally { @@ -522,9 +503,9 @@ public void DirectoryPath_Contents_NonExistentDirectory_ReturnsEmpty() { // Test non-existent directory DirectoryPath nonExistentDir = DirectoryPath.Create("/path/that/does/not/exist"); - IEnumerable contents = nonExistentDir.Contents; + IEnumerable contents = nonExistentDir.GetContents(); - Assert.IsFalse(contents.Any(), "Non-existent directory should return empty contents"); + Assert.IsFalse(contents.Any(), "Non-existent directory should have no contents"); } [TestMethod] @@ -538,9 +519,9 @@ public void DirectoryPath_Contents_EmptyDirectory_ReturnsEmpty() try { DirectoryPath dirPath = DirectoryPath.Create(testDir); - IEnumerable contents = dirPath.Contents; + IEnumerable contents = dirPath.GetContents(); - Assert.IsFalse(contents.Any(), "Empty directory should return empty contents"); + Assert.IsFalse(contents.Any(), "Empty directory should have no contents"); } finally { @@ -570,17 +551,18 @@ public void DirectoryPath_Contents_PolymorphicUsage() // Test polymorphic usage with IDirectoryPath DirectoryPath dirPath = DirectoryPath.Create(testDir); - IEnumerable contents = dirPath.Contents; + IEnumerable contents = dirPath.GetContents(); - Assert.IsTrue(contents.Any(), "Contents should not be empty"); - Assert.AreEqual(2, contents.Count(), "Should contain 2 files"); + List contentsList = [.. contents]; + Assert.IsNotEmpty(contentsList, "Contents should not be empty"); + Assert.HasCount(2, contentsList, "Should contain 2 files"); // Test filtering by type IFilePath[] files = [.. contents.OfType()]; - Assert.AreEqual(2, files.Length, "Should be able to filter files polymorphically"); + Assert.HasCount(2, files, "Should be able to filter files polymorphically"); // Test that all returned items are paths - Assert.IsTrue(contents.All(item => item is not null), "All contents should implement IPath"); + Assert.IsTrue(contentsList.All(item => item is not null), "All contents should be non-null"); } finally { @@ -601,9 +583,7 @@ public void AllPathTypes_ImplicitStringConversion_WorksTransparently() FilePath filePath = FilePath.Create("file.txt"); DirectoryPath directoryPath = DirectoryPath.Create("directory"); AbsoluteFilePath absoluteFilePath = AbsoluteFilePath.Create("C:\\temp\\file.txt"); - RelativeFilePath relativeFilePath = RelativeFilePath.Create("relative\\file.txt"); AbsoluteDirectoryPath absoluteDirectoryPath = AbsoluteDirectoryPath.Create("C:\\temp\\directory"); - RelativeDirectoryPath relativeDirectoryPath = RelativeDirectoryPath.Create("relative\\directory"); FileName fileName = FileName.Create("file.txt"); FileExtension fileExtension = FileExtension.Create(".txt"); @@ -613,9 +593,7 @@ public void AllPathTypes_ImplicitStringConversion_WorksTransparently() string result3 = filePath; string result4 = directoryPath; string result5 = absoluteFilePath; - string result6 = relativeFilePath; string result7 = absoluteDirectoryPath; - string result8 = relativeDirectoryPath; string result9 = fileName; string result10 = fileExtension; @@ -624,9 +602,7 @@ public void AllPathTypes_ImplicitStringConversion_WorksTransparently() Assert.AreEqual("file.txt", result3); Assert.AreEqual("directory", result4); Assert.AreEqual("C:\\temp\\file.txt", result5); - Assert.AreEqual("relative\\file.txt", result6); Assert.AreEqual("C:\\temp\\directory", result7); - Assert.AreEqual("relative\\directory", result8); Assert.AreEqual("file.txt", result9); Assert.AreEqual(".txt", result10); } @@ -648,7 +624,8 @@ public void PathInterfaces_CanBeUsedInStringMethods() Assert.AreEqual("C:\\temp", directory ?? string.Empty); Assert.AreEqual("test.txt", filename); - Assert.IsTrue(combined.Contains("documents") && combined.Contains("readme.md")); + Assert.Contains("documents", combined); + Assert.Contains("readme.md", combined); } [TestMethod] @@ -673,8 +650,8 @@ public void PathTypes_CanBeUsedInFileSystemMethods() bool fileExists = File.Exists(semanticFile); // Implicit conversion to string string content = File.ReadAllText(semanticFile); // Implicit conversion to string - Assert.IsTrue(dirExists); - Assert.IsTrue(fileExists); + Assert.IsTrue(dirExists, "Directory should exist after creation"); + Assert.IsTrue(fileExists, "File should exist after creation"); Assert.AreEqual("test content", content); } finally @@ -709,7 +686,7 @@ public void PathInterfaces_InPolymorphicCollections_CanBeUsedAsStrings() bool hasContent = !string.IsNullOrEmpty(pathWithPrefix); Assert.IsTrue(hasContent); - Assert.IsTrue(pathWithPrefix.StartsWith("prefix_")); + Assert.StartsWith("prefix_", pathWithPrefix); } } } diff --git a/Semantics.Test/SemanticPathTests.cs b/Semantics.Test/SemanticPathTests.cs index dc2696e..40063b2 100644 --- a/Semantics.Test/SemanticPathTests.cs +++ b/Semantics.Test/SemanticPathTests.cs @@ -7,6 +7,7 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Paths; using System; using System.Linq; +using ktsu.Semantics.Paths; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] @@ -28,7 +29,7 @@ public void SemanticAbsolutePath_WithAbsolutePath_ShouldBeValid() AbsolutePath path = AbsolutePath.Create("C:\\test\\path"); // Assert - Assert.IsTrue(path.IsValid()); + Assert.IsTrue(path.IsValid(), "Absolute path should be valid"); } [TestMethod] @@ -46,7 +47,7 @@ public void SemanticRelativePath_WithRelativePath_ShouldBeValid() RelativePath path = RelativePath.Create("test\\path"); // Assert - Assert.IsTrue(path.IsValid()); + Assert.IsTrue(path.IsValid(), "Relative path should be valid"); } [TestMethod] @@ -129,7 +130,7 @@ public void SemanticFileName_WithValidFileName_ShouldBeValid() FileName fileName = FileName.Create("test.txt"); // Assert - Assert.IsTrue(fileName.IsValid()); + Assert.IsTrue(fileName.IsValid(), "Valid file name should be valid"); } [TestMethod] @@ -147,7 +148,7 @@ public void SemanticFileExtension_WithValidExtension_ShouldBeValid() FileExtension extension = FileExtension.Create(".txt"); // Assert - Assert.IsTrue(extension.IsValid()); + Assert.IsTrue(extension.IsValid(), "Valid file extension should be valid"); } [TestMethod] @@ -165,7 +166,8 @@ public void SemanticPath_NormalizePath() AbsolutePath path = AbsolutePath.Create("C:/test\\path/"); Assert.IsNotNull(path); // Path should be normalized regardless of input format - Assert.IsTrue(path.ToString().Contains("test") && path.ToString().Contains("path")); + Assert.Contains("test", path.ToString()); + Assert.Contains("path", path.ToString()); } [TestMethod] @@ -212,12 +214,12 @@ public void SemanticPath_PathTypes() RelativePath relativePath = RelativePath.Create("folder/subfolder\\file"); Assert.IsNotNull(relativePath); // These methods should exist based on the path type - Assert.IsTrue(relativePath.IsValid()); + Assert.IsTrue(relativePath.IsValid(), "Relative path should be valid"); // Test with absolute path AbsolutePath absolutePath = AbsolutePath.Create("C:\\folder/subfolder\\file"); Assert.IsNotNull(absolutePath); - Assert.IsTrue(absolutePath.IsValid()); + Assert.IsTrue(absolutePath.IsValid(), "Absolute path should be valid"); } [TestMethod] @@ -225,7 +227,7 @@ public void SemanticPath_EmptyPath_ShouldBeValid() { // Test that empty paths are considered valid per the IsPath attribute AbsolutePath emptyPath = AbsolutePath.Create(""); - Assert.IsTrue(emptyPath.IsValid()); + Assert.IsTrue(emptyPath.IsValid(), "Empty path should be valid"); Assert.AreEqual("", emptyPath.ToString()); } @@ -261,7 +263,7 @@ public void SemanticRelativePath_Make_ShouldCreateCorrectRelativePath() // Assert Assert.IsNotNull(relativePath); // The exact result depends on the platform, but it should be a valid relative path - Assert.IsTrue(relativePath.IsValid()); + Assert.IsTrue(relativePath.IsValid(), "Created relative path should be valid"); } // Additional comprehensive tests for edge cases and missing coverage @@ -362,7 +364,7 @@ public void SemanticRelativePath_Make_WithDirectoryPaths_ShouldHandleCorrectly() RelativePath relativePath = RelativePath.Make(from, to); Assert.IsNotNull(relativePath); - Assert.IsTrue(relativePath.IsValid()); + Assert.IsTrue(relativePath.IsValid(), "Relative path between directories should be valid"); } [TestMethod] @@ -370,7 +372,7 @@ public void SemanticFileName_EmptyFileName_ShouldBeValid() { // Test that empty filenames are valid per the IsFileName attribute FileName emptyFileName = FileName.Create(""); - Assert.IsTrue(emptyFileName.IsValid()); + Assert.IsTrue(emptyFileName.IsValid(), "Empty file name should be valid"); } [TestMethod] @@ -378,6 +380,6 @@ public void SemanticFileExtension_EmptyExtension_ShouldBeValid() { // Test that empty extensions are valid (no extension case) FileExtension emptyExtension = FileExtension.Create(""); - Assert.IsTrue(emptyExtension.IsValid()); + Assert.IsTrue(emptyExtension.IsValid(), "Empty file extension should be valid"); } } diff --git a/Semantics.Test/SemanticQuantityTests.cs b/Semantics.Test/SemanticQuantityTests.cs index 4e590b1..8b97908 100644 --- a/Semantics.Test/SemanticQuantityTests.cs +++ b/Semantics.Test/SemanticQuantityTests.cs @@ -277,7 +277,7 @@ public void Equality_SameValues_ReturnsTrue() // Act & Assert Assert.AreEqual(distance1, distance2); - Assert.IsTrue(distance1.Equals(distance2)); + Assert.IsTrue(distance1.Equals(distance2), "Quantities with same value should be equal"); } [TestMethod] @@ -289,7 +289,7 @@ public void Equality_DifferentValues_ReturnsFalse() // Act & Assert Assert.AreNotEqual(distance1, distance2); - Assert.IsFalse(distance1.Equals(distance2)); + Assert.IsFalse(distance1.Equals(distance2), "Quantities with different values should not be equal"); } [TestMethod] @@ -377,8 +377,8 @@ public void CompareTo_ReturnsCorrectComparison() Distance equal = Distance.Create(5.0); // Act & Assert - Assert.IsTrue(smaller.Quantity.CompareTo(larger.Quantity) < 0); - Assert.IsTrue(larger.Quantity.CompareTo(smaller.Quantity) > 0); + Assert.IsLessThan(0, smaller.Quantity.CompareTo(larger.Quantity)); + Assert.IsGreaterThan(0, larger.Quantity.CompareTo(smaller.Quantity)); Assert.AreEqual(0, smaller.Quantity.CompareTo(equal.Quantity)); } @@ -391,14 +391,14 @@ public void ComparisonOperators_WorkCorrectly() Distance distance3 = Distance.Create(5.0); // Act & Assert - Assert.IsTrue(distance1.Quantity < distance2.Quantity); - Assert.IsTrue(distance1.Quantity <= distance2.Quantity); - Assert.IsTrue(distance1.Quantity <= distance3.Quantity); - Assert.IsTrue(distance2.Quantity > distance1.Quantity); - Assert.IsTrue(distance2.Quantity >= distance1.Quantity); - Assert.IsTrue(distance1.Quantity >= distance3.Quantity); - Assert.IsTrue(distance1 == distance3); // Record equality works - Assert.IsTrue(distance1 != distance2); // Record inequality works + Assert.IsLessThan(distance2.Quantity, distance1.Quantity); + Assert.IsLessThanOrEqualTo(distance2.Quantity, distance1.Quantity); + Assert.IsLessThanOrEqualTo(distance3.Quantity, distance1.Quantity); + Assert.IsGreaterThan(distance1.Quantity, distance2.Quantity); + Assert.IsGreaterThanOrEqualTo(distance1.Quantity, distance2.Quantity); + Assert.IsGreaterThanOrEqualTo(distance3.Quantity, distance1.Quantity); + Assert.IsTrue(distance1 == distance3, "Record equality should return true for equal values"); + Assert.IsTrue(distance1 != distance2, "Record inequality should return true for different values"); } [TestMethod] diff --git a/Semantics.Test/SemanticStringFactoryTests.cs b/Semantics.Test/SemanticStringFactoryTests.cs index 5c392ac..6bec7e3 100644 --- a/Semantics.Test/SemanticStringFactoryTests.cs +++ b/Semantics.Test/SemanticStringFactoryTests.cs @@ -110,7 +110,7 @@ public void TryFromString_ValidValue_ReturnsTrueAndSetsResult() bool success = factory.TryFromString(testValue, out TestSemanticString? result); // Assert - Assert.IsTrue(success); + Assert.IsTrue(success, "TryFromString should return true for valid input"); Assert.IsNotNull(result); Assert.AreEqual(testValue, result.WeakString); } @@ -125,7 +125,7 @@ public void TryFromString_NullValue_ReturnsFalseAndNullResult() bool success = factory.TryFromString(null, out TestSemanticString? result); // Assert - Assert.IsFalse(success); + Assert.IsFalse(success, "TryFromString should return false for null input"); Assert.IsNull(result); } @@ -140,7 +140,7 @@ public void TryFromString_InvalidValue_ReturnsFalseAndNullResult() bool success = factory.TryFromString(invalidValue, out InvalidTestString? result); // Assert - Assert.IsFalse(success); + Assert.IsFalse(success, "TryFromString should return false for value failing validation"); Assert.IsNull(result); } } diff --git a/Semantics.Test/SemanticStringTests.cs b/Semantics.Test/SemanticStringTests.cs index 1778c38..360e289 100644 --- a/Semantics.Test/SemanticStringTests.cs +++ b/Semantics.Test/SemanticStringTests.cs @@ -9,6 +9,7 @@ namespace ktsu.Semantics.Test; using System.Globalization; using System.Linq; using System.Text; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; public record MySemanticString : SemanticString { } @@ -56,14 +57,14 @@ public void ToCharArrayMethod() public void IsEmptyMethod() { MySemanticString semanticString = SemanticString.Create(string.Empty); - Assert.IsTrue(semanticString.IsEmpty()); + Assert.IsTrue(semanticString.IsEmpty(), "Empty semantic string should report IsEmpty as true"); } [TestMethod] public void IsValidMethod() { MySemanticString semanticString = SemanticString.Create("test"); - Assert.IsTrue(semanticString.IsValid()); + Assert.IsTrue(semanticString.IsValid(), "Non-empty semantic string should be valid"); } [TestMethod] @@ -81,13 +82,6 @@ public void WithSuffixMethod() MySemanticString result = semanticString.WithSuffix("-post"); Assert.AreEqual("test-post", result.ToString()); } - [TestMethod] - public void AsStringExtensionMethod() - { - string systemString = "test"; - MySemanticString semanticString = systemString.As(); - Assert.AreEqual("test", semanticString.WeakString); - } [TestMethod] public void AsCharArrayExtensionMethod() @@ -128,7 +122,7 @@ public void ImplicitCastToReadOnlySpan() { MySemanticString semanticString = SemanticString.Create("test"); ReadOnlySpan result = semanticString; - Assert.IsTrue(result.SequenceEqual("test".AsSpan())); + Assert.IsTrue(result.SequenceEqual("test".AsSpan()), "ReadOnlySpan from implicit cast should equal expected value"); } [TestMethod] @@ -153,8 +147,8 @@ public void CompareTo_String() { MySemanticString semanticString = SemanticString.Create("test"); Assert.AreEqual(0, semanticString.CompareTo("test")); - Assert.IsTrue(semanticString.CompareTo("apple") > 0); - Assert.IsTrue(semanticString.CompareTo("zebra") < 0); + Assert.IsGreaterThan(0, semanticString.CompareTo("apple")); + Assert.IsLessThan(0, semanticString.CompareTo("zebra")); } [TestMethod] @@ -165,40 +159,40 @@ public void CompareTo_SemanticString() MySemanticString semanticString3 = SemanticString.Create("apple"); Assert.AreEqual(0, semanticString1.CompareTo(semanticString2)); - Assert.IsTrue(semanticString1.CompareTo(semanticString3) > 0); + Assert.IsGreaterThan(0, semanticString1.CompareTo(semanticString3)); } [TestMethod] public void Contains_String_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("hello world"); - Assert.IsTrue(semanticString.Contains("world")); - Assert.IsTrue(semanticString.Contains("hello")); - Assert.IsFalse(semanticString.Contains("test")); + Assert.IsTrue(semanticString.Contains("world"), "Should contain 'world'"); + Assert.IsTrue(semanticString.Contains("hello"), "Should contain 'hello'"); + Assert.IsFalse(semanticString.Contains("test"), "Should not contain 'test'"); } [TestMethod] public void Contains_WithStringComparison_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Hello World"); - Assert.IsTrue(semanticString.Contains("WORLD", StringComparison.OrdinalIgnoreCase)); - Assert.IsFalse(semanticString.Contains("WORLD", StringComparison.Ordinal)); + Assert.IsTrue(semanticString.Contains("WORLD", StringComparison.OrdinalIgnoreCase), "Case-insensitive search should find 'WORLD'"); + Assert.IsFalse(semanticString.Contains("WORLD", StringComparison.Ordinal), "Case-sensitive search should not find 'WORLD'"); } [TestMethod] public void EndsWith_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("hello world"); - Assert.IsTrue(semanticString.EndsWith("world")); - Assert.IsFalse(semanticString.EndsWith("hello")); + Assert.IsTrue(semanticString.EndsWith("world"), "Should end with 'world'"); + Assert.IsFalse(semanticString.EndsWith("hello"), "Should not end with 'hello'"); } [TestMethod] public void StartsWith_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("hello world"); - Assert.IsTrue(semanticString.StartsWith("hello")); - Assert.IsFalse(semanticString.StartsWith("world")); + Assert.IsTrue(semanticString.StartsWith("hello"), "Should start with 'hello'"); + Assert.IsFalse(semanticString.StartsWith("world"), "Should not start with 'world'"); } [TestMethod] @@ -244,12 +238,12 @@ public void ComparisonOperators() MySemanticString semanticString2 = SemanticString.Create("banana"); MySemanticString semanticString3 = SemanticString.Create("apple"); - Assert.IsTrue(semanticString1 < semanticString2); - Assert.IsTrue(semanticString1 <= semanticString2); - Assert.IsTrue(semanticString1 <= semanticString3); - Assert.IsTrue(semanticString2 > semanticString1); - Assert.IsTrue(semanticString2 >= semanticString1); - Assert.IsTrue(semanticString1 >= semanticString3); + Assert.IsTrue(semanticString1 < semanticString2, "'apple' should be less than 'banana'"); + Assert.IsTrue(semanticString1 <= semanticString2, "'apple' should be less than or equal to 'banana'"); + Assert.IsTrue(semanticString1 <= semanticString3, "'apple' should be less than or equal to 'apple'"); + Assert.IsTrue(semanticString2 > semanticString1, "'banana' should be greater than 'apple'"); + Assert.IsTrue(semanticString2 >= semanticString1, "'banana' should be greater than or equal to 'apple'"); + Assert.IsTrue(semanticString1 >= semanticString3, "'apple' should be greater than or equal to 'apple'"); } [TestMethod] @@ -258,12 +252,12 @@ public void ComparisonOperators_WithNull() MySemanticString? nullSemanticString = null; MySemanticString semanticString = SemanticString.Create("test"); - Assert.IsTrue(nullSemanticString < semanticString); - Assert.IsTrue(nullSemanticString <= semanticString); - Assert.IsFalse(nullSemanticString > semanticString); - Assert.IsFalse(nullSemanticString >= semanticString); - Assert.IsFalse(semanticString < nullSemanticString); - Assert.IsTrue(semanticString > nullSemanticString); + Assert.IsTrue(nullSemanticString < semanticString, "null should be less than non-null"); + Assert.IsTrue(nullSemanticString <= semanticString, "null should be less than or equal to non-null"); + Assert.IsFalse(nullSemanticString > semanticString, "null should not be greater than non-null"); + Assert.IsFalse(nullSemanticString >= semanticString, "null should not be greater than or equal to non-null"); + Assert.IsFalse(semanticString < nullSemanticString, "non-null should not be less than null"); + Assert.IsTrue(semanticString > nullSemanticString, "non-null should be greater than null"); } [TestMethod] @@ -309,7 +303,7 @@ public void StaticToCharArray_WithNullSemanticString() { MySemanticString? nullSemanticString = null; char[] result = SemanticString.ToCharArray(nullSemanticString); - Assert.AreEqual(0, result.Length); + Assert.IsEmpty(result); } [TestMethod] @@ -317,14 +311,14 @@ public void StaticToReadOnlySpan_WithNullSemanticString() { MySemanticString? nullSemanticString = null; ReadOnlySpan result = SemanticString.ToReadOnlySpan(nullSemanticString); - Assert.IsTrue(result.IsEmpty); + Assert.IsTrue(result.IsEmpty, "ReadOnlySpan from null should be empty"); } [TestMethod] public void IsEmpty_WithNonEmptyString_ReturnsFalse() { MySemanticString semanticString = SemanticString.Create("test"); - Assert.IsFalse(semanticString.IsEmpty()); + Assert.IsFalse(semanticString.IsEmpty(), "Non-empty string should not report IsEmpty as true"); } [TestMethod] @@ -336,24 +330,24 @@ public void ImplicitConversions_WithNull() ReadOnlySpan spanResult = nullSemanticString; Assert.AreEqual(string.Empty, stringResult); - Assert.AreEqual(0, charArrayResult.Length); - Assert.IsTrue(spanResult.IsEmpty); + Assert.IsEmpty(charArrayResult); + Assert.IsTrue(spanResult.IsEmpty, "ReadOnlySpan from null should be empty"); } [TestMethod] public void Equals_WithString_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("test"); - Assert.IsTrue(semanticString.Equals("test")); - Assert.IsFalse(semanticString.Equals("other")); + Assert.IsTrue(semanticString.Equals("test"), "Should equal 'test'"); + Assert.IsFalse(semanticString.Equals("other"), "Should not equal 'other'"); } [TestMethod] public void Equals_WithStringComparison_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Test"); - Assert.IsTrue(semanticString.Equals("TEST", StringComparison.OrdinalIgnoreCase)); - Assert.IsFalse(semanticString.Equals("TEST", StringComparison.Ordinal)); + Assert.IsTrue(semanticString.Equals("TEST", StringComparison.OrdinalIgnoreCase), "Case-insensitive comparison should equal 'TEST'"); + Assert.IsFalse(semanticString.Equals("TEST", StringComparison.Ordinal), "Case-sensitive comparison should not equal 'TEST'"); } [TestMethod] @@ -362,15 +356,15 @@ public void GetEnumerator_IteratesOverCharacters() MySemanticString semanticString = SemanticString.Create("test"); using IEnumerator enumerator = ((IEnumerable)semanticString).GetEnumerator(); - Assert.IsTrue(enumerator.MoveNext()); + Assert.IsTrue(enumerator.MoveNext(), "Should be able to move to first character"); Assert.AreEqual('t', enumerator.Current); - Assert.IsTrue(enumerator.MoveNext()); + Assert.IsTrue(enumerator.MoveNext(), "Should be able to move to second character"); Assert.AreEqual('e', enumerator.Current); - Assert.IsTrue(enumerator.MoveNext()); + Assert.IsTrue(enumerator.MoveNext(), "Should be able to move to third character"); Assert.AreEqual('s', enumerator.Current); - Assert.IsTrue(enumerator.MoveNext()); + Assert.IsTrue(enumerator.MoveNext(), "Should be able to move to fourth character"); Assert.AreEqual('t', enumerator.Current); - Assert.IsFalse(enumerator.MoveNext()); + Assert.IsFalse(enumerator.MoveNext(), "Should not be able to move past last character"); } [TestMethod] @@ -636,7 +630,7 @@ public void IsNormalized_WithDefaultForm_ReturnsTrue() { MySemanticString semanticString = SemanticString.Create("hello"); bool result = semanticString.IsNormalized(); - Assert.IsTrue(result); + Assert.IsTrue(result, "Simple string should be normalized in default form"); } [TestMethod] @@ -644,7 +638,7 @@ public void IsNormalized_WithSpecificForm_ReturnsTrue() { MySemanticString semanticString = SemanticString.Create("hello"); bool result = semanticString.IsNormalized(NormalizationForm.FormC); - Assert.IsTrue(result); + Assert.IsTrue(result, "Simple string should be normalized in FormC"); } [TestMethod] @@ -668,15 +662,15 @@ public void StartsWith_WithCultureAndIgnoreCase_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Hello World"); bool result = semanticString.StartsWith("HELLO", true, CultureInfo.InvariantCulture); - Assert.IsTrue(result); + Assert.IsTrue(result, "Case-insensitive culture comparison should find 'HELLO' at start"); } [TestMethod] public void StartsWith_WithStringComparison_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Hello World"); - Assert.IsTrue(semanticString.StartsWith("HELLO", StringComparison.OrdinalIgnoreCase)); - Assert.IsFalse(semanticString.StartsWith("HELLO", StringComparison.Ordinal)); + Assert.IsTrue(semanticString.StartsWith("HELLO", StringComparison.OrdinalIgnoreCase), "Case-insensitive comparison should find 'HELLO' at start"); + Assert.IsFalse(semanticString.StartsWith("HELLO", StringComparison.Ordinal), "Case-sensitive comparison should not find 'HELLO' at start"); } [TestMethod] @@ -684,15 +678,15 @@ public void EndsWith_WithCultureAndIgnoreCase_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Hello World"); bool result = semanticString.EndsWith("WORLD", true, CultureInfo.InvariantCulture); - Assert.IsTrue(result); + Assert.IsTrue(result, "Case-insensitive culture comparison should find 'WORLD' at end"); } [TestMethod] public void EndsWith_WithStringComparison_ReturnsCorrectResult() { MySemanticString semanticString = SemanticString.Create("Hello World"); - Assert.IsTrue(semanticString.EndsWith("WORLD", StringComparison.OrdinalIgnoreCase)); - Assert.IsFalse(semanticString.EndsWith("WORLD", StringComparison.Ordinal)); + Assert.IsTrue(semanticString.EndsWith("WORLD", StringComparison.OrdinalIgnoreCase), "Case-insensitive comparison should find 'WORLD' at end"); + Assert.IsFalse(semanticString.EndsWith("WORLD", StringComparison.Ordinal), "Case-sensitive comparison should not find 'WORLD' at end"); } [TestMethod] @@ -821,7 +815,7 @@ public void TryCreate_String_ValidValue_ReturnsTrue() { bool result = SemanticString.TryCreate("test", out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "TryCreate should return true for valid input"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -831,7 +825,7 @@ public void TryCreate_String_NullValue_ReturnsFalse() { bool result = SemanticString.TryCreate((string?)null, out MySemanticString? semantic); - Assert.IsFalse(result); + Assert.IsFalse(result, "TryCreate should return false for null input"); Assert.IsNull(semantic); } @@ -840,7 +834,7 @@ public void TryCreate_String_InvalidValue_ReturnsFalse() { bool result = SemanticString.TryCreate("INVALID", out ValidationTestSemanticString? semantic); - Assert.IsFalse(result); + Assert.IsFalse(result, "TryCreate should return false for invalid input"); Assert.IsNull(semantic); } @@ -850,7 +844,7 @@ public void TryCreate_CharArray_ValidValue_ReturnsTrue() char[] chars = ['t', 'e', 's', 't']; bool result = SemanticString.TryCreate(chars, out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "TryCreate should return true for valid char array"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -860,7 +854,7 @@ public void TryCreate_CharArray_NullValue_ReturnsFalse() { bool result = SemanticString.TryCreate((char[]?)null, out MySemanticString? semantic); - Assert.IsFalse(result); + Assert.IsFalse(result, "TryCreate should return false for null char array"); Assert.IsNull(semantic); } @@ -870,7 +864,7 @@ public void TryCreate_ReadOnlySpan_ValidValue_ReturnsTrue() ReadOnlySpan span = "test".AsSpan(); bool result = SemanticString.TryCreate(span, out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "TryCreate should return true for valid ReadOnlySpan"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -881,7 +875,7 @@ public void TryCreate_ReadOnlySpan_EmptySpan_ReturnsTrue() ReadOnlySpan span = []; bool result = SemanticString.TryCreate(span, out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "TryCreate should return true for empty ReadOnlySpan"); Assert.IsNotNull(semantic); Assert.AreEqual(string.Empty, semantic.WeakString); } @@ -892,7 +886,7 @@ public void TryCreate_ReadOnlySpan_InvalidValue_ReturnsFalse() ReadOnlySpan span = "INVALID".AsSpan(); bool result = SemanticString.TryCreate(span, out ValidationTestSemanticString? semantic); - Assert.IsFalse(result); + Assert.IsFalse(result, "TryCreate should return false for invalid ReadOnlySpan"); Assert.IsNull(semantic); } @@ -901,7 +895,7 @@ public void TryCreate_Generic_String_ValidValue_ReturnsTrue() { bool result = MySemanticString.TryCreate("test", out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "Generic TryCreate should return true for valid string"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -912,7 +906,7 @@ public void TryCreate_Generic_CharArray_ValidValue_ReturnsTrue() char[] chars = ['t', 'e', 's', 't']; bool result = MySemanticString.TryCreate(chars, out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "Generic TryCreate should return true for valid char array"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -923,7 +917,7 @@ public void TryCreate_Generic_ReadOnlySpan_ValidValue_ReturnsTrue() ReadOnlySpan span = "test".AsSpan(); bool result = MySemanticString.TryCreate(span, out MySemanticString? semantic); - Assert.IsTrue(result); + Assert.IsTrue(result, "Generic TryCreate should return true for valid ReadOnlySpan"); Assert.IsNotNull(semantic); Assert.AreEqual("test", semantic.WeakString); } @@ -934,7 +928,7 @@ public void AsSpan_ReturnsCorrectSpan() MySemanticString semantic = SemanticString.Create("test"); ReadOnlySpan span = semantic.AsSpan(); - Assert.IsTrue(span.SequenceEqual("test".AsSpan())); + Assert.IsTrue(span.SequenceEqual("test".AsSpan()), "AsSpan should return span with expected content"); } [TestMethod] @@ -943,7 +937,7 @@ public void AsSpan_WithStartIndex_ReturnsCorrectSpan() MySemanticString semantic = SemanticString.Create("hello"); ReadOnlySpan span = semantic.AsSpan(2); - Assert.IsTrue(span.SequenceEqual("llo".AsSpan())); + Assert.IsTrue(span.SequenceEqual("llo".AsSpan()), "AsSpan with start index should return correct substring span"); } [TestMethod] @@ -952,7 +946,7 @@ public void AsSpan_WithStartIndexAndLength_ReturnsCorrectSpan() MySemanticString semantic = SemanticString.Create("hello"); ReadOnlySpan span = semantic.AsSpan(1, 3); - Assert.IsTrue(span.SequenceEqual("ell".AsSpan())); + Assert.IsTrue(span.SequenceEqual("ell".AsSpan()), "AsSpan with start index and length should return correct substring span"); } [TestMethod] @@ -992,7 +986,7 @@ public void StartsWith_ReadOnlySpan_ReturnsCorrectResult() ReadOnlySpan prefixSpan = "hello".AsSpan(); bool result = semantic.StartsWith(prefixSpan); - Assert.IsTrue(result); + Assert.IsTrue(result, "Should start with 'hello' span"); } [TestMethod] @@ -1002,7 +996,7 @@ public void StartsWith_ReadOnlySpan_WithStringComparison_ReturnsCorrectResult() ReadOnlySpan prefixSpan = "HELLO".AsSpan(); bool result = semantic.StartsWith(prefixSpan, StringComparison.OrdinalIgnoreCase); - Assert.IsTrue(result); + Assert.IsTrue(result, "Case-insensitive comparison should find 'HELLO' span at start"); } [TestMethod] @@ -1012,7 +1006,7 @@ public void EndsWith_ReadOnlySpan_ReturnsCorrectResult() ReadOnlySpan suffixSpan = "world".AsSpan(); bool result = semantic.EndsWith(suffixSpan); - Assert.IsTrue(result); + Assert.IsTrue(result, "Should end with 'world' span"); } [TestMethod] @@ -1022,7 +1016,7 @@ public void EndsWith_ReadOnlySpan_WithStringComparison_ReturnsCorrectResult() ReadOnlySpan suffixSpan = "WORLD".AsSpan(); bool result = semantic.EndsWith(suffixSpan, StringComparison.OrdinalIgnoreCase); - Assert.IsTrue(result); + Assert.IsTrue(result, "Case-insensitive comparison should find 'WORLD' span at end"); } [TestMethod] @@ -1032,7 +1026,7 @@ public void Contains_ReadOnlySpan_ReturnsCorrectResult() ReadOnlySpan searchSpan = "lo wo".AsSpan(); bool result = semantic.Contains(searchSpan); - Assert.IsTrue(result); + Assert.IsTrue(result, "Should contain 'lo wo' span"); } [TestMethod] @@ -1042,7 +1036,7 @@ public void Contains_ReadOnlySpan_WithStringComparison_ReturnsCorrectResult() ReadOnlySpan searchSpan = "LO WO".AsSpan(); bool result = semantic.Contains(searchSpan, StringComparison.OrdinalIgnoreCase); - Assert.IsTrue(result); + Assert.IsTrue(result, "Case-insensitive comparison should find 'LO WO' span"); } [TestMethod] @@ -1097,7 +1091,7 @@ public void TrimAsSpan_RemovesWhitespace() MySemanticString semantic = SemanticString.Create(" hello "); ReadOnlySpan trimmed = semantic.TrimAsSpan(); - Assert.IsTrue(trimmed.SequenceEqual("hello".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual("hello".AsSpan()), "TrimAsSpan should remove whitespace"); } [TestMethod] @@ -1106,7 +1100,7 @@ public void TrimAsSpan_WithTrimChars_RemovesSpecifiedChars() MySemanticString semantic = SemanticString.Create("##hello##"); ReadOnlySpan trimmed = semantic.TrimAsSpan("#".AsSpan()); - Assert.IsTrue(trimmed.SequenceEqual("hello".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual("hello".AsSpan()), "TrimAsSpan should remove specified chars"); } [TestMethod] @@ -1115,7 +1109,7 @@ public void TrimStartAsSpan_RemovesLeadingWhitespace() MySemanticString semantic = SemanticString.Create(" hello "); ReadOnlySpan trimmed = semantic.TrimStartAsSpan(); - Assert.IsTrue(trimmed.SequenceEqual("hello ".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual("hello ".AsSpan()), "TrimStartAsSpan should remove leading whitespace"); } [TestMethod] @@ -1124,7 +1118,7 @@ public void TrimStartAsSpan_WithTrimChars_RemovesSpecifiedLeadingChars() MySemanticString semantic = SemanticString.Create("##hello##"); ReadOnlySpan trimmed = semantic.TrimStartAsSpan("#".AsSpan()); - Assert.IsTrue(trimmed.SequenceEqual("hello##".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual("hello##".AsSpan()), "TrimStartAsSpan should remove specified leading chars"); } [TestMethod] @@ -1133,7 +1127,7 @@ public void TrimEndAsSpan_RemovesTrailingWhitespace() MySemanticString semantic = SemanticString.Create(" hello "); ReadOnlySpan trimmed = semantic.TrimEndAsSpan(); - Assert.IsTrue(trimmed.SequenceEqual(" hello".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual(" hello".AsSpan()), "TrimEndAsSpan should remove trailing whitespace"); } [TestMethod] @@ -1142,7 +1136,7 @@ public void TrimEndAsSpan_WithTrimChars_RemovesSpecifiedTrailingChars() MySemanticString semantic = SemanticString.Create("##hello##"); ReadOnlySpan trimmed = semantic.TrimEndAsSpan("#".AsSpan()); - Assert.IsTrue(trimmed.SequenceEqual("##hello".AsSpan())); + Assert.IsTrue(trimmed.SequenceEqual("##hello".AsSpan()), "TrimEndAsSpan should remove specified trailing chars"); } [TestMethod] @@ -1166,7 +1160,7 @@ public void MakeCanonical_WithNullInput_HandlesGracefully() public void IsValid_WithCustomValidation_ReturnsCorrectResult() { ValidationTestSemanticString validSemantic = SemanticString.Create("VALID test"); - Assert.IsTrue(validSemantic.IsValid()); + Assert.IsTrue(validSemantic.IsValid(), "String starting with 'VALID' should be valid"); // Testing that invalid values throw during creation Assert.ThrowsExactly(() => @@ -1211,10 +1205,10 @@ public void CompareTo_WithNull_ReturnsPositive() MySemanticString semantic = SemanticString.Create("test"); int result = semantic.CompareTo((object?)null); - Assert.IsTrue(result > 0); + Assert.IsGreaterThan(0, result); int resultSemantic = semantic.CompareTo(null); - Assert.IsTrue(resultSemantic > 0); + Assert.IsGreaterThan(0, resultSemantic); } [TestMethod] @@ -1234,10 +1228,10 @@ public void StaticMethods_WithNullSemanticString_HandleGracefully() Assert.AreEqual(string.Empty, result); char[] charResult = SemanticString.ToCharArray(null); - Assert.AreEqual(0, charResult.Length); + Assert.IsEmpty(charResult); ReadOnlySpan spanResult = SemanticString.ToReadOnlySpan(null); - Assert.IsTrue(spanResult.IsEmpty); + Assert.IsTrue(spanResult.IsEmpty, "ReadOnlySpan from null should be empty"); } [TestMethod] @@ -1247,8 +1241,8 @@ public void Create_WithEmptyString_CreatesValidInstance() Assert.IsNotNull(semantic); Assert.AreEqual(string.Empty, semantic.WeakString); - Assert.IsTrue(semantic.IsEmpty()); - Assert.IsTrue(semantic.IsValid()); + Assert.IsTrue(semantic.IsEmpty(), "Empty string should report IsEmpty as true"); + Assert.IsTrue(semantic.IsValid(), "Empty string should be valid"); } [TestMethod] @@ -1259,7 +1253,7 @@ public void ValidationAttributes_Integration_WorksCorrectly() // Since MySemanticString has no validation attributes, it should return true bool isValid = semantic.ValidateAttributes(); - Assert.IsTrue(isValid); + Assert.IsTrue(isValid, "ValidateAttributes should return true when no validation attributes are present"); } [TestMethod] @@ -1274,7 +1268,7 @@ public void SpanSplitEnumerator_EmptyString_HandlesCorrectly() } // Empty string split returns no parts in the current implementation - Assert.AreEqual(0, parts.Count); + Assert.IsEmpty(parts); } private static readonly string[] expectedSingleCharacter = ["a"]; @@ -1304,8 +1298,8 @@ public void SpanSplitEnumerator_OnlySeparators_HandlesCorrectly() } // ",," split by comma returns two empty parts in the current implementation - Assert.AreEqual(2, parts.Count); - Assert.IsTrue(parts.All(string.IsNullOrEmpty)); + Assert.HasCount(2, parts); + Assert.IsTrue(parts.All(string.IsNullOrEmpty), "All parts should be empty"); } [TestMethod] @@ -1318,7 +1312,7 @@ public void ErrorMessages_ContainTypeInformation() } catch (ArgumentException ex) { - StringAssert.Contains(ex.Message, nameof(ValidationTestSemanticString)); + Assert.Contains(nameof(ValidationTestSemanticString), ex.Message); } } } diff --git a/Semantics.Test/UtilityTests.cs b/Semantics.Test/UtilityTests.cs index 36e13fe..af4482c 100644 --- a/Semantics.Test/UtilityTests.cs +++ b/Semantics.Test/UtilityTests.cs @@ -127,7 +127,7 @@ public void GetDirectoryName_EmptyPath_ReturnsEmpty() ReadOnlySpan result = SpanPathUtilities.GetDirectoryName([]); // Assert - Assert.IsTrue(result.IsEmpty); + Assert.IsTrue(result.IsEmpty, "GetDirectoryName should return empty for an empty path"); } [TestMethod] @@ -140,7 +140,7 @@ public void GetDirectoryName_NoSeparator_ReturnsEmpty() ReadOnlySpan result = SpanPathUtilities.GetDirectoryName(path); // Assert - Assert.IsTrue(result.IsEmpty); + Assert.IsTrue(result.IsEmpty, "GetDirectoryName should return empty when path has no directory separator"); } [TestMethod] @@ -190,7 +190,7 @@ public void GetFileName_EmptyPath_ReturnsEmpty() ReadOnlySpan result = SpanPathUtilities.GetFileName([]); // Assert - Assert.IsTrue(result.IsEmpty); + Assert.IsTrue(result.IsEmpty, "GetFileName should return empty for an empty path"); } [TestMethod] @@ -255,7 +255,7 @@ public void GetFileName_TrailingSeparator_ReturnsEmpty() ReadOnlySpan result = SpanPathUtilities.GetFileName(path); // Assert - Assert.IsTrue(result.IsEmpty); + Assert.IsTrue(result.IsEmpty, "GetFileName should return empty for path with trailing separator"); } [TestMethod] @@ -265,7 +265,7 @@ public void EndsWithDirectorySeparator_EmptyPath_ReturnsFalse() bool result = SpanPathUtilities.EndsWithDirectorySeparator([]); // Assert - Assert.IsFalse(result); + Assert.IsFalse(result, "EndsWithDirectorySeparator should return false for empty path"); } [TestMethod] @@ -278,7 +278,7 @@ public void EndsWithDirectorySeparator_WithSeparator_ReturnsTrue() bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); // Assert - Assert.IsTrue(result); + Assert.IsTrue(result, "EndsWithDirectorySeparator should return true for path ending with directory separator"); } [TestMethod] @@ -291,7 +291,7 @@ public void EndsWithDirectorySeparator_WithAltSeparator_ReturnsTrue() bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); // Assert - Assert.IsTrue(result); + Assert.IsTrue(result, "EndsWithDirectorySeparator should return true for path ending with alt directory separator"); } [TestMethod] @@ -304,7 +304,7 @@ public void EndsWithDirectorySeparator_WithoutSeparator_ReturnsFalse() bool result = SpanPathUtilities.EndsWithDirectorySeparator(path); // Assert - Assert.IsFalse(result); + Assert.IsFalse(result, "EndsWithDirectorySeparator should return false for path without trailing separator"); } } @@ -318,42 +318,42 @@ public class InternedPathStringsTests public void DirectorySeparator_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.DirectorySeparator, string.Intern(Path.DirectorySeparatorChar.ToString()))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.DirectorySeparator, string.Intern(Path.DirectorySeparatorChar.ToString())), "DirectorySeparator should be interned"); } [TestMethod] public void AltDirectorySeparator_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.AltDirectorySeparator, string.Intern(Path.AltDirectorySeparatorChar.ToString()))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.AltDirectorySeparator, string.Intern(Path.AltDirectorySeparatorChar.ToString())), "AltDirectorySeparator should be interned"); } [TestMethod] public void Empty_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.Empty, string.Intern(string.Empty))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.Empty, string.Intern(string.Empty)), "Empty should be interned"); } [TestMethod] public void WindowsRoot_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.WindowsRoot, string.Intern(@"C:\"))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.WindowsRoot, string.Intern(@"C:\")), "WindowsRoot should be interned"); } [TestMethod] public void UnixRoot_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.UnixRoot, string.Intern("/"))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.UnixRoot, string.Intern("/")), "UnixRoot should be interned"); } [TestMethod] public void WindowsUncRoot_IsInterned() { // Assert - Assert.IsTrue(ReferenceEquals(InternedPathStrings.WindowsUncRoot, string.Intern(@"\\"))); + Assert.IsTrue(ReferenceEquals(InternedPathStrings.WindowsUncRoot, string.Intern(@"\\")), "WindowsUncRoot should be interned"); } [TestMethod] diff --git a/Semantics.Test/ValidationStrategyTests.cs b/Semantics.Test/ValidationStrategyTests.cs index 5ccf38d..696b724 100644 --- a/Semantics.Test/ValidationStrategyTests.cs +++ b/Semantics.Test/ValidationStrategyTests.cs @@ -6,6 +6,7 @@ namespace ktsu.Semantics.Test; using ktsu.Semantics.Strings; using System; +using ktsu.Semantics.Strings; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] diff --git a/VERSION.md b/VERSION.md index 939f5db..28dff43 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -1.0.20-pre.1 +1.0.35 diff --git a/docs/fluent-validation-integration.md b/docs/fluent-validation-integration.md deleted file mode 100644 index 9896222..0000000 --- a/docs/fluent-validation-integration.md +++ /dev/null @@ -1,291 +0,0 @@ -# FluentValidation Integration - -This document describes how the Semantics library has been enhanced to use FluentValidation internally for implementing validation attributes while maintaining the existing public API. - -## Overview - -The validation attributes in the Semantics library now use FluentValidation internally to provide more robust, flexible, and maintainable validation logic. This integration provides several benefits: - -- **Rich validation rules**: Access to FluentValidation's extensive set of built-in validators -- **Better error messages**: More descriptive and customizable error messages -- **Composable validation**: Easy combination of multiple validation rules -- **Maintainability**: Cleaner, more readable validation code -- **Extensibility**: Easier to create complex custom validation logic - -## Architecture - -### FluentValidationAdapter - -The `FluentValidationAdapter` class serves as a bridge between FluentValidation and the semantic string validation system: - -```csharp -public abstract class FluentValidationAdapter : AbstractValidator -{ - public bool ValidateSemanticString(ISemanticString semanticString); - public IEnumerable GetValidationErrors(ISemanticString semanticString); -} -``` - -### FluentSemanticStringValidationAttribute - -The `FluentSemanticStringValidationAttribute` is a new base class for validation attributes that use FluentValidation internally: - -```csharp -public abstract class FluentSemanticStringValidationAttribute : SemanticStringValidationAttribute -{ - protected abstract FluentValidationAdapter CreateValidator(); - public override bool Validate(ISemanticString semanticString); - public virtual IEnumerable GetValidationErrors(ISemanticString semanticString); -} -``` - -## Refactored Attributes - -The following validation attributes have been refactored to use FluentValidation: - -### Text Validation -- `IsEmailAddressAttribute` - Email format validation with length limits -- `IsBase64Attribute` - Base64 format validation with proper padding checks -- `RegexMatchAttribute` - Pattern matching with customizable regex options -- `StartsWithAttribute` - Prefix validation with string comparison options -- `EndsWithAttribute` - Suffix validation with string comparison options -- `ContainsAttribute` - Substring validation with string comparison options -- `PrefixAndSuffixAttribute` - Combined prefix and suffix validation - -### Format Validation -- `IsEmptyOrWhitespaceAttribute` - Validates empty or whitespace-only content -- `IsSingleLineAttribute` - Validates single-line strings (no line breaks) -- `IsMultiLineAttribute` - Validates multi-line strings (contains line breaks) - -### Path Validation -- `IsPathAttribute` - Valid path format with character and length limits -- `DoesExistAttribute` - Path existence validation on filesystem -- `IsExtensionAttribute` - File extension format validation -- `IsAbsolutePathAttribute` - Absolute path validation - -### Casing Validation -- `IsLowerCaseAttribute` - Lowercase string validation -- `IsUpperCaseAttribute` - Uppercase string validation - -### First-Class Type Validation -- `IsGuidAttribute` - GUID format validation - -## Benefits of FluentValidation Integration - -### 1. Rich Built-in Validators - -FluentValidation provides many built-in validators that can be easily composed: - -```csharp -RuleFor(value => value) - .NotEmpty() - .EmailAddress() - .MaximumLength(254); -``` - -### 2. Custom Validation Logic - -Complex custom validation can be implemented using the `Must()` method: - -```csharp -RuleFor(value => value) - .Must(BeValidBase64) - .WithMessage("The value must be a valid Base64 string.") - .When(value => !string.IsNullOrEmpty(value)); -``` - -### 3. Conditional Validation - -Validation rules can be applied conditionally: - -```csharp -RuleFor(value => value) - .Length(6, 10) - .WithMessage("Product code must be between 6 and 10 characters long.") - .When(value => !string.IsNullOrEmpty(value)); -``` - -### 4. Better Error Messages - -FluentValidation provides more descriptive error messages and allows for easy customization: - -```csharp -RuleFor(value => value) - .NotEmpty() - .WithMessage("Product code cannot be empty."); - -RuleFor(value => value) - .Must(value => char.IsLetter(value[0])) - .WithMessage("Product code must start with a letter."); -``` - -## Creating Custom Validation Attributes - -### Example 1: Product Code Validation - -This example demonstrates creating a validation attribute for product codes with multiple validation rules: - -```csharp -[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] -public sealed class IsProductCodeAttribute : FluentSemanticStringValidationAttribute -{ - protected override FluentValidationAdapter CreateValidator() => new ProductCodeValidator(); - - private sealed class ProductCodeValidator : FluentValidationAdapter - { - public ProductCodeValidator() - { - // Product codes must not be empty - RuleFor(value => value) - .NotEmpty() - .WithMessage("Product code cannot be empty."); - - // Product codes must be 6-10 characters long - RuleFor(value => value) - .Length(6, 10) - .WithMessage("Product code must be between 6 and 10 characters long.") - .When(value => !string.IsNullOrEmpty(value)); - - // Product codes must start with a letter - RuleFor(value => value) - .Must(value => char.IsLetter(value[0])) - .WithMessage("Product code must start with a letter.") - .When(value => !string.IsNullOrEmpty(value)); - - // Product codes must contain only alphanumeric characters - RuleFor(value => value) - .Matches(@"^[A-Za-z][A-Za-z0-9]*$") - .WithMessage("Product code must contain only alphanumeric characters and start with a letter.") - .When(value => !string.IsNullOrEmpty(value)); - } - } -} - -// Usage -[IsProductCode] -public sealed record ProductCode : SemanticString { } -``` - -### Example 2: Business Email Validation - -This example shows how to implement complex business logic with domain restrictions: - -```csharp -[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] -public sealed class IsBusinessEmailAttribute : FluentSemanticStringValidationAttribute -{ - private readonly string[] _allowedDomains; - - public IsBusinessEmailAttribute(params string[] allowedDomains) - { - _allowedDomains = allowedDomains ?? []; - } - - public string[] AllowedDomains => _allowedDomains; - - protected override FluentValidationAdapter CreateValidator() => new BusinessEmailValidator(_allowedDomains); - - private sealed class BusinessEmailValidator : FluentValidationAdapter - { - private readonly string[] _allowedDomains; - - public BusinessEmailValidator(string[] allowedDomains) - { - _allowedDomains = allowedDomains; - - // Must be a valid email address - RuleFor(value => value) - .EmailAddress() - .WithMessage("Must be a valid email address.") - .When(value => !string.IsNullOrEmpty(value)); - - // Must be from an allowed domain (if domains are specified) - if (_allowedDomains.Length > 0) - { - RuleFor(value => value) - .Must(BeFromAllowedDomain) - .WithMessage($"Email must be from one of the allowed domains: {string.Join(", ", _allowedDomains)}") - .When(value => !string.IsNullOrEmpty(value)); - } - - // Must not be a personal email domain - RuleFor(value => value) - .Must(NotBePersonalEmail) - .WithMessage("Personal email domains are not allowed for business emails.") - .When(value => !string.IsNullOrEmpty(value)); - } - - private bool BeFromAllowedDomain(string email) - { - if (string.IsNullOrEmpty(email) || _allowedDomains.Length == 0) - { - return true; - } - - string? domain = email.Split('@').LastOrDefault()?.ToLowerInvariant(); - return domain != null && _allowedDomains.Any(d => d.Equals(domain, StringComparison.OrdinalIgnoreCase)); - } - - private static bool NotBePersonalEmail(string email) - { - if (string.IsNullOrEmpty(email)) - { - return true; - } - - string[] personalDomains = ["gmail.com", "yahoo.com", "hotmail.com", "outlook.com", "aol.com"]; - string? domain = email.Split('@').LastOrDefault()?.ToLowerInvariant(); - return domain == null || !personalDomains.Contains(domain); - } - } -} - -// Usage -[IsBusinessEmail("company.com", "business.org")] -public sealed record BusinessEmail : SemanticString { } -``` - -### Example 3: Using Built-in Validation Attributes - -You can also use the existing FluentValidation-based attributes: - -```csharp -// Email address validation -[IsEmailAddress] -public sealed record EmailAddress : SemanticString { } - -// File path validation -[IsPath] -public sealed record FilePath : SemanticString { } - -// Multiple validation attributes -[IsLowerCase] -[Contains("_")] -[RegexMatch(@"^[a-z]+_[a-z]+$")] -public sealed record SnakeCase : SemanticString { } -``` - -## Migration Guide - -### For Existing Code - -All existing validation attributes continue to work exactly as before. The changes are internal implementation details that don't affect the public API. - -### For New Custom Validation Attributes - -When creating new validation attributes: - -1. **Inherit from FluentSemanticStringValidationAttribute** instead of `SemanticStringValidationAttribute` -2. **Implement CreateValidator()** to return your custom `FluentValidationAdapter` -3. **Create a validator class** that inherits from `FluentValidationAdapter` -4. **Define validation rules** in the validator's constructor using FluentValidation syntax - -## Future Enhancements - -The FluentValidation integration opens up possibilities for future enhancements: - -- **Async validation**: Support for asynchronous validation rules -- **Dependency injection**: Integration with DI containers for validator dependencies -- **Localization**: Built-in support for localized error messages -- **Conditional validation**: More complex conditional validation scenarios -- **Cross-field validation**: Validation that depends on multiple properties diff --git a/global.json b/global.json index 0dcafe4..ca8aaf6 100644 --- a/global.json +++ b/global.json @@ -4,7 +4,7 @@ "rollForward": "latestFeature" }, "msbuild-sdks": { - "MSTest.Sdk": "4.1.0", + "MSTest.Sdk": "4.2.2", "ktsu.Sdk": "2.6.1", "ktsu.Sdk.ConsoleApp": "2.6.1", "ktsu.Sdk.App": "2.6.1"