Drop bit-shift declarations
Closed this issue · 6 comments
declare armadillo as follows:
double arr[] = [1, 2, 3] ;
vec = v(arr, 3, 1)
Fixed
Detta fungerar bara för statisk initialisering. För dynamisk behöver vi nog bitshift tills vidare.
Dynamisk initialisering i Matlab er jeg ikke kjent med. Hvordan ser det ut?
Med dynamisk menar jag bara att värdena inte är konstanter, e.g.
c = [a, b];
Nu blir detta översatt till:
double a,b:
//....
double c_[] = {a, b}; //Olagligt i C och C++
vec c(c_, 2, false);
Ikke sikker på hva du mener.
Eksempel:
a = [1,2]
b = [3,4]
c = [a,b]
Uten -s får vi:
a = {1, 2} ;
b = {3, 4} ;
c = {a, b} ;
Som er ulovelig.
Men, hvis vi legger på -s, får vi følgende:
int _a [] = {1, 2} ;
a = irowvec(_a, 2, false) ;
int _b [] = {3, 4} ;
b = irowvec(_b, 2, false) ;
c = arma::join_cols(a, b) ;
Det er vel ikke noe behov for dynamisk allokering her, gjør vi?
Nej, men i mitt exempel är a och b doubles. Hur som helst så är jag helt ute och cyklar, mitt exempel är helt lagligt, så det spelar ingen roll. Ber om ursäkt för förvirringen.