From 554f035e116d18ffbf390a3ec9445e148162aa5c Mon Sep 17 00:00:00 2001 From: Brandon Flores Date: Tue, 7 May 2024 21:36:11 -0500 Subject: [PATCH] Removed functions that widen grades for multiplication --- src/math.jl | 2 +- src/multiply.jl | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/math.jl b/src/math.jl index 9a93a59..0052535 100644 --- a/src/math.jl +++ b/src/math.jl @@ -170,7 +170,7 @@ Calculates the geometric product of `x` and `y`, returning the smallest type whi represent all nonzero basis blades of the result. """ @inline function *(x::AbstractCliffordNumber{Q}, y::AbstractCliffordNumber{Q}) where Q - return mul(scalar_promote(widen_grade_for_mul(x), widen_grade_for_mul(y))...) + return mul(scalar_promote(x, y)...) end # KVector{0,Q} is just a scalar compatible with an AbstractCliffordNumber{Q} diff --git a/src/multiply.jl b/src/multiply.jl index 5ba8635..ae707a2 100644 --- a/src/multiply.jl +++ b/src/multiply.jl @@ -31,8 +31,9 @@ function nondegenerate_mask(a::BitIndex{Q}, B::NTuple{L,BitIndex{Q}}) where {L,Q return map(b -> nondegenerate_mult(a, b), B) end +#= """ - CliffordNumbers.widen_for_mul(x::AbstractCliffordNumber) + CliffordNumbers.widen_grade_for_mul(x::AbstractCliffordNumber) Widens `x` to an `EvenCliffordNumber`, `OddCliffordNumber`, or `CliffordNumber` as appropriate for the fast multiplication kernel. @@ -46,6 +47,7 @@ function widen_grade_for_mul(x::AbstractCliffordNumber) all(iodd, nonzero_grades(x)) && return OddCliffordNumber(x) return CliffordNumber(x) end +=# #---Grade filters----------------------------------------------------------------------------------# """