Changeset 31770 in project


Ignore:
Timestamp:
11/03/14 21:24:46 (6 years ago)
Author:
Ivan Raikov
Message:

9ML-toolkit: removed vestigial generator interface; small bug fixes in the synaptic response interface

Location:
release/4/9ML-toolkit/trunk
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • release/4/9ML-toolkit/trunk/alsys-mlton.scm

    r31745 r31770  
    4646      ((realsig)   (mlton-value (caddr v)))
    4747      ((realconst) (mlton-value (cadr v)))
    48       ((generator) (sprintf "~A ()" (cadr v)))
    4948      ((random)    (sprintf "~A ()" (cadr v)))
    5049      ((neg)       (sprintf "Real.~~ (~A)" (mlton-value (cadr v))))
  • release/4/9ML-toolkit/trunk/eval.scm

    r31764 r31770  
    813813    ))
    814814
    815 
    816 (define (generator->diagram+initial sexpr h paramenv initenv fieldenv)
    817   (case (car sexpr)
    818     ((poisson)
    819      (let ((rate (recur (cadr sexpr)))
    820            (t (recur (caddr sexpr)))
    821            (h (recur (cadddr sexpr))))
    822        (initenv (append `( (spike . #f) (spikeCount . 0.0)
    823                            (st . (generator RandomInit))
    824                            (zt . (generator ZigInit)) )
    825                         (initenv)))
    826        (diagram:SENSE `(,t ,h spike spikeCount rate st zt)
    827                       (diagram:PRIM (diagram:make-prim
    828                                      `(,t st zt)
    829                                      `(,t ,h spike spikeCount rate st zt)
    830                                      `(,t spike spikeCount st zt)
    831                                      `(spike)
    832                                      `(PoissonStep ,rate ,t ,h st zt)
    833                                      '(st zt)
    834                                      '(PoissonInit)
    835                                      )
    836                                     'poisson))
    837        ))
    838     (else
    839      (error 'generator->diagram+initial "invalid generator" sexpr))
    840    
    841     ))
    842    
    843    
    844 
    845815(define (sexpr->diagram+initial h sexpr)
    846816
     
    854824             (if (pair? sexpr)
    855825                 (case (car sexpr)
    856 
    857                    ((generator)
    858                     (generator->diagram+initial sexpr h paramenv initenv fieldenv))
    859826
    860827                   ((diagram)
     
    978945                 sexpr)
    979946          )))
     947
     948
    980949    (paramenv (delete-duplicates (paramenv) (lambda (x y) (equal? (car x) (car y)))))
    981950    (initenv (delete-duplicates (initenv) (lambda (x y) (equal? (car x) (car y)))))
    982951    (fieldenv (delete-duplicates (fieldenv) (lambda (x y) (equal? (car x) (car y)))))
     952
     953
    983954    (list diagram (initenv) (fieldenv) (paramenv) )
    984955
  • release/4/9ML-toolkit/trunk/examples/Brunel00/Brunel_network_alpha.xml

    r31745 r31770  
    5959  <Property>
    6060    <label>g</label> <!-- Relative strength of inhibitory synapses -->
    61     <value>3.0</value>
     61    <value>5.0</value>
    6262  </Property>
    6363
     
    118118  <Property>
    119119    <label>timestep</label>
    120     <value>1.0</value>
     120    <value>0.2</value>
    121121  </Property>
    122122 
     
    151151      <Property>
    152152        <label>R</label>
    153         <value>20.0</value>
     153        <value>100.0</value>
    154154      </Property>
    155155     
     
    213213      <Property>
    214214        <label>R</label>
    215         <value>20.0</value>
     215        <value>100.0</value>
    216216      </Property>
    217217
     
    259259        <value><MathInline>input_rate</MathInline></value>
    260260      </Property>
     261
     262      <Initial>
     263        <label>t_next</label>
     264        <value>0.0</value>
     265      </Initial>
    261266     
    262267    </properties>
     
    426431  </Component>
    427432
    428   <Group name="BrunelCaseAalpha">
     433  <Group name="BrunelCaseCalpha">
    429434
    430435    <Population name="Exc"> <!-- Excitatory population definition --> 
  • release/4/9ML-toolkit/trunk/ivp-chicken.scm

    r31745 r31770  
    3939      ((realsig)   (chicken-value (caddr v)))
    4040      ((realconst) (chicken-value (cadr v)))
    41       ((generator) (sprintf "~A ()" (cadr v)))
    4241      ((random)    (sprintf "~A ()" (cadr v)))
    4342      ((neg)       (sprintf "(- (~A))" (chicken-value (cadr v))))
  • release/4/9ML-toolkit/trunk/ivp-octave.scm

    r31764 r31770  
    4545      ((realsig)   (octave-value (caddr v)))
    4646      ((realconst) (octave-value (cadr v)))
    47       ((generator) (sprintf "~A ()" (cadr v)))
    4847      ((random)    (sprintf "~A ()" (cadr v)))
    4948      ((neg)       (sprintf "-(~A))" (octave-value (cadr v))))
  • release/4/9ML-toolkit/trunk/network.scm

    r31764 r31770  
    114114(include "NineMLalsys.scm")
    115115(include "NineMLivp.scm")
    116 (include "NineMLgenerator.scm")
    117116
    118117
     
    553552
    554553
    555 (define (match-builtin-model name uri)
    556  
    557   (define src-poisson (Longid (Pdot (Pident (ident-create "Generator")) "poisson")))
    558   (define diagram-identity (Longid (Pdot (Pident (ident-create "Diagram")) "IDENTITY")))
    559   (define diagram-sense (Longid (Pdot (Pident (ident-create "Diagram")) "SENSE")))
    560 
    561   (case (uri-scheme uri)
    562     ((http)
    563      (and
    564       (string-ci= (uri-host uri) "www.NineML.org")
    565       (let ((p (uri-path uri)))
    566         (let ((def
    567                (match p
    568                       (('/ "stim" "Poisson.9ml")
    569                        (Value_def (ident-create name)
    570                                   (Function (ident-create "rate")
    571                                             (Function (ident-create "t")
    572                                                       (Function (ident-create "h")
    573                                                                 (apply-terms
    574                                                                  src-poisson
    575                                                                  (list
    576                                                                   (Longid (Pident (ident-create "rate")))
    577                                                                   (Longid (Pident (ident-create "t")))
    578                                                                   (Longid (Pident (ident-create "h")))
    579                                                                   ))
    580                                                                 ))
    581                                                       ))
    582                        )
    583 
    584                       (else #f))))
    585           (and def (eval-source (list def) current-scope current-type-env current-eval-env))))
    586       ))
    587     (else #f)))
    588 
    589554
    590555(define (eval-ul-component x)
     
    632597      (let* (
    633598             (uenv.tbls
    634               (or (match-builtin-model node-name uri)
    635                   (let ((src (fetch uri)))
    636                     (d "NineML abstraction layer source: ~A~%" src)
    637                     (if (not src)
    638                         (error 'eval-ul-component "resource not found" (uri->string uri))
    639                         (eval-source (parse-al-sxml (parse-xml src))
    640                                      current-scope current-type-env current-eval-env)))
    641                   ))
     599              (let ((src (fetch uri)))
     600                (d "NineML abstraction layer source: ~A~%" src)
     601                (if (not src)
     602                    (error 'eval-ul-component "resource not found" (uri->string uri))
     603                    (eval-source (parse-al-sxml (parse-xml src))
     604                                 current-scope current-type-env current-eval-env)))
     605              )
    642606             
    643607             (dd    (d "NineML abstraction layer uenv: ~A~%" uenv.tbls))
     
    11521116            (dvars   (lookup-def 'dvars sdinfo))
    11531117            (hvar    (lookup-def 'hvar sdinfo))
     1118            (params  (lookup-def 'params sdinfo))
    11541119            (events  (lookup-def 'events sdinfo))
    11551120            (outputs (lookup-def 'outputs sdinfo))
     
    11591124               (outstates            (filter (lambda (x) (member x outputs)) states))
    11601125               (icstates             (filter (lambda (x) (member (car x) states)) ic))
    1161                (initialExpr/ML       (mlton-initial ic update: '((h . h))))
     1126               (initialExpr/ML       (mlton-initial (append params ic) update: '((h . h))))
    11621127               (initialStateExpr/ML  (mlton-initial icstates))
    1163                (updateState/ML       (mlton-state-update (map car ic)
    1164                                                          nstate: "input"
    1165                                                          input:  "initial"
    1166                                                          states: states
    1167                                                          update: '((spike . spike_i)
    1168                                                                    (tspike . tspike_i)
    1169                                                                    (Ispike . Ispike_i))))
    1170                (copyState/ML         (mlton-state-update states
    1171                                                          input: "input"
    1172                                                          states: outstates ))
     1128               (updateState/ML       (mlton-state-update
     1129                                      (append (map car ic) (map car params))
     1130                                      nstate: "input"
     1131                                      input:  "initial"
     1132                                      states: states
     1133                                      update: '((spike . spike_i)
     1134                                                (tspike . tspike_i)
     1135                                                (Ispike . Ispike_i))))
     1136               (copyState/ML         (mlton-state-update
     1137                                      states
     1138                                      input: "input"
     1139                                      states: outstates ))
    11731140               )
    1174           (d "NineML make-response-tenv: states = ~A~%" states)
     1141          (d "NineML make-response-tenv: ic = ~A states = ~A~%" ic states)
    11751142          (alist->tenv
    11761143           `((name               . ,name)
     
    15761543                    Diagram:module-initialize 
    15771544                    IVP:module-initialize
    1578                     Generator:module-initialize   
    15791545                    AlgebraicSystem:module-initialize  )
    1580               (list "Real" "Random" "Signal" "Diagram" "IVP" "Generator" "AlgebraicSystem" )) )
     1546              (list "Real" "Random" "Signal" "Diagram" "IVP" "AlgebraicSystem" )) )
    15811547
    15821548  (if (null? operands)
  • release/4/9ML-toolkit/trunk/templates/Network.sml.tmpl

    r31764 r31770  
    121121{% endif %}
    122122
     123{% if (not (pop.value.prototype.inputs == [])) %}
    123124{% if group.psrtypes %}
    124         val W = case I of SOME W' => W'
     125        val W = case Wnet of SOME W' => W'
    125126                        | NONE => (List.tabulate ({{length (dict (group.psrtypes))}},
    126127                                                  fn (i) => (RTensor.new ([N,1],0.0))))
    127128        val [{% for psr in dict (group.psrtypes) %}{{psr.name}}_i{% if not loop.last %},{% endif %}{% endfor %}] =
    128129            map (fn (W) => RTensor.sub(W,[i+n0,0])) W
     130        val {{first(pop.value.prototype.inputs)}}_i  =
     131            foldl Real.+ 0.0 [{% for psr in dict (group.psrtypes) %}{{psr.name}}_i{% if not loop.last %},{% endif %}{% endfor %}]
    129132{% else %}
    130 {% if (not (pop.value.prototype.inputs == [])) %}
    131133        val {{first(pop.value.prototype.inputs)}}_i  =
    132134            case Wnet of
Note: See TracChangeset for help on using the changeset viewer.