Changeset 26338 in project


Ignore:
Timestamp:
04/02/12 06:50:19 (9 years ago)
Author:
Ivan Raikov
Message:

blas: using bind instead of easyffi

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

Legend:

Unmodified
Added
Removed
  • release/4/blas/trunk/blas.meta

    r23287 r26338  
    99 (category math)
    1010
    11  (needs easyffi )
     11 (needs bind )
    1212
    1313 (test-depends test)
  • release/4/blas/trunk/blas.scm

    r23474 r26338  
    400400  (import scheme chicken data-structures foreign)
    401401
    402   (require-extension srfi-4 easyffi)
     402  (require-extension srfi-4 bind)
    403403
    404404(define (blas:error x . rest)
     
    415415
    416416
    417 #>!
     417(bind* #<<EOF
    418418
    419419typedef float CCOMPLEX;
     
    421421typedef int CBLAS_INDEX;
    422422
    423 ___declare(export_constants, yes)
    424 ___declare(substitute,"cblas_;cblas:")
    425 ___declare(substitute,"Cblas;C:")
    426423
    427424/*
     
    562559 cblas_zaxpy(N, alpha, X+(2*offsetX), incX, Y+(2*offsetY), incY);
    563560}
    564 
    565 
    566 
    567 <#
    568 
    569 
    570 (define RowMajor  C:RowMajor)
    571 (define ColMajor  C:ColMajor)
    572 (define NoTrans   C:NoTrans)
    573 (define Trans     C:Trans)
    574 (define ConjTrans C:ConjTrans)
    575 (define Upper     C:Upper)
    576 (define Lower     C:Lower)
    577 (define NonUnit   C:NonUnit)
    578 (define Unit      C:Unit)
    579 (define Left      C:Left)
    580 (define Right     C:Right)
     561EOF
     562)
     563
     564
     565(define RowMajor  CblasRowMajor)
     566(define ColMajor  CblasColMajor)
     567(define NoTrans   CblasNoTrans)
     568(define Trans     CblasTrans)
     569(define ConjTrans CblasConjTrans)
     570(define Upper     CblasUpper)
     571(define Lower     CblasLower)
     572(define NonUnit   CblasNonUnit)
     573(define Unit      CblasUnit)
     574(define Left      CblasLeft)
     575(define Right     CblasRight)
    581576
    582577
     
    584579  (let ((n (f32vector-length x)))
    585580    (let ((y  (make-f32vector n)))
    586       (cblas:scopy n x 1 y 1)
     581      (cblas_scopy n x 1 y 1)
    587582      y)))
    588583
     
    590585  (let ((n (f64vector-length x)))
    591586    (let ((y  (make-f64vector n)))
    592       (cblas:dcopy n x 1 y 1)
     587      (cblas_dcopy n x 1 y 1)
    593588      y)))
    594589
     
    596591  (let ((n (fx/ (f32vector-length x) 2)))
    597592    (let ((y  (make-f32vector (fx* 2 n))))
    598       (cblas:ccopy n x 1 y 1)
     593      (cblas_ccopy n x 1 y 1)
    599594      y)))
    600595
     
    602597  (let ((n (fx/ (f64vector-length x) 2)))
    603598    (let ((y  (make-f64vector (fx* 2 n))))
    604       (cblas:zcopy n x 1 y 1)
     599      (cblas_zcopy n x 1 y 1)
    605600      y)))
    606601
     
    654649
    655650
    656 #>!
     651(bind* #<<EOF
    657652
    658653/*
     
    12311226 cblas_zdotc_sub(N,X,incX,Y,incY,dotc);
    12321227}
    1233 
    1234 <#
     1228EOF
     1229)
     1230
    12351231
    12361232
     
    12421238               (vsize   (car (cddddr x)))
    12431239               (copy    (cadr (cddddr x)))
    1244                (cfname  (string->symbol (conc "cblas:" (symbol->string (car fn)))))
     1240               (cfname  (string->symbol (conc "cblas_" (symbol->string (car fn)))))
    12451241               (fname   (string->symbol (conc (if vsize "" "unsafe-")
    12461242                                              (symbol->string (car fn))
     
    15071503               (vsize   (car (cddddr x)))
    15081504               (copy    (cadr (cddddr x)))
    1509                (cfname  (string->symbol (conc "cblas:" (symbol->string (car fn)))))
     1505               (cfname  (string->symbol (conc "cblas_" (symbol->string (car fn)))))
    15101506               (fname   (string->symbol (conc (if vsize "" "unsafe-")
    15111507                                              (symbol->string (car fn))
     
    20142010               (copy          (cadr (cddddr x)))
    20152011               (make-return   (cddr (cddddr x)))
    2016                (cfname  (string->symbol (conc "cblas:" (symbol->string (car fn)))))
     2012               (cfname  (string->symbol (conc "cblas_" (symbol->string (car fn)))))
    20172013               (fname   (string->symbol (conc (if vsize "" "unsafe-")
    20182014                                              (symbol->string (car fn))
  • release/4/blas/trunk/blas.setup

    r24411 r26338  
    2626      (error "unable to figure out location of BLAS library")))
    2727
    28 (compile -O2 -d0 -s blas.scm -j blas -L "\"" ,ld-options "\"" -X easyffi)
     28(compile -O3 -d0 -s blas.scm -j blas -L "\"" ,ld-options "\"" )
    2929(compile -O2 -d0 -s blas.import.scm)
    3030
     
    3232 'blas
    3333 `(,(dynld-name "blas") ,(dynld-name "blas.import") )
    34  '((version 3.1)
     34 '((version 4.0)
    3535   ))
    3636
Note: See TracChangeset for help on using the changeset viewer.