diff --git a/Deus.xcodeproj/project.pbxproj b/Deus.xcodeproj/project.pbxproj index 3215e8bd..87bd84f8 100644 --- a/Deus.xcodeproj/project.pbxproj +++ b/Deus.xcodeproj/project.pbxproj @@ -7,18 +7,18 @@ objects = { /* Begin PBXBuildFile section */ - 494EFC152DDF36D700C66063 /* Geometry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* Geometry.framework */; }; - 494EFC162DDF36D700C66063 /* Geometry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* Geometry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 494EFC152DDF36D700C66063 /* GeometryCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */; }; + 494EFC162DDF36D700C66063 /* GeometryCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 496813682E4643BA00B22450 /* ObservationKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 498FA26B2E2459DE0058A9C8 /* ObservationKit.framework */; }; - 497244D82E4A616100481D5B /* Geometry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* Geometry.framework */; }; - 497244D92E4A616100481D5B /* Geometry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* Geometry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 497244D82E4A616100481D5B /* GeometryCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */; }; + 497244D92E4A616100481D5B /* GeometryCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 497244DE2E4A618100481D5B /* Numerics in Frameworks */ = {isa = PBXBuildFile; productRef = 497244DD2E4A618100481D5B /* Numerics */; }; 498FA27E2E2459DE0058A9C8 /* ObservationKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 498FA26B2E2459DE0058A9C8 /* ObservationKit.framework */; }; 498FA27F2E2459DE0058A9C8 /* ObservationKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 498FA26B2E2459DE0058A9C8 /* ObservationKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 498FA2F52E2591E80058A9C8 /* QuantumMechanics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */; }; - 498FA2F62E2591E80058A9C8 /* QuantumMechanics.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 498FA2F52E2591E80058A9C8 /* QuantumMechanicsCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */; }; + 498FA2F62E2591E80058A9C8 /* QuantumMechanicsCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 49D1CE842F35175500F00D7D /* Collections in Frameworks */ = {isa = PBXBuildFile; productRef = 49D1CE832F35175500F00D7D /* Collections */; }; - 49EF5D582DE20D36008AFB31 /* QuantumMechanics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */; }; + 49EF5D582DE20D36008AFB31 /* QuantumMechanicsCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */; }; 49F1F4102E4E8BF700ABEF15 /* Numerics in Frameworks */ = {isa = PBXBuildFile; productRef = 49F1F40F2E4E8BF700ABEF15 /* Numerics */; }; /* End PBXBuildFile section */ @@ -99,7 +99,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 494EFC162DDF36D700C66063 /* Geometry.framework in Embed Frameworks */, + 494EFC162DDF36D700C66063 /* GeometryCore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -110,7 +110,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 497244D92E4A616100481D5B /* Geometry.framework in Embed Frameworks */, + 497244D92E4A616100481D5B /* GeometryCore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -121,7 +121,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 498FA2F62E2591E80058A9C8 /* QuantumMechanics.framework in Embed Frameworks */, + 498FA2F62E2591E80058A9C8 /* QuantumMechanicsCore.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -134,26 +134,26 @@ 49267D662EF1DA6C00FFA7AD /* .swift-version */ = {isa = PBXFileReference; lastKnownFileType = text; path = ".swift-version"; sourceTree = ""; }; 4927F36C2DD25BC400E368D8 /* Deus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Deus.app; sourceTree = BUILT_PRODUCTS_DIR; }; 492A77552EE2EBD500BDB7D1 /* on-build */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = "on-build"; sourceTree = ""; }; - 494EFBF92DDF36B100C66063 /* RelativityKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RelativityKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 494EFC012DDF36B200C66063 /* RelativityKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RelativityKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 494EFBF92DDF36B100C66063 /* RelativityCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RelativityCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 494EFC012DDF36B200C66063 /* RelativityCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RelativityCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 495EBF6C2F013ACE00B568B0 /* configure */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = configure; sourceTree = ""; }; 495EBF6D2F013ACE00B568B0 /* deconfigure */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = deconfigure; sourceTree = ""; }; - 4960AB482DDCE34E00EB1410 /* Geometry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Geometry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4960AB502DDCE34E00EB1410 /* GeometryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GeometryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GeometryCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4960AB502DDCE34E00EB1410 /* GeometryCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GeometryCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 496813642E4643BA00B22450 /* ObservationKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ObservationKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 498FA26B2E2459DE0058A9C8 /* ObservationKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObservationKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 49AAEB392F0822F600667191 /* LaboratoryKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LaboratoryKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = QuantumMechanics.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 49EF5D572DE20D36008AFB31 /* QuantumMechanicsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QuantumMechanicsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = QuantumMechanicsCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 49EF5D572DE20D36008AFB31 /* QuantumMechanicsCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QuantumMechanicsCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 493AD59E2E757A6E00DA3A76 /* Exceptions for "QuantumMechanicsTests" folder in "QuantumMechanicsTests" target */ = { + 493AD59E2E757A6E00DA3A76 /* Exceptions for "QuantumMechanicsCoreTests" folder in "QuantumMechanicsCoreTests" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( DiscretionTests.swift.gyb, ); - target = 49EF5D562DE20D36008AFB31 /* QuantumMechanicsTests */; + target = 49EF5D562DE20D36008AFB31 /* QuantumMechanicsCoreTests */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ @@ -173,24 +173,24 @@ path = Deus; sourceTree = ""; }; - 494EFBFA2DDF36B100C66063 /* RelativityKit */ = { + 494EFBFA2DDF36B100C66063 /* RelativityCore */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = RelativityKit; + path = RelativityCore; sourceTree = ""; }; - 494EFC072DDF36B200C66063 /* RelativityKitTests */ = { + 494EFC072DDF36B200C66063 /* RelativityCoreTests */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = RelativityKitTests; + path = RelativityCoreTests; sourceTree = ""; }; - 4960AB492DDCE34E00EB1410 /* Geometry */ = { + 4960AB492DDCE34E00EB1410 /* GeometryCore */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = Geometry; + path = GeometryCore; sourceTree = ""; }; - 4960AB562DDCE34E00EB1410 /* GeometryTests */ = { + 4960AB562DDCE34E00EB1410 /* GeometryCoreTests */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = GeometryTests; + path = GeometryCoreTests; sourceTree = ""; }; 496813652E4643BA00B22450 /* ObservationKitTests */ = { @@ -213,17 +213,17 @@ path = tooling; sourceTree = ""; }; - 49EF5D502DE20D36008AFB31 /* QuantumMechanics */ = { + 49EF5D502DE20D36008AFB31 /* QuantumMechanicsCore */ = { isa = PBXFileSystemSynchronizedRootGroup; - path = QuantumMechanics; + path = QuantumMechanicsCore; sourceTree = ""; }; - 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsTests */ = { + 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsCoreTests */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - 493AD59E2E757A6E00DA3A76 /* Exceptions for "QuantumMechanicsTests" folder in "QuantumMechanicsTests" target */, + 493AD59E2E757A6E00DA3A76 /* Exceptions for "QuantumMechanicsCoreTests" folder in "QuantumMechanicsCoreTests" target */, ); - path = QuantumMechanicsTests; + path = QuantumMechanicsCoreTests; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ @@ -241,7 +241,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 494EFC152DDF36D700C66063 /* Geometry.framework in Frameworks */, + 494EFC152DDF36D700C66063 /* GeometryCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -278,7 +278,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 498FA2F52E2591E80058A9C8 /* QuantumMechanics.framework in Frameworks */, + 498FA2F52E2591E80058A9C8 /* QuantumMechanicsCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -295,7 +295,7 @@ buildActionMask = 2147483647; files = ( 497244DE2E4A618100481D5B /* Numerics in Frameworks */, - 497244D82E4A616100481D5B /* Geometry.framework in Frameworks */, + 497244D82E4A616100481D5B /* GeometryCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -304,7 +304,7 @@ buildActionMask = 2147483647; files = ( 49F1F4102E4E8BF700ABEF15 /* Numerics in Frameworks */, - 49EF5D582DE20D36008AFB31 /* QuantumMechanics.framework in Frameworks */, + 49EF5D582DE20D36008AFB31 /* QuantumMechanicsCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -329,22 +329,22 @@ 4921F3192DD54F0B00393B6F /* .swift-format */, 4927F36C2DD25BC400E368D8 /* Deus.app */, 4927F36D2DD25BC400E368D8 /* Deus */, - 4960AB482DDCE34E00EB1410 /* Geometry.framework */, - 4960AB492DDCE34E00EB1410 /* Geometry */, - 4960AB502DDCE34E00EB1410 /* GeometryTests.xctest */, - 4960AB562DDCE34E00EB1410 /* GeometryTests */, - 494EFBFA2DDF36B100C66063 /* RelativityKit */, - 494EFC072DDF36B200C66063 /* RelativityKitTests */, - 49EF5D502DE20D36008AFB31 /* QuantumMechanics */, - 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsTests */, + 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */, + 4960AB492DDCE34E00EB1410 /* GeometryCore */, + 4960AB502DDCE34E00EB1410 /* GeometryCoreTests.xctest */, + 4960AB562DDCE34E00EB1410 /* GeometryCoreTests */, + 494EFBFA2DDF36B100C66063 /* RelativityCore */, + 494EFC072DDF36B200C66063 /* RelativityCoreTests */, + 49EF5D502DE20D36008AFB31 /* QuantumMechanicsCore */, + 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsCoreTests */, 498FA26C2E2459DE0058A9C8 /* ObservationKit */, 496813652E4643BA00B22450 /* ObservationKitTests */, 49AAEB3A2F0822F600667191 /* LaboratoryKit */, 4960AB6D2DDCE45D00EB1410 /* Frameworks */, - 494EFBF92DDF36B100C66063 /* RelativityKit.framework */, - 494EFC012DDF36B200C66063 /* RelativityKitTests.xctest */, - 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */, - 49EF5D572DE20D36008AFB31 /* QuantumMechanicsTests.xctest */, + 494EFBF92DDF36B100C66063 /* RelativityCore.framework */, + 494EFC012DDF36B200C66063 /* RelativityCoreTests.xctest */, + 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */, + 49EF5D572DE20D36008AFB31 /* QuantumMechanicsCoreTests.xctest */, 498FA26B2E2459DE0058A9C8 /* ObservationKit.framework */, 496813642E4643BA00B22450 /* ObservationKitTests.xctest */, 490C46FD2F02A40E00B5EC1C /* .github */, @@ -420,9 +420,9 @@ productReference = 4927F36C2DD25BC400E368D8 /* Deus.app */; productType = "com.apple.product-type.application"; }; - 494EFBF82DDF36B100C66063 /* RelativityKit */ = { + 494EFBF82DDF36B100C66063 /* RelativityCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 494EFC132DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityKit" */; + buildConfigurationList = 494EFC132DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityCore" */; buildPhases = ( 494EFBF42DDF36B100C66063 /* Headers */, 494EFBF52DDF36B100C66063 /* Sources */, @@ -436,18 +436,18 @@ 494EFC182DDF36D700C66063 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( - 494EFBFA2DDF36B100C66063 /* RelativityKit */, + 494EFBFA2DDF36B100C66063 /* RelativityCore */, ); - name = RelativityKit; + name = RelativityCore; packageProductDependencies = ( ); productName = RelativityKit; - productReference = 494EFBF92DDF36B100C66063 /* RelativityKit.framework */; + productReference = 494EFBF92DDF36B100C66063 /* RelativityCore.framework */; productType = "com.apple.product-type.framework"; }; - 494EFC002DDF36B200C66063 /* RelativityKitTests */ = { + 494EFC002DDF36B200C66063 /* RelativityCoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 494EFC142DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityKitTests" */; + buildConfigurationList = 494EFC142DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityCoreTests" */; buildPhases = ( 494EFBFD2DDF36B200C66063 /* Sources */, 494EFBFE2DDF36B200C66063 /* Frameworks */, @@ -460,18 +460,18 @@ 494EFC062DDF36B200C66063 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( - 494EFC072DDF36B200C66063 /* RelativityKitTests */, + 494EFC072DDF36B200C66063 /* RelativityCoreTests */, ); - name = RelativityKitTests; + name = RelativityCoreTests; packageProductDependencies = ( ); productName = RelativityKitTests; - productReference = 494EFC012DDF36B200C66063 /* RelativityKitTests.xctest */; + productReference = 494EFC012DDF36B200C66063 /* RelativityCoreTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 4960AB472DDCE34E00EB1410 /* Geometry */ = { + 4960AB472DDCE34E00EB1410 /* GeometryCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 4960AB622DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "Geometry" */; + buildConfigurationList = 4960AB622DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryCore" */; buildPhases = ( 4960AB432DDCE34E00EB1410 /* Headers */, 4960AB442DDCE34E00EB1410 /* Sources */, @@ -483,18 +483,18 @@ dependencies = ( ); fileSystemSynchronizedGroups = ( - 4960AB492DDCE34E00EB1410 /* Geometry */, + 4960AB492DDCE34E00EB1410 /* GeometryCore */, ); - name = Geometry; + name = GeometryCore; packageProductDependencies = ( ); productName = Geometry; - productReference = 4960AB482DDCE34E00EB1410 /* Geometry.framework */; + productReference = 4960AB482DDCE34E00EB1410 /* GeometryCore.framework */; productType = "com.apple.product-type.framework"; }; - 4960AB4F2DDCE34E00EB1410 /* GeometryTests */ = { + 4960AB4F2DDCE34E00EB1410 /* GeometryCoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 4960AB632DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryTests" */; + buildConfigurationList = 4960AB632DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryCoreTests" */; buildPhases = ( 4960AB4C2DDCE34E00EB1410 /* Sources */, 4960AB4D2DDCE34E00EB1410 /* Frameworks */, @@ -505,13 +505,13 @@ dependencies = ( ); fileSystemSynchronizedGroups = ( - 4960AB562DDCE34E00EB1410 /* GeometryTests */, + 4960AB562DDCE34E00EB1410 /* GeometryCoreTests */, ); - name = GeometryTests; + name = GeometryCoreTests; packageProductDependencies = ( ); productName = GeometryTests; - productReference = 4960AB502DDCE34E00EB1410 /* GeometryTests.xctest */; + productReference = 4960AB502DDCE34E00EB1410 /* GeometryCoreTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; 496813632E4643BA00B22450 /* ObservationKitTests */ = { @@ -587,9 +587,9 @@ productReference = 49AAEB392F0822F600667191 /* LaboratoryKit.framework */; productType = "com.apple.product-type.framework"; }; - 49EF5D4E2DE20D36008AFB31 /* QuantumMechanics */ = { + 49EF5D4E2DE20D36008AFB31 /* QuantumMechanicsCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 49EF5D642DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanics" */; + buildConfigurationList = 49EF5D642DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsCore" */; buildPhases = ( 49EF5D4A2DE20D36008AFB31 /* Headers */, 49EF5D4B2DE20D36008AFB31 /* Sources */, @@ -603,19 +603,19 @@ 497244DB2E4A616100481D5B /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( - 49EF5D502DE20D36008AFB31 /* QuantumMechanics */, + 49EF5D502DE20D36008AFB31 /* QuantumMechanicsCore */, ); - name = QuantumMechanics; + name = QuantumMechanicsCore; packageProductDependencies = ( 497244DD2E4A618100481D5B /* Numerics */, ); productName = StandardKit; - productReference = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanics.framework */; + productReference = 49EF5D4F2DE20D36008AFB31 /* QuantumMechanicsCore.framework */; productType = "com.apple.product-type.framework"; }; - 49EF5D562DE20D36008AFB31 /* QuantumMechanicsTests */ = { + 49EF5D562DE20D36008AFB31 /* QuantumMechanicsCoreTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 49EF5D672DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsTests" */; + buildConfigurationList = 49EF5D672DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsCoreTests" */; buildPhases = ( 49EF5D532DE20D36008AFB31 /* Sources */, 49EF5D542DE20D36008AFB31 /* Frameworks */, @@ -626,14 +626,14 @@ dependencies = ( ); fileSystemSynchronizedGroups = ( - 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsTests */, + 49EF5D5D2DE20D36008AFB31 /* QuantumMechanicsCoreTests */, ); - name = QuantumMechanicsTests; + name = QuantumMechanicsCoreTests; packageProductDependencies = ( 49F1F40F2E4E8BF700ABEF15 /* Numerics */, ); productName = StandardKitTests; - productReference = 49EF5D572DE20D36008AFB31 /* QuantumMechanicsTests.xctest */; + productReference = 49EF5D572DE20D36008AFB31 /* QuantumMechanicsCoreTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -698,12 +698,12 @@ projectRoot = ""; targets = ( 4927F36B2DD25BC400E368D8 /* Deus */, - 4960AB472DDCE34E00EB1410 /* Geometry */, - 4960AB4F2DDCE34E00EB1410 /* GeometryTests */, - 494EFBF82DDF36B100C66063 /* RelativityKit */, - 494EFC002DDF36B200C66063 /* RelativityKitTests */, - 49EF5D4E2DE20D36008AFB31 /* QuantumMechanics */, - 49EF5D562DE20D36008AFB31 /* QuantumMechanicsTests */, + 4960AB472DDCE34E00EB1410 /* GeometryCore */, + 4960AB4F2DDCE34E00EB1410 /* GeometryCoreTests */, + 494EFBF82DDF36B100C66063 /* RelativityCore */, + 494EFC002DDF36B200C66063 /* RelativityCoreTests */, + 49EF5D4E2DE20D36008AFB31 /* QuantumMechanicsCore */, + 49EF5D562DE20D36008AFB31 /* QuantumMechanicsCoreTests */, 498FA26A2E2459DE0058A9C8 /* ObservationKit */, 496813632E4643BA00B22450 /* ObservationKitTests */, 49AAEB382F0822F600667191 /* LaboratoryKit */, @@ -883,7 +883,7 @@ /* Begin PBXTargetDependency section */ 494EFC042DDF36B200C66063 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 494EFBF82DDF36B100C66063 /* RelativityKit */; + target = 494EFBF82DDF36B100C66063 /* RelativityCore */; targetProxy = 494EFC032DDF36B200C66063 /* PBXContainerItemProxy */; }; 494EFC062DDF36B200C66063 /* PBXTargetDependency */ = { @@ -893,7 +893,7 @@ }; 494EFC182DDF36D700C66063 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 4960AB472DDCE34E00EB1410 /* Geometry */; + target = 4960AB472DDCE34E00EB1410 /* GeometryCore */; targetProxy = 494EFC172DDF36D700C66063 /* PBXContainerItemProxy */; }; 4968136A2E4643BA00B22450 /* PBXTargetDependency */ = { @@ -903,7 +903,7 @@ }; 497244DB2E4A616100481D5B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 4960AB472DDCE34E00EB1410 /* Geometry */; + target = 4960AB472DDCE34E00EB1410 /* GeometryCore */; targetProxy = 497244DA2E4A616100481D5B /* PBXContainerItemProxy */; }; 498FA27D2E2459DE0058A9C8 /* PBXTargetDependency */ = { @@ -913,12 +913,12 @@ }; 498FA2F82E2591E80058A9C8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 49EF5D4E2DE20D36008AFB31 /* QuantumMechanics */; + target = 49EF5D4E2DE20D36008AFB31 /* QuantumMechanicsCore */; targetProxy = 498FA2F72E2591E80058A9C8 /* PBXContainerItemProxy */; }; 49AAEB442F08235200667191 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 49EF5D4E2DE20D36008AFB31 /* QuantumMechanics */; + target = 49EF5D4E2DE20D36008AFB31 /* QuantumMechanicsCore */; targetProxy = 49AAEB432F08235200667191 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -1005,7 +1005,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityKit"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1043,7 +1043,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityKit"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1063,7 +1063,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityKitTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; }; @@ -1078,7 +1078,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityKitTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.RelativityCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; }; @@ -1110,7 +1110,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.Geometry"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1147,7 +1147,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.Geometry"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1167,7 +1167,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; }; @@ -1182,7 +1182,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.GeometryCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; }; @@ -1406,7 +1406,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanics"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1443,7 +1443,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanics"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsCore"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1465,7 +1465,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -1482,7 +1482,7 @@ GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.supernova-oss.deus.QuantumMechanicsCoreTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; }; @@ -1626,7 +1626,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 494EFC132DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityKit" */ = { + 494EFC132DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityCore" */ = { isa = XCConfigurationList; buildConfigurations = ( 494EFC0F2DDF36B200C66063 /* Debug */, @@ -1635,7 +1635,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 494EFC142DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityKitTests" */ = { + 494EFC142DDF36B200C66063 /* Build configuration list for PBXNativeTarget "RelativityCoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 494EFC112DDF36B200C66063 /* Debug */, @@ -1644,7 +1644,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4960AB622DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "Geometry" */ = { + 4960AB622DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryCore" */ = { isa = XCConfigurationList; buildConfigurations = ( 4960AB5E2DDCE34E00EB1410 /* Debug */, @@ -1653,7 +1653,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4960AB632DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryTests" */ = { + 4960AB632DDCE34E00EB1410 /* Build configuration list for PBXNativeTarget "GeometryCoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 4960AB602DDCE34E00EB1410 /* Debug */, @@ -1689,7 +1689,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 49EF5D642DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanics" */ = { + 49EF5D642DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsCore" */ = { isa = XCConfigurationList; buildConfigurations = ( 49EF5D652DE20D36008AFB31 /* Debug */, @@ -1698,7 +1698,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 49EF5D672DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsTests" */ = { + 49EF5D672DE20D36008AFB31 /* Build configuration list for PBXNativeTarget "QuantumMechanicsCoreTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 49EF5D682DE20D36008AFB31 /* Debug */, diff --git a/Deus.xcodeproj/xcshareddata/xcschemes/Deus.xcscheme b/Deus.xcodeproj/xcshareddata/xcschemes/Deus.xcscheme index fbca95f6..230a8edc 100644 --- a/Deus.xcodeproj/xcshareddata/xcschemes/Deus.xcscheme +++ b/Deus.xcodeproj/xcshareddata/xcschemes/Deus.xcscheme @@ -63,8 +63,8 @@ @@ -74,8 +74,8 @@ @@ -84,8 +84,8 @@ diff --git a/Deus.xcodeproj/xcshareddata/xcschemes/Geometry.xcscheme b/Deus.xcodeproj/xcshareddata/xcschemes/Geometry.xcscheme index 39e94d9d..4f66d9dc 100644 --- a/Deus.xcodeproj/xcshareddata/xcschemes/Geometry.xcscheme +++ b/Deus.xcodeproj/xcshareddata/xcschemes/Geometry.xcscheme @@ -16,8 +16,8 @@ @@ -51,8 +51,8 @@ diff --git a/Deus.xcodeproj/xcshareddata/xcschemes/GeometryTests.xcscheme b/Deus.xcodeproj/xcshareddata/xcschemes/GeometryTests.xcscheme index eba21046..e671bf2c 100644 --- a/Deus.xcodeproj/xcshareddata/xcschemes/GeometryTests.xcscheme +++ b/Deus.xcodeproj/xcshareddata/xcschemes/GeometryTests.xcscheme @@ -20,8 +20,8 @@ diff --git a/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKit.xcscheme b/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKit.xcscheme index d4c9f2f4..32322685 100644 --- a/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKit.xcscheme +++ b/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKit.xcscheme @@ -16,8 +16,8 @@ @@ -51,8 +51,8 @@ diff --git a/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKitTests.xcscheme b/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKitTests.xcscheme index 753d18a8..0b7e7a4c 100644 --- a/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKitTests.xcscheme +++ b/Deus.xcodeproj/xcshareddata/xcschemes/RelativityKitTests.xcscheme @@ -20,8 +20,8 @@ diff --git a/Geometry/2D.swift b/GeometryCore/2D.swift similarity index 100% rename from Geometry/2D.swift rename to GeometryCore/2D.swift diff --git a/Geometry/BezierCurve.swift b/GeometryCore/BezierCurve.swift similarity index 100% rename from Geometry/BezierCurve.swift rename to GeometryCore/BezierCurve.swift diff --git a/Geometry/Geometry.swift b/GeometryCore/GeometryCore.swift similarity index 100% rename from Geometry/Geometry.swift rename to GeometryCore/GeometryCore.swift diff --git a/GeometryTests/2DTests.swift b/GeometryCoreTests/2DTests.swift similarity index 97% rename from GeometryTests/2DTests.swift rename to GeometryCoreTests/2DTests.swift index 8d145e88..f76a1701 100644 --- a/GeometryTests/2DTests.swift +++ b/GeometryCoreTests/2DTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import Geometry +@testable import GeometryCore struct TwoDTests { @Test diff --git a/GeometryTests/BezierCurveTests.swift b/GeometryCoreTests/BezierCurveTests.swift similarity index 98% rename from GeometryTests/BezierCurveTests.swift rename to GeometryCoreTests/BezierCurveTests.swift index 7f42bfb7..4d6927c5 100644 --- a/GeometryTests/BezierCurveTests.swift +++ b/GeometryCoreTests/BezierCurveTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import Geometry +@testable import GeometryCore struct BezierCurveTests { @Test diff --git a/ObservationKit/Entity+QuarkLike.swift b/ObservationKit/Entity+QuarkLike.swift index bd59b034..36b8e0a3 100644 --- a/ObservationKit/Entity+QuarkLike.swift +++ b/ObservationKit/Entity+QuarkLike.swift @@ -19,7 +19,7 @@ import AppKit import RealityKit -import QuantumMechanics +import QuantumMechanicsCore /// Shape of a quark-like: a sphere. @MainActor diff --git a/ObservationKit/NSColor+SingleColorLike.swift b/ObservationKit/NSColor+SingleColorLike.swift index 15f71ba8..8fbd9983 100644 --- a/ObservationKit/NSColor+SingleColorLike.swift +++ b/ObservationKit/NSColor+SingleColorLike.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import AppKit -import QuantumMechanics +import QuantumMechanicsCore extension NSColor { /// Converts a color-like from the Standard Model into an `NSColor`. diff --git a/ObservationKit/ObservationView.swift b/ObservationKit/ObservationView.swift index a80821bd..d7441750 100644 --- a/ObservationKit/ObservationView.swift +++ b/ObservationKit/ObservationView.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import RealityKit -import QuantumMechanics +import QuantumMechanicsCore import SwiftUI /// `View` by which a simulation of particle physics is displayed. diff --git a/ObservationKitTests/Entity+QuarkLikeTests.swift b/ObservationKitTests/Entity+QuarkLikeTests.swift index 2743c42b..908d369f 100644 --- a/ObservationKitTests/Entity+QuarkLikeTests.swift +++ b/ObservationKitTests/Entity+QuarkLikeTests.swift @@ -19,7 +19,7 @@ import AppKit @preconcurrency import RealityKit -import QuantumMechanics +import QuantumMechanicsCore import Testing @testable import ObservationKit diff --git a/ObservationKitTests/NSColor+SingleColorLikeTests.swift b/ObservationKitTests/NSColor+SingleColorLikeTests.swift index f36d09d2..71d52069 100644 --- a/ObservationKitTests/NSColor+SingleColorLikeTests.swift +++ b/ObservationKitTests/NSColor+SingleColorLikeTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import AppKit -import QuantumMechanics +import QuantumMechanicsCore import Testing @testable import ObservationKit diff --git a/QuantumMechanics/AnyParticle.swift b/QuantumMechanicsCore/AnyParticle.swift similarity index 100% rename from QuantumMechanics/AnyParticle.swift rename to QuantumMechanicsCore/AnyParticle.swift diff --git a/QuantumMechanics/Chromodynamics/AnySingleColor.swift b/QuantumMechanicsCore/Chromodynamics/AnySingleColor.swift similarity index 97% rename from QuantumMechanics/Chromodynamics/AnySingleColor.swift rename to QuantumMechanicsCore/Chromodynamics/AnySingleColor.swift index c1930d7e..09aa9fbc 100644 --- a/QuantumMechanics/Chromodynamics/AnySingleColor.swift +++ b/QuantumMechanicsCore/Chromodynamics/AnySingleColor.swift @@ -134,8 +134,8 @@ extension SingleColorLike { fatalError( "Anticolor \(self) has an unknown counterpart: \(self.counterpart). " + "Conformance to the SingleColor protocol is restricted to the " - + "QuantumMechanics framework; introductions of custom types will " - + "likely result in errors such as this one." + + "QuantumMechanicsCore framework; introductions of custom types " + + "will likely result in errors such as this one." ) } } else { diff --git a/QuantumMechanics/Chromodynamics/Color.swift b/QuantumMechanicsCore/Chromodynamics/Color.swift similarity index 100% rename from QuantumMechanics/Chromodynamics/Color.swift rename to QuantumMechanicsCore/Chromodynamics/Color.swift diff --git a/QuantumMechanics/Chromodynamics/ColoredParticle.swift b/QuantumMechanicsCore/Chromodynamics/ColoredParticle.swift similarity index 97% rename from QuantumMechanics/Chromodynamics/ColoredParticle.swift rename to QuantumMechanicsCore/Chromodynamics/ColoredParticle.swift index fc451189..19860677 100644 --- a/QuantumMechanics/Chromodynamics/ColoredParticle.swift +++ b/QuantumMechanicsCore/Chromodynamics/ColoredParticle.swift @@ -21,7 +21,7 @@ /// conform. public protocol ColoredParticleLike: ParticleLike { /// The specific type of ``ColorLike``. - associatedtype ColorLike: QuantumMechanics.ColorLike + associatedtype ColorLike: QuantumMechanicsCore.ColorLike /// Measured transformation under the SU(3) symmetry. var colorLike: ColorLike { get } diff --git a/QuantumMechanics/Chromodynamics/RandomAccessCollection+Pair.swift b/QuantumMechanicsCore/Chromodynamics/RandomAccessCollection+Pair.swift similarity index 100% rename from QuantumMechanics/Chromodynamics/RandomAccessCollection+Pair.swift rename to QuantumMechanicsCore/Chromodynamics/RandomAccessCollection+Pair.swift diff --git a/QuantumMechanics/Chromodynamics/SingleColorLike.swift b/QuantumMechanicsCore/Chromodynamics/SingleColorLike.swift similarity index 100% rename from QuantumMechanics/Chromodynamics/SingleColorLike.swift rename to QuantumMechanicsCore/Chromodynamics/SingleColorLike.swift diff --git a/QuantumMechanics/Chromodynamics/SpecificColorLike.swift b/QuantumMechanicsCore/Chromodynamics/SpecificColorLike.swift similarity index 100% rename from QuantumMechanics/Chromodynamics/SpecificColorLike.swift rename to QuantumMechanicsCore/Chromodynamics/SpecificColorLike.swift diff --git a/QuantumMechanics/Complex+RealType.swift b/QuantumMechanicsCore/Complex+RealType.swift similarity index 100% rename from QuantumMechanics/Complex+RealType.swift rename to QuantumMechanicsCore/Complex+RealType.swift diff --git a/QuantumMechanics/Composite/Hadron.swift b/QuantumMechanicsCore/Composite/Hadron.swift similarity index 100% rename from QuantumMechanics/Composite/Hadron.swift rename to QuantumMechanicsCore/Composite/Hadron.swift diff --git a/QuantumMechanics/Composite/Meson.swift b/QuantumMechanicsCore/Composite/Meson.swift similarity index 100% rename from QuantumMechanics/Composite/Meson.swift rename to QuantumMechanicsCore/Composite/Meson.swift diff --git a/QuantumMechanics/Composite/Pion/NegativePion.swift b/QuantumMechanicsCore/Composite/Pion/NegativePion.swift similarity index 100% rename from QuantumMechanics/Composite/Pion/NegativePion.swift rename to QuantumMechanicsCore/Composite/Pion/NegativePion.swift diff --git a/QuantumMechanics/Composite/Pion/Pion.swift b/QuantumMechanicsCore/Composite/Pion/Pion.swift similarity index 100% rename from QuantumMechanics/Composite/Pion/Pion.swift rename to QuantumMechanicsCore/Composite/Pion/Pion.swift diff --git a/QuantumMechanics/Composite/Pion/PositivePion.swift b/QuantumMechanicsCore/Composite/Pion/PositivePion.swift similarity index 100% rename from QuantumMechanics/Composite/Pion/PositivePion.swift rename to QuantumMechanicsCore/Composite/Pion/PositivePion.swift diff --git a/QuantumMechanics/Configuration/Approximator.swift b/QuantumMechanicsCore/Configuration/Approximator.swift similarity index 100% rename from QuantumMechanics/Configuration/Approximator.swift rename to QuantumMechanicsCore/Configuration/Approximator.swift diff --git a/QuantumMechanics/Constants.swift b/QuantumMechanicsCore/Constants.swift similarity index 100% rename from QuantumMechanics/Constants.swift rename to QuantumMechanicsCore/Constants.swift diff --git a/QuantumMechanics/Discrete.swift b/QuantumMechanicsCore/Discrete.swift similarity index 100% rename from QuantumMechanics/Discrete.swift rename to QuantumMechanicsCore/Discrete.swift diff --git a/QuantumMechanics/Elementary/Quark.swift b/QuantumMechanicsCore/Elementary/Quark.swift similarity index 100% rename from QuantumMechanics/Elementary/Quark.swift rename to QuantumMechanicsCore/Elementary/Quark.swift diff --git a/QuantumMechanics/Measurement.swift b/QuantumMechanicsCore/Measurement.swift similarity index 100% rename from QuantumMechanics/Measurement.swift rename to QuantumMechanicsCore/Measurement.swift diff --git a/QuantumMechanics/Opposable.swift b/QuantumMechanicsCore/Opposable.swift similarity index 100% rename from QuantumMechanics/Opposable.swift rename to QuantumMechanicsCore/Opposable.swift diff --git a/QuantumMechanics/Particle.swift b/QuantumMechanicsCore/Particle.swift similarity index 100% rename from QuantumMechanics/Particle.swift rename to QuantumMechanicsCore/Particle.swift diff --git a/QuantumMechanics/StandardKit.swift b/QuantumMechanicsCore/QuantumMechanicsCore.swift similarity index 100% rename from QuantumMechanics/StandardKit.swift rename to QuantumMechanicsCore/QuantumMechanicsCore.swift diff --git a/QuantumMechanics/Spin.swift b/QuantumMechanicsCore/Spin.swift similarity index 100% rename from QuantumMechanics/Spin.swift rename to QuantumMechanicsCore/Spin.swift diff --git a/QuantumMechanics/Symmetry.swift b/QuantumMechanicsCore/Symmetry.swift similarity index 98% rename from QuantumMechanics/Symmetry.swift rename to QuantumMechanicsCore/Symmetry.swift index d71ac7bf..df998a82 100644 --- a/QuantumMechanics/Symmetry.swift +++ b/QuantumMechanicsCore/Symmetry.swift @@ -17,7 +17,7 @@ // this program. If not, see https://www.gnu.org/licenses. // ===-----------------------------------------------------------------------=== -import Geometry +import GeometryCore internal import Numerics // MARK: - U(1) diff --git a/QuantumMechanicsTests/Anti+ParticleTests.swift b/QuantumMechanicsCoreTests/Anti+ParticleTests.swift similarity index 97% rename from QuantumMechanicsTests/Anti+ParticleTests.swift rename to QuantumMechanicsCoreTests/Anti+ParticleTests.swift index 78820a18..deb82f86 100644 --- a/QuantumMechanicsTests/Anti+ParticleTests.swift +++ b/QuantumMechanicsCoreTests/Anti+ParticleTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct AntiparticleTests { @Test diff --git a/QuantumMechanicsTests/Chromodynamics/Anti+ColorTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/Anti+ColorTests.swift similarity index 96% rename from QuantumMechanicsTests/Chromodynamics/Anti+ColorTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/Anti+ColorTests.swift index 213438e1..3f03b11e 100644 --- a/QuantumMechanicsTests/Chromodynamics/Anti+ColorTests.swift +++ b/QuantumMechanicsCoreTests/Chromodynamics/Anti+ColorTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct AnticolorTests { @Test diff --git a/QuantumMechanicsTests/Chromodynamics/AnySingleColorLikeTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorLikeTests.swift similarity index 99% rename from QuantumMechanicsTests/Chromodynamics/AnySingleColorLikeTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorLikeTests.swift index c60a0949..ccdcec4f 100644 --- a/QuantumMechanicsTests/Chromodynamics/AnySingleColorLikeTests.swift +++ b/QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorLikeTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct AnySingleColorLikeTests { @Test(arguments: AnySingleColorLike.discretion) diff --git a/QuantumMechanicsTests/Chromodynamics/AnySingleColorTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorTests.swift similarity index 98% rename from QuantumMechanicsTests/Chromodynamics/AnySingleColorTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorTests.swift index aef7faf3..37a17d05 100644 --- a/QuantumMechanicsTests/Chromodynamics/AnySingleColorTests.swift +++ b/QuantumMechanicsCoreTests/Chromodynamics/AnySingleColorTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct AnySingleColorTests { @Suite("Equality") diff --git a/QuantumMechanicsTests/Chromodynamics/Collection+Pair.swift b/QuantumMechanicsCoreTests/Chromodynamics/Collection+Pair.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/Collection+Pair.swift rename to QuantumMechanicsCoreTests/Chromodynamics/Collection+Pair.swift diff --git a/QuantumMechanicsTests/Chromodynamics/Collection+PairTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/Collection+PairTests.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/Collection+PairTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/Collection+PairTests.swift diff --git a/QuantumMechanicsTests/Chromodynamics/Collection+Repetition.swift b/QuantumMechanicsCoreTests/Chromodynamics/Collection+Repetition.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/Collection+Repetition.swift rename to QuantumMechanicsCoreTests/Chromodynamics/Collection+Repetition.swift diff --git a/QuantumMechanicsTests/Chromodynamics/Collection+RepetitionTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/Collection+RepetitionTests.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/Collection+RepetitionTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/Collection+RepetitionTests.swift diff --git a/QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+Chunk.swift b/QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+Chunk.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+Chunk.swift rename to QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+Chunk.swift diff --git a/QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+ChunkTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+ChunkTests.swift similarity index 100% rename from QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+ChunkTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+ChunkTests.swift diff --git a/QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+PairTests.swift b/QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+PairTests.swift similarity index 98% rename from QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+PairTests.swift rename to QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+PairTests.swift index f93e9931..4de153a3 100644 --- a/QuantumMechanicsTests/Chromodynamics/RandomAccessCollection+PairTests.swift +++ b/QuantumMechanicsCoreTests/Chromodynamics/RandomAccessCollection+PairTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore @Suite("RandomAccessCollection+Pair tests") struct RandomAccessCollectionPairTests { diff --git a/QuantumMechanicsTests/Complex+RealTypeTests.swift b/QuantumMechanicsCoreTests/Complex+RealTypeTests.swift similarity index 96% rename from QuantumMechanicsTests/Complex+RealTypeTests.swift rename to QuantumMechanicsCoreTests/Complex+RealTypeTests.swift index 494f836c..299c7a09 100644 --- a/QuantumMechanicsTests/Complex+RealTypeTests.swift +++ b/QuantumMechanicsCoreTests/Complex+RealTypeTests.swift @@ -19,7 +19,7 @@ import Numerics import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct ComplexPlusRealTypeTests { @Test diff --git a/QuantumMechanicsTests/Composite/Pion/NegativePionTests.swift b/QuantumMechanicsCoreTests/Composite/Pion/NegativePionTests.swift similarity index 97% rename from QuantumMechanicsTests/Composite/Pion/NegativePionTests.swift rename to QuantumMechanicsCoreTests/Composite/Pion/NegativePionTests.swift index 94416f08..2b12108b 100644 --- a/QuantumMechanicsTests/Composite/Pion/NegativePionTests.swift +++ b/QuantumMechanicsCoreTests/Composite/Pion/NegativePionTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct NegativePionTests { private let downQuark = DownQuark(colorLike: red) diff --git a/QuantumMechanicsTests/Composite/Pion/PositivePionTests.swift b/QuantumMechanicsCoreTests/Composite/Pion/PositivePionTests.swift similarity index 97% rename from QuantumMechanicsTests/Composite/Pion/PositivePionTests.swift rename to QuantumMechanicsCoreTests/Composite/Pion/PositivePionTests.swift index a4d514e4..1feffaaf 100644 --- a/QuantumMechanicsTests/Composite/Pion/PositivePionTests.swift +++ b/QuantumMechanicsCoreTests/Composite/Pion/PositivePionTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct PositivePionTests { private let upQuark = UpQuark(colorLike: red) diff --git a/QuantumMechanicsTests/Configuration/ApproximatorTests.swift b/QuantumMechanicsCoreTests/Configuration/ApproximatorTests.swift similarity index 96% rename from QuantumMechanicsTests/Configuration/ApproximatorTests.swift rename to QuantumMechanicsCoreTests/Configuration/ApproximatorTests.swift index 68293b0d..3a9db707 100644 --- a/QuantumMechanicsTests/Configuration/ApproximatorTests.swift +++ b/QuantumMechanicsCoreTests/Configuration/ApproximatorTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct ApproximatorTests { @Test diff --git a/QuantumMechanicsCoreTests/DiscretionTests.swift b/QuantumMechanicsCoreTests/DiscretionTests.swift new file mode 100644 index 00000000..5ec6b8e2 --- /dev/null +++ b/QuantumMechanicsCoreTests/DiscretionTests.swift @@ -0,0 +1,114 @@ +// ===-----------------------------------------------------------------------=== +// Copyright © 2026 Supernova +// +// This file is part of the Deus open-source project. +// +// This program is free software: you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free Software +// Foundation, either version 3 of the License, or (at your option) any later +// version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// this program. If not, see https://www.gnu.org/licenses. +// ===-----------------------------------------------------------------------=== + +import Testing +@testable import QuantumMechanicsCore + +struct AnySingleColorLikeDiscretionTests { + @Test(arguments: [ + AnySingleColorLike(red), .init(Anti(red)), .init(green), .init(Anti(green)), + .init(blue), .init(Anti(blue)) + ]) + func allKnownSingleColorsAndTheirCounterpartsAreIncludedInDiscretion( + _ singleColorLike: AnySingleColorLike + ) { + #expect( + AnySingleColorLike.discretion.contains(where: { discreteSingleColorLike in + discreteSingleColorLike == singleColorLike + }) + ) + } +} + +struct AnySingleColorDiscretionTests { + @Test(arguments: [AnySingleColor(red), .init(green), .init(blue)]) + func allKnownSingleColorsAndTheirCounterpartsAreIncludedInDiscretion( + _ singleColor: AnySingleColor + ) { + #expect( + AnySingleColor.discretion.contains(where: { discreteSingleColor in + discreteSingleColor == singleColor + }) + ) + } +} + +struct AnyQuarkLikeDiscretionTests { + @Test(arguments: [ + AnyQuarkLike(UpQuark(colorLike: red)), .init(Anti(UpQuark(colorLike: red))), + .init(UpQuark(colorLike: green)), .init(Anti(UpQuark(colorLike: green))), + .init(UpQuark(colorLike: blue)), .init(Anti(UpQuark(colorLike: blue))), + .init(DownQuark(colorLike: red)), .init(Anti(DownQuark(colorLike: red))), + .init(DownQuark(colorLike: green)), + .init(Anti(DownQuark(colorLike: green))), .init(DownQuark(colorLike: blue)), + .init(Anti(DownQuark(colorLike: blue))), .init(CharmQuark(colorLike: red)), + .init(Anti(CharmQuark(colorLike: red))), + .init(CharmQuark(colorLike: green)), + .init(Anti(CharmQuark(colorLike: green))), + .init(CharmQuark(colorLike: blue)), + .init(Anti(CharmQuark(colorLike: blue))), + .init(StrangeQuark(colorLike: red)), + .init(Anti(StrangeQuark(colorLike: red))), + .init(StrangeQuark(colorLike: green)), + .init(Anti(StrangeQuark(colorLike: green))), + .init(StrangeQuark(colorLike: blue)), + .init(Anti(StrangeQuark(colorLike: blue))), + .init(BottomQuark(colorLike: red)), + .init(Anti(BottomQuark(colorLike: red))), + .init(BottomQuark(colorLike: green)), + .init(Anti(BottomQuark(colorLike: green))), + .init(BottomQuark(colorLike: blue)), + .init(Anti(BottomQuark(colorLike: blue))), .init(TopQuark(colorLike: red)), + .init(Anti(TopQuark(colorLike: red))), .init(TopQuark(colorLike: green)), + .init(Anti(TopQuark(colorLike: green))), .init(TopQuark(colorLike: blue)), + .init(Anti(TopQuark(colorLike: blue))) + ]) + func allKnownQuarksAndTheirCounterpartsAreIncludedInDiscretion( + _ quarkLike: AnyQuarkLike + ) { + #expect( + AnyQuarkLike.discretion.contains(where: { discreteQuarkLike in + discreteQuarkLike == quarkLike + }) + ) + } +} + +struct AnyQuarkDiscretionTests { + @Test(arguments: [ + AnyQuark(UpQuark(colorLike: red)), .init(UpQuark(colorLike: green)), + .init(UpQuark(colorLike: blue)), .init(DownQuark(colorLike: red)), + .init(DownQuark(colorLike: green)), .init(DownQuark(colorLike: blue)), + .init(CharmQuark(colorLike: red)), .init(CharmQuark(colorLike: green)), + .init(CharmQuark(colorLike: blue)), .init(StrangeQuark(colorLike: red)), + .init(StrangeQuark(colorLike: green)), .init(StrangeQuark(colorLike: blue)), + .init(BottomQuark(colorLike: red)), .init(BottomQuark(colorLike: green)), + .init(BottomQuark(colorLike: blue)), .init(TopQuark(colorLike: red)), + .init(TopQuark(colorLike: green)), .init(TopQuark(colorLike: blue)) + ]) + func allKnownQuarksAndTheirCounterpartsAreIncludedInDiscretion( + _ quark: AnyQuark + ) { + #expect( + AnyQuark.discretion.contains(where: { discreteQuark in + discreteQuark == quark + }) + ) + } +} diff --git a/QuantumMechanicsTests/DiscretionTests.swift.gyb b/QuantumMechanicsCoreTests/DiscretionTests.swift.gyb similarity index 99% rename from QuantumMechanicsTests/DiscretionTests.swift.gyb rename to QuantumMechanicsCoreTests/DiscretionTests.swift.gyb index 26639564..2e4c62e1 100644 --- a/QuantumMechanicsTests/DiscretionTests.swift.gyb +++ b/QuantumMechanicsCoreTests/DiscretionTests.swift.gyb @@ -86,7 +86,7 @@ ${licensing.header()} import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore % for index, erasure in enumerate(erasures): % for opposability in ['Like', '']: diff --git a/QuantumMechanicsTests/Elementary/QuarkLikeTests.swift b/QuantumMechanicsCoreTests/Elementary/QuarkLikeTests.swift similarity index 97% rename from QuantumMechanicsTests/Elementary/QuarkLikeTests.swift rename to QuantumMechanicsCoreTests/Elementary/QuarkLikeTests.swift index 3138650b..aa48de4f 100644 --- a/QuantumMechanicsTests/Elementary/QuarkLikeTests.swift +++ b/QuantumMechanicsCoreTests/Elementary/QuarkLikeTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct QuarkLikeTests { @Suite("Charge") diff --git a/QuantumMechanicsCoreTests/Elementary/QuarkTests.swift b/QuantumMechanicsCoreTests/Elementary/QuarkTests.swift new file mode 100644 index 00000000..c2e38dbf --- /dev/null +++ b/QuantumMechanicsCoreTests/Elementary/QuarkTests.swift @@ -0,0 +1,161 @@ +// ===-----------------------------------------------------------------------=== +// Copyright © 2026 Supernova +// +// This file is part of the Deus open-source project. +// +// This program is free software: you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free Software +// Foundation, either version 3 of the License, or (at your option) any later +// version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// this program. If not, see https://www.gnu.org/licenses. +// ===-----------------------------------------------------------------------=== + +import Testing +@testable import QuantumMechanicsCore + +struct UpQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + UpQuark(colorLike: color) + }) + ) + func baseMassIsTwoPointThreeMev(_ quark: UpQuark) { + #expect( + quark.getMass(approximatedBy: .base) + == .megaelectronvoltsPerLightSpeedSquared(2.3) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + UpQuark(colorLike: color) + }) + ) + func symbolIsU(_ quark: UpQuark) { + #expect(quark.symbol == "u") + } +} + +struct DownQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + DownQuark(colorLike: color) + }) + ) + func baseMassIsFourPointEightMev(_ quark: DownQuark) { + #expect( + quark.getMass(approximatedBy: .base) + == .megaelectronvoltsPerLightSpeedSquared(4.8) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + DownQuark(colorLike: color) + }) + ) + func symbolIsD(_ quark: DownQuark) { + #expect(quark.symbol == "d") + } +} + +struct StrangeQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + StrangeQuark(colorLike: color) + }) + ) + func baseMassIsNinetyFivePointZeroMev(_ quark: StrangeQuark) { + #expect( + quark.getMass(approximatedBy: .base) + == .megaelectronvoltsPerLightSpeedSquared(95.0) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + StrangeQuark(colorLike: color) + }) + ) + func symbolIsS(_ quark: StrangeQuark) { + #expect(quark.symbol == "s") + } +} + +struct CharmQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + CharmQuark(colorLike: color) + }) + ) + func baseMassIsOnePointTwoSevenFiveGev(_ quark: CharmQuark) { + #expect( + quark.getMass(approximatedBy: .base) + == .gigaelectronvoltsPerLightSpeedSquared(1.275) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + CharmQuark(colorLike: color) + }) + ) + func symbolIsC(_ quark: CharmQuark) { + #expect(quark.symbol == "c") + } +} + +struct BottomQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + BottomQuark(colorLike: color) + }) + ) + func baseMassIsFourPointOneEightGev(_ quark: BottomQuark) { + #expect( + quark.getMass(approximatedBy: .base) + == .gigaelectronvoltsPerLightSpeedSquared(4.18) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + BottomQuark(colorLike: color) + }) + ) + func symbolIsB(_ quark: BottomQuark) { + #expect(quark.symbol == "b") + } +} + +struct TopQuarkTests { + @Test( + arguments: AnySingleColor.discretion.map({ color in + TopQuark(colorLike: color) + }) + ) + func baseMassIsOneHundredAndSeventyThreePointTwoOneGev( + _ quark: TopQuark + ) { + #expect( + quark.getMass(approximatedBy: .base) + == .gigaelectronvoltsPerLightSpeedSquared(173.21) + ) + } + + @Test( + arguments: AnySingleColor.discretion.map({ color in + TopQuark(colorLike: color) + }) + ) + func symbolIsT(_ quark: TopQuark) { + #expect(quark.symbol == "t") + } +} diff --git a/QuantumMechanicsTests/Elementary/QuarkTests.swift.gyb b/QuantumMechanicsCoreTests/Elementary/QuarkTests.swift.gyb similarity index 98% rename from QuantumMechanicsTests/Elementary/QuarkTests.swift.gyb rename to QuantumMechanicsCoreTests/Elementary/QuarkTests.swift.gyb index 9f79316e..8546c260 100644 --- a/QuantumMechanicsTests/Elementary/QuarkTests.swift.gyb +++ b/QuantumMechanicsCoreTests/Elementary/QuarkTests.swift.gyb @@ -34,7 +34,7 @@ ${licensing.header()} import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore % for index, (flavor, mass) in enumerate(quarks.items()): % implementation = flavor.capitalize() + "Quark" diff --git a/QuantumMechanicsCoreTests/MeasurementTests.swift b/QuantumMechanicsCoreTests/MeasurementTests.swift new file mode 100644 index 00000000..0d697f7e --- /dev/null +++ b/QuantumMechanicsCoreTests/MeasurementTests.swift @@ -0,0 +1,479 @@ +// ===-----------------------------------------------------------------------=== +// Copyright © 2026 Supernova +// +// This file is part of the Deus open-source project. +// +// This program is free software: you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free Software +// Foundation, either version 3 of the License, or (at your option) any later +// version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// this program. If not, see https://www.gnu.org/licenses. +// ===-----------------------------------------------------------------------=== + +@testable import QuantumMechanicsCore +import Testing + +fileprivate struct AngleTests { + @Test(arguments: [UnitRepresentable(unit: \Angle.Type.radians)]) + func makes(in unitRepresentable: UnitRepresentable) { + let measurable = Angle.in(unitRepresentable.unit) + let angle = Angle._make( + quantityInCurrentUnit: 2, + conversionCoefficient: measurable.conversionCoefficient, + symbol: measurable.symbol + ) + #expect(angle.quantityInCurrentUnit == 2) + #expect(angle.conversionCoefficient == measurable.conversionCoefficient) + #expect(angle.symbol == measurable.symbol) + } + + @Test + func initializesFromBaseUnit() { + let angle: Angle = 2 + #expect(angle.quantityInBaseUnit == 2) + #expect(angle.symbol == Angle.baseUnitSymbol) + } + + @Test + func identityIsZeroInBaseUnit() { + #expect(Angle.zero.quantityInCurrentUnit == 0) + #expect(Angle.zero.symbol == Angle.baseUnitSymbol) + } + + @Test(arguments: [UnitRepresentable(unit: \Angle.Type.radians)]) + func negates(in unitRepresentable: UnitRepresentable) { + let initialAngle = Angle.in(unitRepresentable.unit)(2) + let negatedAngle = -initialAngle + #expect(negatedAngle == Angle.in(unitRepresentable.unit)(-2)) + #expect(negatedAngle.symbol == initialAngle.symbol) + } + + @Test(arguments: [(Angle.radians(2), Angle.radians(2))]) + func adds(_ addition: Angle, to initial: Angle) { + #expect( + (initial + addition).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit + addition.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [(Angle.radians(2), Angle.radians(2))]) + func subtracts(_ subtraction: Angle, from initial: Angle) { + #expect( + (initial - subtraction).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit - subtraction.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [UnitRepresentable(unit: \Angle.Type.radians)]) + func isDescribedByQuantityInCurrentUnitAndSymbol( + _ unitRepresentable: UnitRepresentable + ) { + let angle = Angle.in(unitRepresentable.unit)(2) + #expect( + "\(angle)" + == "\(Angle.formatted(quantity: angle.quantityInCurrentUnit)) \(angle.symbol)" + ) + } + + @Test( + arguments: zip( + [Angle.radians(2)], + [UnitRepresentable(unit: \Angle.Type.radians)] + ) + ) + func converts( + _ initial: Angle, + into unitRepresentable: UnitRepresentable + ) { + let converted = initial.converted(into: unitRepresentable.unit) + #expect(converted.quantityInBaseUnit == initial.quantityInBaseUnit) + #expect(converted.symbol == Angle.in(unitRepresentable.unit).symbol) + } +} + +fileprivate struct ElectricChargeTests { + @Test(arguments: [UnitRepresentable(unit: \ElectricCharge.Type.elementary)]) + func makes(in unitRepresentable: UnitRepresentable) { + let measurable = ElectricCharge.in(unitRepresentable.unit) + let electricCharge = ElectricCharge._make( + quantityInCurrentUnit: 2, + conversionCoefficient: measurable.conversionCoefficient, + symbol: measurable.symbol + ) + #expect(electricCharge.quantityInCurrentUnit == 2) + #expect( + electricCharge.conversionCoefficient == measurable.conversionCoefficient + ) + #expect(electricCharge.symbol == measurable.symbol) + } + + @Test + func initializesFromBaseUnit() { + let electricCharge: ElectricCharge = 2 + #expect(electricCharge.quantityInBaseUnit == 2) + #expect(electricCharge.symbol == ElectricCharge.baseUnitSymbol) + } + + @Test + func identityIsZeroInBaseUnit() { + #expect(ElectricCharge.zero.quantityInCurrentUnit == 0) + #expect(ElectricCharge.zero.symbol == ElectricCharge.baseUnitSymbol) + } + + @Test(arguments: [UnitRepresentable(unit: \ElectricCharge.Type.elementary)]) + func negates(in unitRepresentable: UnitRepresentable) { + let initialElectricCharge = ElectricCharge.in(unitRepresentable.unit)(2) + let negatedElectricCharge = -initialElectricCharge + #expect( + negatedElectricCharge == ElectricCharge.in(unitRepresentable.unit)(-2) + ) + #expect(negatedElectricCharge.symbol == initialElectricCharge.symbol) + } + + @Test(arguments: [ + (ElectricCharge.elementary(2), ElectricCharge.elementary(2)) + ]) + func adds(_ addition: ElectricCharge, to initial: ElectricCharge) { + #expect( + (initial + addition).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit + addition.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [ + (ElectricCharge.elementary(2), ElectricCharge.elementary(2)) + ]) + func subtracts(_ subtraction: ElectricCharge, from initial: ElectricCharge) { + #expect( + (initial - subtraction).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit - subtraction.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [UnitRepresentable(unit: \ElectricCharge.Type.elementary)]) + func isDescribedByQuantityInCurrentUnitAndSymbol( + _ unitRepresentable: UnitRepresentable + ) { + let electricCharge = ElectricCharge.in(unitRepresentable.unit)(2) + #expect( + "\(electricCharge)" + == "\(ElectricCharge.formatted(quantity: electricCharge.quantityInCurrentUnit)) \(electricCharge.symbol)" + ) + } + + @Test( + arguments: zip( + [ElectricCharge.elementary(2)], + [UnitRepresentable(unit: \ElectricCharge.Type.elementary)] + ) + ) + func converts( + _ initial: ElectricCharge, + into unitRepresentable: UnitRepresentable + ) { + let converted = initial.converted(into: unitRepresentable.unit) + #expect(converted.quantityInBaseUnit == initial.quantityInBaseUnit) + #expect( + converted.symbol == ElectricCharge.in(unitRepresentable.unit).symbol + ) + } +} + +fileprivate struct MassTests { + @Test(arguments: [ + UnitRepresentable(unit: \Mass.Type.electronvoltsPerLightSpeedSquared), + .init(unit: \.gigaelectronvoltsPerLightSpeedSquared), + .init(unit: \.megaelectronvoltsPerLightSpeedSquared) + ]) + func makes(in unitRepresentable: UnitRepresentable) { + let measurable = Mass.in(unitRepresentable.unit) + let mass = Mass._make( + quantityInCurrentUnit: 2, + conversionCoefficient: measurable.conversionCoefficient, + symbol: measurable.symbol + ) + #expect(mass.quantityInCurrentUnit == 2) + #expect(mass.conversionCoefficient == measurable.conversionCoefficient) + #expect(mass.symbol == measurable.symbol) + } + + @Test + func initializesFromBaseUnit() { + let mass: Mass = 2 + #expect(mass.quantityInBaseUnit == 2) + #expect(mass.symbol == Mass.baseUnitSymbol) + } + + @Test + func identityIsZeroInBaseUnit() { + #expect(Mass.zero.quantityInCurrentUnit == 0) + #expect(Mass.zero.symbol == Mass.baseUnitSymbol) + } + + @Test(arguments: [ + UnitRepresentable(unit: \Mass.Type.electronvoltsPerLightSpeedSquared), + .init(unit: \.gigaelectronvoltsPerLightSpeedSquared), + .init(unit: \.megaelectronvoltsPerLightSpeedSquared) + ]) + func negates(in unitRepresentable: UnitRepresentable) { + let initialMass = Mass.in(unitRepresentable.unit)(2) + let negatedMass = -initialMass + #expect(negatedMass == Mass.in(unitRepresentable.unit)(-2)) + #expect(negatedMass.symbol == initialMass.symbol) + } + + @Test(arguments: [ + ( + Mass.electronvoltsPerLightSpeedSquared(2), + Mass.electronvoltsPerLightSpeedSquared(2) + ), + ( + .electronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .electronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .electronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .electronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ) + ]) + func adds(_ addition: Mass, to initial: Mass) { + #expect( + (initial + addition).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit + addition.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [ + ( + Mass.electronvoltsPerLightSpeedSquared(2), + Mass.electronvoltsPerLightSpeedSquared(2) + ), + ( + .electronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .electronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .electronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .gigaelectronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .electronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2) + ), + ( + .megaelectronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ) + ]) + func subtracts(_ subtraction: Mass, from initial: Mass) { + #expect( + (initial - subtraction).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit - subtraction.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [ + UnitRepresentable(unit: \Mass.Type.electronvoltsPerLightSpeedSquared), + .init(unit: \.gigaelectronvoltsPerLightSpeedSquared), + .init(unit: \.megaelectronvoltsPerLightSpeedSquared) + ]) + func isDescribedByQuantityInCurrentUnitAndSymbol( + _ unitRepresentable: UnitRepresentable + ) { + let mass = Mass.in(unitRepresentable.unit)(2) + #expect( + "\(mass)" + == "\(Mass.formatted(quantity: mass.quantityInCurrentUnit)) \(mass.symbol)" + ) + } + + @Test( + arguments: zip( + [ + Mass.electronvoltsPerLightSpeedSquared(2), + .gigaelectronvoltsPerLightSpeedSquared(2), + .megaelectronvoltsPerLightSpeedSquared(2) + ], + [ + UnitRepresentable(unit: \Mass.Type.electronvoltsPerLightSpeedSquared), + .init(unit: \.gigaelectronvoltsPerLightSpeedSquared), + .init(unit: \.megaelectronvoltsPerLightSpeedSquared) + ] + ) + ) + func converts( + _ initial: Mass, + into unitRepresentable: UnitRepresentable + ) { + let converted = initial.converted(into: unitRepresentable.unit) + #expect(converted.quantityInBaseUnit == initial.quantityInBaseUnit) + #expect(converted.symbol == Mass.in(unitRepresentable.unit).symbol) + } +} + +fileprivate struct SpeedTests { + @Test(arguments: [UnitRepresentable(unit: \Speed.Type.metersPerSecond)]) + func makes(in unitRepresentable: UnitRepresentable) { + let measurable = Speed.in(unitRepresentable.unit) + let speed = Speed._make( + quantityInCurrentUnit: 2, + conversionCoefficient: measurable.conversionCoefficient, + symbol: measurable.symbol + ) + #expect(speed.quantityInCurrentUnit == 2) + #expect(speed.conversionCoefficient == measurable.conversionCoefficient) + #expect(speed.symbol == measurable.symbol) + } + + @Test + func initializesFromBaseUnit() { + let speed: Speed = 2 + #expect(speed.quantityInBaseUnit == 2) + #expect(speed.symbol == Speed.baseUnitSymbol) + } + + @Test + func identityIsZeroInBaseUnit() { + #expect(Speed.zero.quantityInCurrentUnit == 0) + #expect(Speed.zero.symbol == Speed.baseUnitSymbol) + } + + @Test(arguments: [UnitRepresentable(unit: \Speed.Type.metersPerSecond)]) + func negates(in unitRepresentable: UnitRepresentable) { + let initialSpeed = Speed.in(unitRepresentable.unit)(2) + let negatedSpeed = -initialSpeed + #expect(negatedSpeed == Speed.in(unitRepresentable.unit)(-2)) + #expect(negatedSpeed.symbol == initialSpeed.symbol) + } + + @Test(arguments: [(Speed.metersPerSecond(2), Speed.metersPerSecond(2))]) + func adds(_ addition: Speed, to initial: Speed) { + #expect( + (initial + addition).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit + addition.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [(Speed.metersPerSecond(2), Speed.metersPerSecond(2))]) + func subtracts(_ subtraction: Speed, from initial: Speed) { + #expect( + (initial - subtraction).quantityInBaseUnit + .isApproximatelyEqual( + to: initial.quantityInBaseUnit - subtraction.quantityInBaseUnit + ) + ) + } + + @Test(arguments: [UnitRepresentable(unit: \Speed.Type.metersPerSecond)]) + func isDescribedByQuantityInCurrentUnitAndSymbol( + _ unitRepresentable: UnitRepresentable + ) { + let speed = Speed.in(unitRepresentable.unit)(2) + #expect( + "\(speed)" + == "\(Speed.formatted(quantity: speed.quantityInCurrentUnit)) \(speed.symbol)" + ) + } + + @Test( + arguments: zip( + [Speed.metersPerSecond(2)], + [UnitRepresentable(unit: \Speed.Type.metersPerSecond)] + ) + ) + func converts( + _ initial: Speed, + into unitRepresentable: UnitRepresentable + ) { + let converted = initial.converted(into: unitRepresentable.unit) + #expect(converted.quantityInBaseUnit == initial.quantityInBaseUnit) + #expect(converted.symbol == Speed.in(unitRepresentable.unit).symbol) + } +} + +/// Representation of an SI unit in which a quantity of a ``Measurement`` may +/// be. Exists merely for debugging purposes, allowing for displaying the actual +/// name of the unit while testing rather than the string of the key path. +private struct UnitRepresentable: @unchecked Sendable +where MeasurementType: Measurement { + /// The unit of the specified ``Measurement`` being represented. + let unit: MeasurementType.Unit +} + +extension UnitRepresentable: CustomDebugStringConvertible { + var debugDescription: String { + switch unit { + case _ where unit == \Angle.Type.radians: "radians" + case _ where unit == \ElectricCharge.Type.elementary: "elementary" + case _ where unit == \Mass.Type.electronvoltsPerLightSpeedSquared: + "electronvoltsPerLightSpeedSquared" + case _ where unit == \Mass.Type.gigaelectronvoltsPerLightSpeedSquared: + "gigaelectronvoltsPerLightSpeedSquared" + case _ where unit == \Mass.Type.megaelectronvoltsPerLightSpeedSquared: + "megaelectronvoltsPerLightSpeedSquared" + case _ where unit == \Speed.Type.metersPerSecond: "metersPerSecond" + default: "Unknown instance of UnitRepresentable<\(MeasurementType.self)>" + } + } +} diff --git a/QuantumMechanicsTests/MeasurementTests.swift.gyb b/QuantumMechanicsCoreTests/MeasurementTests.swift.gyb similarity index 99% rename from QuantumMechanicsTests/MeasurementTests.swift.gyb rename to QuantumMechanicsCoreTests/MeasurementTests.swift.gyb index 054db6c8..b6332b72 100644 --- a/QuantumMechanicsTests/MeasurementTests.swift.gyb +++ b/QuantumMechanicsCoreTests/MeasurementTests.swift.gyb @@ -54,7 +54,7 @@ }% ${licensing.header()} -@testable import QuantumMechanics +@testable import QuantumMechanicsCore import Testing % for measurement_type in all_measurement_types: diff --git a/QuantumMechanicsTests/ParticleTests.swift b/QuantumMechanicsCoreTests/ParticleTests.swift similarity index 97% rename from QuantumMechanicsTests/ParticleTests.swift rename to QuantumMechanicsCoreTests/ParticleTests.swift index b4ea5d8d..5b1069c7 100644 --- a/QuantumMechanicsTests/ParticleTests.swift +++ b/QuantumMechanicsCoreTests/ParticleTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore @Suite("Particle tests") struct ParticleTests { diff --git a/QuantumMechanicsTests/SymmetryTests.swift b/QuantumMechanicsCoreTests/SymmetryTests.swift similarity index 97% rename from QuantumMechanicsTests/SymmetryTests.swift rename to QuantumMechanicsCoreTests/SymmetryTests.swift index 5e5bb115..ae56eb83 100644 --- a/QuantumMechanicsTests/SymmetryTests.swift +++ b/QuantumMechanicsCoreTests/SymmetryTests.swift @@ -19,7 +19,7 @@ import Numerics import Testing -@testable import QuantumMechanics +@testable import QuantumMechanicsCore struct SymmetryTests { @Suite("U1") diff --git a/RelativityKit/Clock+Duration.swift b/RelativityCore/Clock+Duration.swift similarity index 100% rename from RelativityKit/Clock+Duration.swift rename to RelativityCore/Clock+Duration.swift diff --git a/RelativityKit/Clock.swift b/RelativityCore/Clock.swift similarity index 99% rename from RelativityKit/Clock.swift rename to RelativityCore/Clock.swift index 07d8bb89..7a17c50c 100644 --- a/RelativityKit/Clock.swift +++ b/RelativityCore/Clock.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Foundation -import Geometry +import GeometryCore /// Closure whose signature matches that of the /// ``TimeLapseListener/timeDidElapse(on:from:after:towards:)`` callback. diff --git a/RelativityKit/Duration+Strideable.swift b/RelativityCore/Duration+Strideable.swift similarity index 100% rename from RelativityKit/Duration+Strideable.swift rename to RelativityCore/Duration+Strideable.swift diff --git a/RelativityKit/RelativityKit.swift b/RelativityCore/RelativityCore.swift similarity index 100% rename from RelativityKit/RelativityKit.swift rename to RelativityCore/RelativityCore.swift diff --git a/RelativityKitTests/Array+Initializer.swift b/RelativityCoreTests/Array+Initializer.swift similarity index 100% rename from RelativityKitTests/Array+Initializer.swift rename to RelativityCoreTests/Array+Initializer.swift diff --git a/RelativityKitTests/Array+InitializerTests.swift b/RelativityCoreTests/Array+InitializerTests.swift similarity index 100% rename from RelativityKitTests/Array+InitializerTests.swift rename to RelativityCoreTests/Array+InitializerTests.swift diff --git a/RelativityKitTests/Array+Slice.swift b/RelativityCoreTests/Array+Slice.swift similarity index 100% rename from RelativityKitTests/Array+Slice.swift rename to RelativityCoreTests/Array+Slice.swift diff --git a/RelativityKitTests/Array+SliceTests.swift b/RelativityCoreTests/Array+SliceTests.swift similarity index 100% rename from RelativityKitTests/Array+SliceTests.swift rename to RelativityCoreTests/Array+SliceTests.swift diff --git a/RelativityKitTests/Array+Transform.swift b/RelativityCoreTests/Array+Transform.swift similarity index 98% rename from RelativityKitTests/Array+Transform.swift rename to RelativityCoreTests/Array+Transform.swift index e67a57a9..55e8a0e6 100644 --- a/RelativityKitTests/Array+Transform.swift +++ b/RelativityCoreTests/Array+Transform.swift @@ -17,7 +17,7 @@ // this program. If not, see https://www.gnu.org/licenses. // ===-----------------------------------------------------------------------=== -@testable import RelativityKit +@testable import RelativityCore extension Array where Element: Sendable { /// Produces an array containing the result of having applied the given diff --git a/RelativityKitTests/Array+TransformTests.swift b/RelativityCoreTests/Array+TransformTests.swift similarity index 100% rename from RelativityKitTests/Array+TransformTests.swift rename to RelativityCoreTests/Array+TransformTests.swift diff --git a/RelativityKitTests/Clock+DurationTests.swift b/RelativityCoreTests/Clock+DurationTests.swift similarity index 98% rename from RelativityKitTests/Clock+DurationTests.swift rename to RelativityCoreTests/Clock+DurationTests.swift index ae81abb7..081627c5 100644 --- a/RelativityKitTests/Clock+DurationTests.swift +++ b/RelativityCoreTests/Clock+DurationTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import RelativityKit +@testable import RelativityCore @Suite("Clock+Duration tests") struct ClockDurationTests { diff --git a/RelativityKitTests/Clock+Testing.swift b/RelativityCoreTests/Clock+Testing.swift similarity index 98% rename from RelativityKitTests/Clock+Testing.swift rename to RelativityCoreTests/Clock+Testing.swift index a1b85ffc..6e3a3baa 100644 --- a/RelativityKitTests/Clock+Testing.swift +++ b/RelativityCoreTests/Clock+Testing.swift @@ -17,7 +17,7 @@ // this program. If not, see https://www.gnu.org/licenses. // ===-----------------------------------------------------------------------=== -@testable import RelativityKit +@testable import RelativityCore /// Execute-around method (EAM) which produces an instance of a ``Clock``, calls /// the given closure and resets the ``Clock`` afterward. Prevents us from diff --git a/RelativityKitTests/Clock+TestingTests.swift b/RelativityCoreTests/Clock+TestingTests.swift similarity index 98% rename from RelativityKitTests/Clock+TestingTests.swift rename to RelativityCoreTests/Clock+TestingTests.swift index f93e224f..2f1bc50b 100644 --- a/RelativityKitTests/Clock+TestingTests.swift +++ b/RelativityCoreTests/Clock+TestingTests.swift @@ -17,7 +17,7 @@ // this program. If not, see https://www.gnu.org/licenses. // ===-----------------------------------------------------------------------=== -@testable import RelativityKit +@testable import RelativityCore import Testing @Suite("Clock+Testing tests") diff --git a/RelativityKitTests/ClockTests.swift b/RelativityCoreTests/ClockTests.swift similarity index 99% rename from RelativityKitTests/ClockTests.swift rename to RelativityCoreTests/ClockTests.swift index 4e956401..ddad07d4 100644 --- a/RelativityKitTests/ClockTests.swift +++ b/RelativityCoreTests/ClockTests.swift @@ -17,7 +17,7 @@ // this program. If not, see https://www.gnu.org/licenses. // ===-----------------------------------------------------------------------=== -@testable import RelativityKit +@testable import RelativityCore import Testing actor ClockTests { diff --git a/RelativityKitTests/CountingTimeLapseListener.swift b/RelativityCoreTests/CountingTimeLapseListener.swift similarity index 97% rename from RelativityKitTests/CountingTimeLapseListener.swift rename to RelativityCoreTests/CountingTimeLapseListener.swift index 73a0c78d..8908437b 100644 --- a/RelativityKitTests/CountingTimeLapseListener.swift +++ b/RelativityCoreTests/CountingTimeLapseListener.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Foundation -@testable import RelativityKit +@testable import RelativityCore /// ``TimeLapseListener`` which counts the amount of times it has been notified /// of ticks. diff --git a/RelativityKitTests/CountingTimeLapseListenerTests.swift b/RelativityCoreTests/CountingTimeLapseListenerTests.swift similarity index 97% rename from RelativityKitTests/CountingTimeLapseListenerTests.swift rename to RelativityCoreTests/CountingTimeLapseListenerTests.swift index eb01f39d..583c87d3 100644 --- a/RelativityKitTests/CountingTimeLapseListenerTests.swift +++ b/RelativityCoreTests/CountingTimeLapseListenerTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import RelativityKit +@testable import RelativityCore struct CountingTimeLapseListenerTests { @Test diff --git a/RelativityKitTests/Duration+StrideableTests.swift b/RelativityCoreTests/Duration+StrideableTests.swift similarity index 98% rename from RelativityKitTests/Duration+StrideableTests.swift rename to RelativityCoreTests/Duration+StrideableTests.swift index d641ea31..c14126cf 100644 --- a/RelativityKitTests/Duration+StrideableTests.swift +++ b/RelativityCoreTests/Duration+StrideableTests.swift @@ -18,7 +18,7 @@ // ===-----------------------------------------------------------------------=== import Testing -@testable import RelativityKit +@testable import RelativityCore @Suite("Duration+Strideable tests") struct DurationStrideableTests {