Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

/*******************************************************
 *
 * Author: Shinsaku Hiura, Hirokazu Kato
 *
 *         shinsaku@sys.es.osaka-u.ac.jp
 *         kato@sys.im.hiroshima-cu.ac.jp
 *
 * Revision: 2.1
 * Date: 99/07/16
 *
*******************************************************/


#include <stdio.h>
#include <math.h>
#include <AR/matrix.h>

double arVecHousehold( ARVec *x )
{
    double s, t;
    int    i;

    s = sqrt( arVecInnerproduct(x,x) );

    if( s != 0.0 ) {
        if(x->v[0] < 0) s = -s;
        x->v[0] += s;
        t = 1 / sqrt(x->v[0] * s);
        for( i = 0; i < x->clm; i++ ) {
            x->v[i] *= t;
        }
    }

    return(-s);
}