@@ -328,35 +328,31 @@ for side ∈ (:left,:right)
328
328
pn = Symbol (p,:null )
329
329
pnp = Symbol (pn,:pre )
330
330
@eval begin
331
- @pure $ p (V:: Bits ,B:: Bits ,N:: Int ) = $ p (0 ,sum (indices (B,N)),count_ones (B),N)
332
- @pure $ pg (V:: Bits ,B:: Bits ,N:: Int ) = $ pg (count_ones (V& B),sum (indices (B,N)),count_ones (B),N)
333
- @inline $ pn (V,B,v) = v
334
- @inline function $pn (V:: Signature ,B,v)
335
- hi,ho = hasinf (V),hasorigin (V)
336
- if hi && ho && count_ones (B& UInt (3 )) == 1
331
+ @pure $ p (V:: UInt ,B:: UInt ,N:: Int ) = $ p (0 ,sum (indices (B,N)),count_ones (B),N)
332
+ @pure $ pg (V:: UInt ,B:: UInt ,N:: Int ) = $ pg (count_ones (V& B),sum (indices (B,N)),count_ones (B),N)
333
+ @inline function $pn (V,B,v)
334
+ if hasconformal (V) && count_ones (B& UInt (3 )) == 1
337
335
isodd (B) ? (2 v) : (v/ 2 )
338
336
else
339
337
v
340
338
end
341
339
end
342
- @inline $ pnp (V,B,v) = v
343
- @inline function $pnp (V:: Signature ,B,v)
344
- hi,ho = hasinf (V),hasorigin (V)
345
- if hi && ho && count_ones (B& UInt (3 )) == 1
340
+ @inline function $pnp (V,B,v)
341
+ if hasconformal (V) && count_ones (B& UInt (3 )) == 1
346
342
isodd (B) ? Expr (:call ,:* ,2 ,v) : Expr (:call ,:/ ,v,2 )
347
343
else
348
344
v
349
345
end
350
346
end
351
- @pure function $p (V:: Signature ,B,G= count_ones (B))
347
+ #= @pure function $p(V::Signature,B,G=count_ones(B))
352
348
b = B&(UInt(1)<<(ndims(V)-diffvars(V))-1)
353
349
$p(0,sum(indices(b,ndims(V))),count_ones(b),ndims(V)-diffvars(V))
354
350
end
355
351
@pure function $pg(V::Signature,B,G=count_ones(B))
356
352
o = hasorigin(V) && hasinf(V) && (iszero(B&UInt(1))&(!iszero(B&UInt(2))))
357
353
b = B&(UInt(1)<<(ndims(V)-diffvars(V))-1)
358
354
$pg(count_ones(metric(V)&b),sum(indices(b,ndims(V))),count_ones(b),ndims(V)-diffvars(V))⊻o
359
- end
355
+ end=#
360
356
end
361
357
for Q ∈ (:DiagonalForm ,:SubManifold )
362
358
@eval begin
@@ -394,9 +390,9 @@ const complementright = !
394
390
export complementleft, complementright, ⋆ , complementlefthodge, complementrighthodge
395
391
396
392
for side ∈ (:left ,:right )
397
- c ,p = Symbol (:complement ,side),Symbol (:parity ,side)
398
- h,pg,pn = Symbol (c ,:hodge ),Symbol (p,:hodge ),Symbol (p,:null )
399
- for (c,p) ∈ ((c ,p),(h,pg))
393
+ s ,p = Symbol (:complement ,side),Symbol (:parity ,side)
394
+ h,pg,pn = Symbol (s ,:hodge ),Symbol (p,:hodge ),Symbol (p,:null )
395
+ for (c,p) ∈ ((s ,p),(h,pg))
400
396
@eval begin
401
397
@pure function $c (b:: SubManifold{V,G,B} ) where {V,G,B}
402
398
d = getbasis (V,complement (ndims (V),B,diffvars (V),$ (c≠ h ? 0 : :(hasinf (V)+ hasorigin (V)))))
0 commit comments