M4RI  1.0.1
Defines | Functions
xor.h File Reference

Functions for adding vectors. More...

#include "m4ri_config.h"
#include "misc.h"

Go to the source code of this file.

Defines

#define _MZD_COMBINE   _mzd_combine4(c, t1, t2, t3, t4, wide)

Functions

static void _mzd_combine8 (word *c, word const *t1, word const *t2, word const *t3, word const *t4, word const *t5, word const *t6, word const *t7, word const *t8, wi_t wide_in)
static void _mzd_combine4 (word *c, word const *t1, word const *t2, word const *t3, word const *t4, wi_t wide_in)
static void _mzd_combine3 (word *c, word const *t1, word const *t2, word const *t3, wi_t wide_in)
static void _mzd_combine2 (word *c, word const *t1, word const *t2, wi_t wide_in)
static void _mzd_combine (word *c, word const *t1, wi_t wide_in)

Detailed Description

Functions for adding vectors.

Author:
Martin Albrecht <martinralbrecht@googlemail.com>
Todo:
start counting at 0!

Function Documentation

static void _mzd_combine ( word c,
word const *  t1,
wi_t  wide_in 
) [inline, static]

Compute c[i] += t1[i] for 0 <= i < wide

static void _mzd_combine2 ( word c,
word const *  t1,
word const *  t2,
wi_t  wide_in 
) [inline, static]

Compute c[i] += t1[i] + t2[i] for 0 <= i < wide

static void _mzd_combine3 ( word c,
word const *  t1,
word const *  t2,
word const *  t3,
wi_t  wide_in 
) [inline, static]

Compute c[i] += t1[i] + t2[i] + t3[i] for 0 <= i < wide

static void _mzd_combine4 ( word c,
word const *  t1,
word const *  t2,
word const *  t3,
word const *  t4,
wi_t  wide_in 
) [inline, static]

Compute c[i] += t1[i] + t2[i] + t3[i] + t4[i] for 0 <= i < wide

static void _mzd_combine8 ( word c,
word const *  t1,
word const *  t2,
word const *  t3,
word const *  t4,
word const *  t5,
word const *  t6,
word const *  t7,
word const *  t8,
wi_t  wide_in 
) [inline, static]

Compute c[i] += t1[i] + t2[i] + t3[i] + t4[i] + t5[i] + t6[i] + t7[i] + t8[i] for 0 <= i < wide

Todo:
the non SSE2 version of this code is slow, replace by code from mzd_process_rows8