MAJ terminée. Nous sommes passés en version 14.6.2 . Pour consulter les "releases notes" associées c'est ici :

https://about.gitlab.com/releases/2022/01/11/security-release-gitlab-14-6-2-released/
https://about.gitlab.com/releases/2022/01/04/gitlab-14-6-1-released/

FDenseMatrix.hpp 1.8 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// ===================================================================================
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Berenger Bramas, Matthias Messner
// olivier.coulaud@inria.fr, berenger.bramas@inria.fr
// This software is a computer program whose purpose is to compute the FMM.
//
// This software is governed by the CeCILL-C and LGPL licenses and
// abiding by the rules of distribution of free software.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public and CeCILL-C Licenses for more details.
// "http://www.cecill.info".
// "http://www.gnu.org/licenses".
// ===================================================================================
// 
// @SCALFMM_PRIVATE
// 
#ifndef FDENSEMATRIX_HPP
#define FDENSEMATRIX_HPP

#include "Utils/FBlas.hpp"

template <class FReal>
class FDenseMatrix
{

protected:
    // members
    FReal* block;
    const int height;
    const int width;
    const int leading_dimension;
    const int level;

public:

    // ctor
    explicit FDenseMatrix(const FReal* in_block, const int in_height, const int in_width, const int in_leading_dimension /*h<N*/, const int in_level)
    : height(in_height), width(in_width), leading_dimension(in_leading_dimension), level(in_level)
    {

        // Allocate memory
        block = new FReal[height*width];
        // Copy
        FBlas::copy(height*width,in_block,block);

    };
    // dtor
    ~FDenseMatrix(){

        // Free memory
        delete[] block;

    };

    void MV(FReal res[], const FReal vec[], const FReal scale = FReal(1.)) {

        FBlas::gemv(height, width, scale, block, vec, res);

    }

    
};

#endif // FDENSEMATRIX_HPP

// [--END--]