|
318 | 318 | ## complement parity
|
319 | 319 |
|
320 | 320 | @pure parityrighthodge(V::Int,B,G,N=nothing) = isodd(V)⊻parityright(V,B,G,N)
|
321 |
| -@pure paritylefthodge(V::Int,B,G,N) = (isodd(G) && iseven(N)) ⊻ parityrightgrade(V,B,G,N) |
| 321 | +@pure paritylefthodge(V::Int,B,G,N) = (isodd(G) && iseven(N)) ⊻ parityrighthodge(V,B,G,N) |
322 | 322 | @pure parityright(V::Int,B,G,N=nothing) = isodd(B+Int((G+1)*G/2))
|
323 | 323 | @pure parityleft(V::Int,B,G,N) = (isodd(G) && iseven(N)) ⊻ parityright(V,B,G,N)
|
324 | 324 |
|
@@ -366,8 +366,8 @@ for side ∈ (:left,:right)
|
366 | 366 | end
|
367 | 367 | @pure function $pg(V::$Q,B,G=count_ones(B))
|
368 | 368 | ind = indices(B&(UInt(1)<<(ndims(V)-diffvars(V))-1),ndims(V))
|
369 |
| - g = prod(V[ind]) |
370 |
| - $p(0,sum(ind),G,ndims(V)-diffvars(V)) ? -(g) : g |
| 369 | + g,c = prod(V[ind]), hasconformal(V) && (B&UInt(3) == UInt(2)) |
| 370 | + $p(0,sum(ind),G,ndims(V)-diffvars(V))⊻c ? -(g) : g |
371 | 371 | end
|
372 | 372 | end
|
373 | 373 | end
|
|
0 commit comments