Source/Packages

Runtime.NativePointwisePlan

packages/execution/src/Runtime/NativePointwisePlan.alpha

436 lines23 declarations18.6 KiBSHA-256 fd2fbc317365

def · lines 358–400

nativePointwiseCommands

Full file
358def nativePointwiseCommands =
359  (lambda unrestricted slots : Nat .
360    (lambda unrestricted program : (family StdList (family PointwiseAssignment StdU64 slots)) .
361      (lambda unrestricted base : Nat .
362        (lambda unrestricted available : Nat .
363          (lambda unrestricted scratch : Nat .
364            (lambda unrestricted tail : (family NativePhysicalCommands) .
365              (stdListFold
366                (family PointwiseAssignment StdU64 slots)
367                (family NativePhysicalCommands)
368                (lambda unrestricted assignment : (family PointwiseAssignment StdU64 slots) .
369                  (lambda unrestricted rest : (family NativePhysicalCommands) .
370                    (eliminate
371                      PointwiseAssignment
372                      (lambda unrestricted current : (family PointwiseAssignment StdU64 slots) .
373                        (family NativePhysicalCommands))
374                      assignment
375                      (branch
376                        PointwiseAssign
377                        destination
378                        expression
379                        .
380                        (let unrestricted fragment =
381                          (nativePointwiseExpression
382                            slots
383                            base
384                            scratch
385                            expression
386                            (nativePointwiseAt base slots))
387                          in
388                          (nativePointwiseCode
389                            fragment
390                            (nativeFloat64RequireFinite
391                              (nativeMemoryLoad (nativePointwiseResult fragment))
392                              scratch
393                              b"pointwise-nonfinite"
394                              (nativeMemoryStoreWord64
395                                b"pointwise-assignment"
396                                (nativePointwiseAt base (stdFinToNatural slots destination))
397                                (nativeMemoryLoad (nativePointwiseResult fragment))
398                                rest))))))))
399                tail
400                program)))))))

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.