annotate arrows/@arrow/construct.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
5de03f77dae1 |
children |
|
rev |
line source |
samer@0
|
1 % construct - Instantiate live processing unit
|
samer@0
|
2 %
|
samer@0
|
3 % construct ::
|
samer@27
|
4 % arrow(A@typelist(N), B@typelist(M), S) ~'the arrow to instantiate',
|
samer@0
|
5 % {[N]->size} ~'the sizes of the inputs'
|
samer@0
|
6 % -> unit(A,B,S) ~'live processing unit structure'.
|
samer@0
|
7 %
|
samer@0
|
8 % NB the type size denotes a row vector of array dimensions.
|
samer@0
|
9 % The type unit(A,B,S) is a structure containing
|
samer@0
|
10 % values and functions for running the live processing unit. Its fields
|
samer@0
|
11 % are as follows:
|
samer@0
|
12 %
|
samer@27
|
13 % unit(A@typelist(N),B@typelist(M),S) :== struct {
|
samer@0
|
14 % starting :: () -> action ();
|
samer@0
|
15 % stopping :: () -> action ();
|
samer@0
|
16 % dispose :: () -> action ();
|
samer@0
|
17 % set_state :: S -> action ()
|
samer@0
|
18 % get_state :: () -> S;
|
samer@0
|
19 % viewables :: () -> list(samer.core.Viewable);
|
samer@0
|
20 % process :: A{:} -> B{:}
|
samer@0
|
21 % }.
|
samer@0
|
22
|
samer@0
|
23 function u=construct(s,sizes_in)
|
samer@0
|
24 error('cannot construct system for base arrow class');
|
samer@0
|
25
|