mirror of
https://github.com/aicodix/code.git
synced 2026-04-27 14:30:36 +00:00
added reciprocal from index to index type
This commit is contained in:
parent
e55c2bc083
commit
03ac76c7d8
1 changed files with 8 additions and 1 deletions
|
|
@ -188,12 +188,19 @@ Value<M, POLY, TYPE> operator * (Value<M, POLY, TYPE> a, Value<M, POLY, TYPE> b)
|
|||
return (!a.v || !b.v) ? a.zero() : value(index(a) * index(b));
|
||||
}
|
||||
|
||||
template <int M, int POLY, typename TYPE>
|
||||
Index<M, POLY, TYPE> rcp(Index<M, POLY, TYPE> a)
|
||||
{
|
||||
assert(a.i < a.modulus());
|
||||
return Index<M, POLY, TYPE>(!a.i ? 0 : a.modulus() - a.i);
|
||||
}
|
||||
|
||||
template <int M, int POLY, typename TYPE>
|
||||
Value<M, POLY, TYPE> rcp(Value<M, POLY, TYPE> a)
|
||||
{
|
||||
assert(a.v <= a.N);
|
||||
assert(a.v);
|
||||
return value(Index<M, POLY, TYPE>(index(a).modulus() - index(a).i));
|
||||
return value(rcp(index(a)));
|
||||
}
|
||||
|
||||
template <int M, int POLY, typename TYPE>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue