SVD·Ö½âCʵÏÖ
int svd(int m,int n,int withu,int withv,double eps,double tol,
double *a, double *q, double *u, double *v, double *vt)
{
int i,j,k,l,l1,iter,retval;
double c,f,g,h,s,x,y,z;
double *e;
e = (double *)calloc(n,sizeof(double));
retval = 0;
/* Copy 'a' to 'u' */
for (i=0;i<m;i++) {
for (j=0;j<n;j++)
u[i*n + j] = a[i*n + j];
}
/* Householder's reduction to bidiagonal form. */
g = x = 0.0;
for (i=0;i<n;i++) {
e[i] = g;
s = 0.0;
l = i+1;
for (j=i;j<m;j++)
s += (u[j*n+i]*u[j*n+i]);
if (s < tol)
g = 0.0;
else {
f = u[i*n+i];
g = (f < 0) ? sqrt(s) : -sqrt(s);
h = f * g - s;
u[i*n+i] = f - g;
for (j=l;j<n;j++) {
s = 0.0;
for (k=i;k<m;k++)
s += (u[k*n+i] * u[k*n+j]);
f = s / h;
for (k=i;k<m;k++)
u[k*n+j] += (f * u[k*n+i]);
}
/* end j */
}
/* end s */
q[i] = g;
s = 0.0;
for (j=l;j<n;j++)
s += (u[i*n+j] * u[i*n+j]);
if (s < tol)
g = 0.0;
else {
f = u[i*n+i+1];
g = (f < 0) ? sqrt(s) : -sqrt(s);
h = f * g - s;
u[i*n+i+1] = f - g;
for (j=l;j<n;j++)
e[j] = u[i*n+j]/h;
for (j=l;j<m;j++) {
s = 0.0;
Ïà¹ØÎĵµ£º
c¿âº¯ÊýÏê½â——assert
º¯ÊýÃû: assert
¹¦ ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
ÓÃ ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int key;
int value;
};
/* add item to ......
½ñÌì¿´K&RµÄÊéµÄʱºò˳±ãÎÂϰÁËCµÄÁíÒ»ÖØÒªÊý¾Ý½á¹¹bit-fields£¬ÎÒÏëbit-fieldsÔÚ±àдµ×²ãÇý¶¯
Çý¶¯³ÌÐòµÄʱºòÓ¦¸Ã±È½ÏºÃÓã¬Ëü¿ÉÒÔÈÆ¿ª"&"ºÍ"|"½øÐÐλ²Ù×÷£¬¶øÇÒ¸ü¼Ó½ÚÔ¼ÄÚ´æ¿Õ¼ä¡£·Ï»°²»¶à˵
ÁË£¬»¹ÊÇÏÈÀ´¿´¿´ËüµÄÕæÃæÄ¿°É£º
bit-fieldÀ´Ô´:
bit-fieldÊÇΪÁ˽ÚÔ¼´æ´¢¿Õ¼ä¶ø´´ÔìµÄÒ»ÖÖÊý¾ ......
Ö¸Õë,ÖÚËùÖÜÖª,ʱΪһÄÚ´æµØÖ·.Å׿ªOS¼¶±ð»ò¸üµÍµÄÓ²¼þ¼¶±ð²»Ëµ,½ö¶ÔÓ¦ÓÃÄÚµÄʹÓýøÐÐССµÄÒܲâÌÖÂÛ.
Ê×ÏÈ,ÔÚÓ¦ÓÃÄÚ,ÓÃmallocÉêÇëµ½µÄÒ»¿éµØÖ·Ó¦¸ÃÊÇÁ¬ÐøµÄ(²Â²â,Âß¼ÉÏÁ¬Ðø,ʵ¼ÊÉÏÎïÀíÈçºÎ·Ö²¼²»Óè¹Ø×¢).
Æä´Î,Êý¾Ý´æÔÚÔÚÄÚ´æÖж¼ÊÇÒÔ2½øÖÆÐÎʽ´æ·Å.²»´æÔÚÊý¾ÝÀàÐÍ,Òò´Ë,¶ÔÄÚ´æÊý¾ÝµÄ²Ù×÷,Ö»Òª×ñѽø³öÀàÐÍÒ»Ö¼´¿É.
´ ......
1.ÊDz»ÊÇÒ»¸ö¸¸ÀàдÁËÒ»¸övirtual º¯Êý£¬Èç¹û×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶à̬?
virtualÐÞÊηû»á±»ÒþÐμ̳еġ£private Ò²±»¼¯³É£¬Ö»ÊÂÅÉÉúÀàûÓзÃÎÊȨÏÞ¶øÒÑ¡£virtual¿É¼Ó¿É²»¼Ó¡£×ÓÀàµÄ¿Õ¼äÀïÓи¸ÀàµÄËùÓбäÁ¿(static³ýÍâ)¡£Í¬Ò»¸öº¯ÊýÖ»´æÔÚÒ»¸öʵÌå(inline³ýÍâ)¡£×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶àÌ ......
Ò»¡¢³ÌÐòÕæÚÐ
1.³ÌÐò¾ÍÊÇ“°áÊý”
¶¯×÷£º¶ÁÈ¡——¼¼Êõ——д³ö£¨ÊäÈë——´¦Àí——Êä³ö£©
Êý¾Ý½á¹¹¾ö¶¨Êý¾ÝÈçºÎ×éÖ¯£¬°á¶¯ÆðÀ´Ð§Âʽϸß
Ëã·¨ÓïÑÔ¾ ......