Source/Packages

Data.SHA256Digest

packages/foundation/standard/src/Data/SHA256Digest.alpha

1,631 lines150 declarations64.2 KiBSHA-256 c46a79f2ab9a

def · lines 480–534

sha256DigestTelemetryAddCompression

Full file
The per-block counts come FIRST: `naturalAdd` folds over its first argument, so adding the running total the other way round made every block cost the total so far (quadratic; D17 measurement: 27 min for 240 KB).
480def sha256DigestTelemetryAddCompression =
481  (lambda unrestricted telemetry : (family SHA256DigestTelemetry) .
482    (lambda unrestricted compression : (family SHA256CompressionTelemetry) .
483      (eliminate
484        SHA256DigestTelemetry
485        (lambda unrestricted current : (family SHA256DigestTelemetry) .
486          (family SHA256DigestTelemetry))
487        telemetry
488        (branch
489          SHA256DigestTelemetryValue
490          inputBytes
491          paddedBytes
492          blocks
493          decoded
494          expanded
495          rounds
496          lookups
497          sigmas
498          rotates
499          shifts
500          booleans
501          adds
502          .
503          (eliminate
504            SHA256CompressionTelemetry
505            (lambda unrestricted current : (family SHA256CompressionTelemetry) .
506              (family SHA256DigestTelemetry))
507            compression
508            (branch
509              SHA256CompressionTelemetryValue
510              nextDecoded
511              nextExpanded
512              nextRounds
513              nextLookups
514              nextSigmas
515              nextRotates
516              nextShifts
517              nextBooleans
518              nextAdds
519              .
520              (constructor
521                SHA256DigestTelemetry
522                SHA256DigestTelemetryValue
523                inputBytes
524                paddedBytes
525                (succ blocks)
526                (naturalAdd nextDecoded decoded)
527                (naturalAdd nextExpanded expanded)
528                (naturalAdd nextRounds rounds)
529                (naturalAdd nextLookups lookups)
530                (naturalAdd nextSigmas sigmas)
531                (naturalAdd nextRotates rotates)
532                (naturalAdd nextShifts shifts)
533                (naturalAdd nextBooleans booleans)
534                (naturalAdd nextAdds adds))))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.