Changeset 27145 in project for release/4/nemo/trunk/nemo-nmodl.scm


Ignore:
Timestamp:
07/31/12 10:33:15 (9 years ago)
Author:
Ivan Raikov
Message:

nemo: added support for modulating ions in nmodl backend

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/nemo/trunk/nemo-nmodl.scm

    r27142 r27145  
    680680             (acc-ions      (map (match-lambda ((comp i in out) `(,comp ,@(map nmodl-name (list i in out)))))
    681681                                 (lookup-def 'acc-ions gate-complex-info)))
     682             (mod-ions      (lookup-def 'mod-ions gate-complex-info))
    682683             (epools        (lookup-def 'pool-ions gate-complex-info))
    683 
    684684             (pool-ions     (map (lambda (lst) (map nmodl-name lst)) epools))
    685685
     
    732732           
    733733           (if (null? acc-ions)
    734                (for-each (lambda (pool-ion epool)
    735                            (let ((valence (fifth epool)))
    736                              (if valence
    737                                  (pp indent+ (RANGE ,(slp ", " (list (second pool-ion) (third pool-ion))))
    738                                      (USEION ,(fourth pool-ion)
    739                                              READ  ,(slp ", " (list (second pool-ion)))
    740                                              WRITE ,(slp ", " (list (third pool-ion )))
    741                                              VALENCE ,(inexact->exact (eval-const valence valence))))
    742                                  (pp indent+ (RANGE ,(slp ", " (list (second pool-ion) (third pool-ion))))
    743                                      (USEION ,(fourth pool-ion)
    744                                              READ  ,(slp ", " (list (second pool-ion)))
    745                                              WRITE ,(slp ", " (list (third pool-ion )))))
    746                                  )))
    747                          pool-ions epools)
     734               (begin
     735                 (for-each (lambda (pool-ion epool)
     736                             (let ((valence (fifth epool)))
     737                               (if valence
     738                                   (pp indent+ (RANGE ,(slp ", " (list (second pool-ion) (third pool-ion))))
     739                                       (USEION ,(fourth pool-ion)
     740                                               READ  ,(slp ", " (list (second pool-ion)))
     741                                               WRITE ,(slp ", " (list (third pool-ion )))
     742                                               VALENCE ,(inexact->exact (eval-const valence valence))))
     743                                   (pp indent+ (RANGE ,(slp ", " (list (second pool-ion) (third pool-ion))))
     744                                       (USEION ,(fourth pool-ion)
     745                                               READ  ,(slp ", " (list (second pool-ion)))
     746                                               WRITE ,(slp ", " (list (third pool-ion )))))
     747                                   )))
     748                           pool-ions epools)
     749
     750                 (for-each (lambda (mod-ion)
     751                             (pp indent+
     752                                 (RANGE ,(second mod-ion))
     753                                 (USEION ,(first mod-ion) READ ,(second mod-ion))))
     754                           mod-ions)
     755                 )
    748756               (for-each (lambda (acc-ion)
    749757                           (let ((pool-ion (assoc (first acc-ion) pool-ions)))
Note: See TracChangeset for help on using the changeset viewer.