Skip to content

Commit aa71fd7

Browse files
committed
work to remove render points
1 parent f8f32f6 commit aa71fd7

File tree

4 files changed

+24
-26
lines changed

4 files changed

+24
-26
lines changed

libraries/dfns/array/demo.lisp

+6-6
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,12 @@
101101
(is "fuzzy∘months¨'dcmbr' 'marching' 'febury'" #("December" "March" "February"))
102102
(is "↓dsp 'hello' 'world'" #("───────────"
103103
"hello│world"))
104-
;; (is "↓0 dsp Rgt⍣5 ⊢2 Tape 2/¨12↑⎕A" #("────────────────│FF│GG│────────────────"
105-
;; "─────────────│EE HH│─────────────"
106-
;; "──────────│DD II│──────────"
107-
;; "───────│CC JJ│───────"
108-
;; "────│BB KK│────"
109-
;; "∘│AA LL│∘"))
104+
(is "↓0 dsp Rgt⍣5 ⊢2 Tape 2/¨12↑⎕A" #("────────────────│FF│GG│────────────────"
105+
"─────────────│EE HH│─────────────"
106+
"──────────│DD II│──────────"
107+
"───────│CC JJ│───────"
108+
"────│BB KK│────"
109+
"∘│AA LL│∘"))
110110
(is "↓dsp 3 3⍴⊂2 2⍴⍳4" #("───────────"
111111
"1 2│1 2│1 2"
112112
"3 4│3 4│3 4"

libraries/dfns/power/demo.lisp

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
(is "⌊1000×GM 1 2 3 4 5" #(2605))
3232
(is "⌊1000×AGM 1 2 3 4 5" 2799)
3333
(is "⌊1000×÷AGM 1 2*÷2" 834)
34-
;; (is "⌊1000×ArcTan 0.5" 463)
34+
(is "⌊1000×ArcTan 0.5" 463)
3535
(is "⌊1000ׯ3○0.5" 463)
3636
(is "⌊1000×⍬⍴{⍵×2-¯1↑⍵} limit 20 0.3" 66666)
3737
(is "6 {'<',⍵,'>'} pow 'wow'" "<<<<<<wow>>>>>>")

utilities.lisp

-1
Original file line numberDiff line numberDiff line change
@@ -1152,7 +1152,6 @@
11521152
)
11531153
arg `(render-varrays ,arg)))))
11541154
;; (print (list :aa arguments))
1155-
;; { ee←{↑⍪/(⊂⍺),⍶,⊂⍵} ⋄ ⍵⊃⊃↑{⍺ ee⌿⍵}/9⍴⊂⍳9 } 22 - fails without rendered args
11561155
;; (print (list :aa arguments))
11571156
(or (when (and (listp function)
11581157
(eql 'function (first function))

varray/derived.lisp

+17-18
Original file line numberDiff line numberDiff line change
@@ -3012,20 +3012,24 @@
30123012
(if (= 1 path-length)
30133013
(let ((indexer (if (not (functionp base-indexer))
30143014
base-indexer
3015-
(if (typep base 'vader-mix)
3015+
(if (or (typep base 'vader-mix)
3016+
(and (typep base 'vader-pick)
3017+
(typep (vader-base base) 'vader-mix)))
3018+
;; vader-pick is handled here for cases like
3019+
;; { ee←{↑⍪/(⊂⍺),⍶,⊂⍵} ⋄ ⍵⊃⊃↑{⍺ ee⌿⍵}/9⍴⊂⍳9 } 22
3020+
;; TODO: condense successive picks like ⍵⊃⊃ into one
30163021
(let ((bix (funcall base-indexer 0)))
3022+
;; (print (list :ib bix path-value))
30173023
(if (not (arrayp bix))
3018-
bix (row-major-aref bix path-value)))
3019-
(funcall base-indexer path-value))
3020-
;; (let ((bix (funcall base-indexer 0)))
3021-
;; (if (or (not (arrayp bix))
3022-
;; (typep base 'vader-mix))
3023-
;; bix (row-major-aref bix path-value)))
3024-
)))
3025-
;; (print (list :nn indexer base-indexer (funcall base-indexer 0)))
3026-
(if (and (not (shape-of indexer))
3027-
(or (arrayp indexer) (varrayp indexer)))
3028-
(setf (vads-subrendering varray) t))
3024+
(funcall (generator-of bix) path-value)
3025+
(row-major-aref bix path-value)))
3026+
(funcall base-indexer path-value)))))
3027+
;; (print (list :nn base indexer base-indexer (funcall base-indexer 0)))
3028+
;; (print (list :n2 base indexer path-value))
3029+
;; (setf april::oop base)
3030+
(when (and (not (shape-of indexer))
3031+
(or (arrayp indexer) (varrayp indexer)))
3032+
(setf (vads-subrendering varray) t))
30293033
indexer)
30303034
(fetch-reference varray (funcall base-indexer path-value)
30313035
path (1+ (or path-index 0)))))))
@@ -3041,14 +3045,9 @@
30413045
(if (zerop (size-of base))
30423046
(prototype-of base)
30433047
(let ((bix (funcall base-indexer 0)))
3044-
;; (print (list :ba base bix (funcall (generator-of base) 0)
3045-
;; (render (generator-of
3046-
;; (generator-of (funcall (generator-of base) 0))))
3047-
;; ))
30483048
(if (or (not (arrayp bix))
30493049
;; TODO: special mix case, generalize
3050-
(not (typep base 'vader-mix))
3051-
)
3050+
(not (typep base 'vader-mix)))
30523051
bix (row-major-aref bix 0)))))))
30533052
;; (print (list :ind indexer base (shape-of base)))
30543053
(when (and (shape-of base) (not (shape-of indexer))

0 commit comments

Comments
 (0)