M4RIE  0.20120415
 All Data Structures Files Functions Variables Defines
strassen.h
Go to the documentation of this file.
00001 
00007 #ifndef M4RIE_STRASSEN_H
00008 #define M4RIE_STRASSEN_H
00009 
00010 /******************************************************************************
00011 *
00012 *            M4RIE: Linear Algebra over GF(2^e)
00013 *
00014 *    Copyright (C) 2010 Martin Albrecht <martinralbrecht@googlemail.com>
00015 *
00016 *  Distributed under the terms of the GNU General Public License (GEL)
00017 *  version 2 or higher.
00018 *
00019 *    This code is distributed in the hope that it will be useful,
00020 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00021 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00022 *    General Public License for more details.
00023 *
00024 *  The full text of the GPL is available at:
00025 *
00026 *                  http://www.gnu.org/licenses/
00027 ******************************************************************************/
00028 
00044 mzed_t *mzed_mul_strassen(mzed_t *C, const mzed_t *A, const mzed_t *B, int cutoff);
00045 
00061 mzed_t *mzed_addmul_strassen(mzed_t *C, const mzed_t *A, const mzed_t *B, int cutoff);
00062 
00079 mzed_t *_mzed_mul_strassen(mzed_t *C, const mzed_t *A, const mzed_t *B, int cutoff);
00080 
00096 mzed_t *_mzed_addmul_strassen(mzed_t *C, const mzed_t *A, const mzed_t *B, int cutoff);
00097 
00108 rci_t _mzed_strassen_cutoff(const mzed_t *C, const mzed_t *A, const mzed_t *B);
00109 
00110 #endif //M4RIE_STRASSEN_H