pfelem.cpp
来自「《无线通信系统仿真——c++使用模型》这本书的源代码」· C++ 代码 · 共 48 行
CPP
48 行
// pfelem.cpp
//
#include <iostream>
#include "pfelem.h"
PrimeFieldElem::PrimeFieldElem(void)
{
Modulus=1;
Value=0;
}
PrimeFieldElem::PrimeFieldElem(int modulus)
{
Modulus=modulus;
Value=0;
}
PrimeFieldElem::PrimeFieldElem(int modulus, int value)
{
Modulus=modulus;
Value = value%modulus;
}
PrimeFieldElem neg( PrimeFieldElem _e1)
{
return PrimeFieldElem(_e1.Modulus,(_e1.Modulus-_e1.Value));
}
PrimeFieldElem recip( PrimeFieldElem _e1)
{
int ret_val=0;
for(int i=0; i<_e1.Modulus; i++)
{
if( ((_e1.Value*i) % _e1.Modulus) == 1 ) ret_val = i;
}
return PrimeFieldElem(_e1.Modulus,ret_val);
}
PrimeFieldElem operator/( const PrimeFieldElem _e1, const PrimeFieldElem _e2)
{return PrimeFieldElem(_e1.Modulus,(_e1.Value * recip(_e2).Value ));}
ostream& operator<< ( ostream& s, const PrimeFieldElem& element)
{
s << element.Value;
return s;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?