31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#ifndef RedGroupH
|
|
#define RedGroupH
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// RedGroup.h: interface for the RedGroup class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include <vector>
|
|
|
|
#include "RedVar.h"
|
|
#include "DArray.h"
|
|
|
|
class RedGroup {
|
|
public:
|
|
// ??? íóæåí ëè long CentralProc; // ëèíåéííûé èíäåêñ ãåîìåòðè÷åñêîãî öåíòðà âèðòóàëüíîé ìàøèíû
|
|
VM *vmPtr;
|
|
std::vector<RedVar *> redVars; // ìàññèâ ðåäóêöèîííûõ ïåðåìåííûõ
|
|
long TotalSize; // îáùèé ðàçìåð â áàéòàõ ðåäóêöèîííûõ ïåðåìåíûõ âêëþ÷åííûõ â ãðóïïó è èõ äîïîëíèòåëüíîé èíôîðìàöèè
|
|
long CentralProc; // ëèíåéííûé èíäåêñ ãåîìåòðè÷åñêîãî öåíòðà âèðòàëüíîé ìàøèíû
|
|
|
|
RedGroup(VM *AvmPtr);
|
|
virtual ~RedGroup();
|
|
double StartR(DArray * APattern, long ALoopRank, const std::vector<long>& AAxisArray); // ìàøèíîçàâèñèìàÿ // ??? îïðåäåëèòü êàêèå åùå íóæíû ïàðàìåòðû
|
|
double StartR(AMView * APattern, long ALoopRank, const std::vector<long>& AAxisArray); // ìàøèíîçàâèñèìàÿ // ??? îïðåäåëèòü êàêèå åùå íóæíû ïàðàìåòðû
|
|
void AddRV(RedVar *ARedVar);
|
|
};
|
|
|
|
#endif
|