Changeset 30682 in project


Ignore:
Timestamp:
04/10/14 03:11:22 (7 years ago)
Author:
Ivan Raikov
Message:

picnic: bug fix in ordering of layouts and local sections

Location:
release/4/picnic/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • release/4/picnic/trunk/picnic-utils.scm

    r30671 r30682  
    138138                (for-each (match-lambda
    139139                           ((gid p)
    140                             (fprintf out "~A ~A ~A ~A~%"
    141                                      gid
     140                            (fprintf out "~A ~A ~A~%"
    142141                                     (coord 0 p)
    143142                                     (coord 1 p)
     
    352351                                                 (make-genpoint dpoint gid soma-distance #f)))
    353352                                             proc)))
    354                               (d "make-section: gid = ~A pts = ~A~%" gid proc)
     353                              (d "make-section: label = ~A gid = ~A p = ~A pts = ~A~%"
     354                                 label gid p proc)
    355355                              (cons `(,seci . ,pts) ax)
    356356                              ))
     
    881881          )
    882882
     883        (define (make-output-fname dirname sysname suffix . rest)
     884          (let-optionals
     885           rest ((x #t))
     886           (and x
     887                (let ((dirname (if (string? x) x dirname)))
     888                  (let ((fname (sprintf "~A~A" sysname suffix)))
     889                    (or (and dirname (make-pathname dirname fname)) fname)))
     890                )))
     891
    883892       
    884893)
  • release/4/picnic/trunk/picnic.scm

    r30671 r30682  
    2828(import (prefix iexpr iexpr: )
    2929        (prefix ersatz-lib ersatz: )
    30         (only picnic-utils load-config-file)
     30        (only picnic-utils load-config-file make-output-fname)
    3131        )
    3232
     
    292292            (sysname     ((lambda (x) (or (and prefix ($ (s+ prefix "_" x))) x)) ((dis 'sysname) sys)))
    293293            (dirname     (pathname-directory source-path))
     294            (scm-fname   (make-output-fname dirname sysname  ".scm"))
    294295
    295296            (eval-const  (let ((eval-const (dis 'eval-const)))
     
    384385                                        label
    385386                                        (map (lambda (prs)
    386                                                (let* ((process-name (first prs))
     387                                                (let* ((process-name (first prs))
    387388                                                      (n (second prs))
    388389                                                      (n-value ((dis 'eval-const) sys n process-name))
     
    432433            )
    433434
    434        (for-each (lambda (b) (printf "~A~%" b)) prelude/scheme)
    435 
    436        (for-each pp (map (lambda (x) `(define . ,x)) consts))
    437        (for-each pp (map (lambda (x) `(define . ,x)) configs))
    438 
    439        (for-each pp (filter-map (lambda (x) (defun-codegen/scheme x)) defuns))
    440 
     435       (with-output-to-file scm-fname
     436         (lambda ()
     437           (begin
     438             (for-each (lambda (b) (printf "~A~%" b)) prelude/scheme)
     439
     440             (for-each pp (map (lambda (x) `(define . ,x)) consts))
     441             (for-each pp (map (lambda (x) `(define . ,x)) configs))
     442             
     443             (for-each pp (filter-map (lambda (x) (defun-codegen/scheme x)) defuns))
     444             
     445             
     446             (d "cell sections = ~A~%" cell-sections)
    441447       
    442        (d "cell sections = ~A~%" cell-sections)
    443        
    444        (for-each
    445         (match-lambda
    446          ((forest . layout)
    447           (let ((sections (map cdr (alist-ref forest cell-sections))))
    448             (pp (forest-codegen/scheme sys forest layout sections))
    449             )))
    450         cell-layouts)
    451        
    452        (d "projections = ~A~%" projections)
    453 
    454        (for-each
    455         (lambda (projection)
    456           (pp (projection-codegen/scheme sys cell-forests cell-sections projection)))
    457         projections)
    458        
    459        (for-each pp `((MPI:finalize)))
    460        
    461        ))
    462 
    463   )
     448             (for-each
     449              (match-lambda
     450               ((forest . layout)
     451                (let ((sections (map cdr (alist-ref forest cell-sections))))
     452                  (pp (forest-codegen/scheme sys forest layout sections))
     453                  )))
     454              cell-layouts)
     455             
     456             (d "projections = ~A~%" projections)
     457             
     458             (for-each
     459              (lambda (projection)
     460                (pp (projection-codegen/scheme sys cell-forests cell-sections projection)))
     461              projections)
     462             
     463             (for-each pp `((MPI:finalize)))
     464             
     465             ))
     466         ))
     467     ))
    464468
    465469
     
    650654                        x exprs))
    651655      `(let ((result
    652               (fold
     656              (fold-right
    653657               (match-lambda*
    654658                (((gid ,origin) lst)
  • release/4/picnic/trunk/scripts/plotGCs.m

    r30670 r30682  
    11graphics_toolkit("fltk");
    22
    3 nGC = 1;
     3nGC = 10;
    44GCs = load ("GC.sorted.dat" );
    5 PFs = load ("GC.ParallelFibers.section.dat" );
    6 AAs = load ("GC.AscendingAxons.section.dat" );
     5PFs = load ("GC.ParallelFibers.0.section.dat" );
     6AAs = load ("GC.AscendingAxons.0.section.dat" );
    77
    88pfpoints = (size (PFs)(2)-1)/3
     
    1313hold on;
    1414for i=1:nGC
    15   id = myGCinds(i)
     15  id = myGCinds(i)-1
    1616  myPFinds = find (PFs(:,1) == id)
    1717  myPFs = PFs(myPFinds,:);
Note: See TracChangeset for help on using the changeset viewer.