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.