517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
|
# File 'ext/nulin_native.c', line 517
static VALUE nulin_dgemm(VALUE self,VALUE transa,VALUE transb,VALUE n,VALUE m,VALUE k,VALUE alpha,VALUE a,VALUE lda,VALUE b,VALUE ldb,VALUE beta,VALUE c,VALUE ldc)
{
char TRANSA = StringValueCStr(transa)[0];
char TRANSB = StringValueCStr(transb)[0];
integer N = NUM2INT(n);
integer M = NUM2INT(m);
integer K = NUM2INT(k);
doublereal ALPHA = NUM2DBL(alpha);
doublereal* A = NA_PTR_TYPE((nulin_check_narray(a),a), doublereal*);
integer LDA = NUM2INT(lda);
doublereal* B = NA_PTR_TYPE((nulin_check_narray(b),b), doublereal*);
integer LDB = NUM2INT(ldb);
doublereal BETA = NUM2DBL(beta);
doublereal* C = NA_PTR_TYPE((nulin_check_narray(c),c), doublereal*);
integer LDC = NUM2INT(ldc);
dgemm_(&TRANSA,&TRANSB,&N,&M,&K,&ALPHA,A,&LDA,B,&LDB,&BETA,C,&LDC);
return Qnil;
}
|