Skip to content

Commit 86098b5

Browse files
authored
HElib v2.0.x release updates
HElib v2.0.x release updates - Documentation Updates - Build and Test DevOps pipeline updates
2 parents bcc4a4a + 7fe404c commit 86098b5

File tree

13 files changed

+104
-8
lines changed

13 files changed

+104
-8
lines changed

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,9 @@ addons:
9393
- cmake
9494
- bats-core
9595
- ccache
96-
update: true
96+
# update: true
97+
# Uncomment this line if the latest update of homebrew is required. This will
98+
# increase the overall build time of each platform.
9799

98100
# activating ccache on MacOS.
99101
before_install:

README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
HElib
22
=====
33

4-
<!--- Commenting travis banner out as we don't have access to the free tier anymore --->
5-
<!--- When and if the free tier is reinstated, we will put the banner back --->
6-
<!--- Our releases are tested in 14 different configuration in a private DevOps environement --->
7-
<!--- [![Build Status](https://travis-ci.com/homenc/HElib.svg?branch=master)](https://travis-ci.com/homenc/HElib) --->
4+
[![Build Status](https://travis-ci.com/IBM-HElib/HElib.svg?branch=master)](https://travis-ci.com/IBM-HElib/HElib)
85

96
HElib is an open-source ([Apache License v2.0][5]) software library that
107
implements [homomorphic encryption][6] (HE). Currently available schemes are the

ci/install_deps.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ if [ "${PACKAGE_BUILD}" == "OFF" ]; then
1919
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
2020
if [ "${TRAVIS_DIST}" == "bionic" ]; then
2121
sudo apt-get -yq --no-install-suggests --no-install-recommends $(travis_apt_get_options) install m4 libgmp-dev
22-
curl -O "https://www.shoup.net/ntl/ntl-11.4.3.tar.gz"
22+
curl -O "https://libntl.org/ntl-11.4.3.tar.gz"
2323
tar --no-same-owner -xf ntl-11.4.3.tar.gz
2424
cd "$HOME/ntl-11.4.3/src"
2525
./configure SHARED=on NTL_GMP_LIP=on NTL_THREADS=on NTL_THREAD_BOOST=on
-504 KB
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

include/helib/Ctxt.h

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,9 @@ class Ctxt
607607
* @brief Times equals operator with a `ZZX`.
608608
* @param poly Element by which to multiply.
609609
* @return Reference to `*this` post multiplication.
610+
* @deprecated This function is deprecated in favor of a new
611+
* `EncodedPtxt`-based API.\n
612+
* Please use `Ctxt::operator*=(const EncodedPtxt& ptxt)` instead.
610613
**/
611614
// [[deprecated]]
612615
Ctxt& operator*=(const NTL::ZZX& poly);
@@ -648,34 +651,60 @@ class Ctxt
648651
}
649652

650653
//! add a rational number in the form a/b, a,b are long
654+
/**
655+
* @deprecated This function is deprecated in favor of a newer API.
656+
* Please use `Ctxt::operator+=(double ptxt)` instead.
657+
**/
651658
// [[deprecated]]
652659
void addConstantCKKS(std::pair</*numerator=*/long, /*denominator=*/long>);
660+
/**
661+
* @deprecated This function is deprecated in favor of a newer API.
662+
* Please use `Ctxt::operator+=(double ptxt)` instead.
663+
**/
653664
// [[deprecated]]
654665
void addConstantCKKS(double x)
655666
{ // FIXME: not enough precision when x is large
656667
addConstantCKKS(
657668
rationalApprox(x, /*denomBound=*/1L << getContext().getAlMod().getR()));
658669
}
659670

671+
/**
672+
* @deprecated This function is deprecated in favor of a newer API.
673+
* Please use `Ctxt::operator+=(const FatEncodedPtxt& ptxt)` instead.
674+
**/
660675
// [[deprecated]]
661676
void addConstantCKKS(const DoubleCRT& dcrt,
662677
NTL::xdouble size = NTL::xdouble(-1.0),
663678
NTL::xdouble factor = NTL::xdouble(-1.0));
664679

680+
/**
681+
* @deprecated This function is deprecated in favor of a newer API.
682+
* Please use `Ctxt::operator+=(const EncodedPtxt& ptxt)` instead.
683+
**/
665684
// [[deprecated]]
666685
void addConstantCKKS(const NTL::ZZX& poly,
667686
NTL::xdouble size = NTL::xdouble(-1.0),
668687
NTL::xdouble factor = NTL::xdouble(-1.0));
669688

689+
/**
690+
* @deprecated This function is deprecated in favor of a newer API.
691+
* Please use `Ctxt::operator+=(const PtxtArray& ptxt)` instead.
692+
**/
670693
// [[deprecated]]
671694
void addConstantCKKS(const std::vector<std::complex<double>>& ptxt);
672695

673696
/**
674697
* @brief Add a `CKKS` plaintext to this `Ctxt`.
675698
* @param ptxt Plaintext `Ptxt` object with which to add.
699+
* @deprecated This function is deprecated in favor of a newer API.
700+
* Please use `Ctxt::operator+=(const PtxtArray& ptxt)` instead.
676701
**/
677702
// [[deprecated]]
678703
void addConstantCKKS(const Ptxt<CKKS>& ptxt);
704+
/**
705+
* @deprecated This function is deprecated in favor of a newer API.
706+
* Please use `Ctxt::operator+=(const NTL::ZZ& ptxt)` instead.
707+
**/
679708
// [[deprecated]]
680709
void addConstantCKKS(const NTL::ZZ& c);
681710

@@ -1061,6 +1090,10 @@ class Ctxt
10611090
}
10621091

10631092
//! multiply by a rational number or floating point
1093+
/**
1094+
* @deprecated This function is deprecated in favor of a newer API.
1095+
* Please use `Ctxt::operator*=(double ptxt)` instead.
1096+
**/
10641097
// [[deprecated]]
10651098
void multByConstantCKKS(double x)
10661099
{
@@ -1082,18 +1115,30 @@ class Ctxt
10821115
this->negate();
10831116
}
10841117

1118+
/**
1119+
* @deprecated This function is deprecated in favor of a newer API.
1120+
* Please use `Ctxt::operator*=(double ptxt)` instead.
1121+
**/
10851122
// [[deprecated]]
10861123
void multByConstantCKKS(std::pair<long, long> num) // rational number
10871124
{
10881125
multByConstantCKKS(double(num.first) / num.second);
10891126
}
10901127

1128+
/**
1129+
* @deprecated This function is deprecated in favor of a newer API.
1130+
* Please use `Ctxt::operator*=(const FatEncodedPtxt& ptxt)` instead.
1131+
**/
10911132
// [[deprecated]]
10921133
void multByConstantCKKS(const DoubleCRT& dcrt,
10931134
NTL::xdouble size = NTL::xdouble(-1.0),
10941135
NTL::xdouble factor = NTL::xdouble(-1.0),
10951136
double roundingErr = -1.0);
10961137

1138+
/**
1139+
* @deprecated This function is deprecated in favor of a newer API.
1140+
* Please use `Ctxt::operator*=(const EncodedPtxt& ptxt)` instead.
1141+
**/
10971142
// [[deprecated]]
10981143
void multByConstantCKKS(const NTL::ZZX& poly,
10991144
NTL::xdouble size = NTL::xdouble(-1.0),
@@ -1109,9 +1154,15 @@ class Ctxt
11091154
/**
11101155
* @brief Multiply a `CKKS` plaintext to this `Ctxt`.
11111156
* @param ptxt Plaintext `Ptxt` object polynomial with which to multiply.
1157+
* @deprecated This function is deprecated in favor of a newer API.
1158+
* Please use `Ctxt::operator*=(const PtxtArray& ptxt)` instead.
11121159
**/
11131160
// [[deprecated]]
11141161
void multByConstantCKKS(const Ptxt<CKKS>& ptxt);
1162+
/**
1163+
* @deprecated This function is deprecated in favor of a newer API.
1164+
* Please use `Ctxt::operator*=(const PtxtArray& ptxt)` instead.
1165+
**/
11151166
// [[deprecated]]
11161167
void multByConstantCKKS(const std::vector<std::complex<double>>& ptxt);
11171168

@@ -1339,7 +1390,10 @@ class Ctxt
13391390
return 0; // just to keep the compiler happy
13401391
}
13411392

1342-
//! @brief Returns log(noiseBound) - log(q)
1393+
/**
1394+
* @brief Returns log(noiseBound) - log(q)
1395+
* @deprecated This is deprecated. Please use `Ctxt::capacity()` instead.
1396+
**/
13431397
// [[deprecated]] // use capacity()
13441398
double log_of_ratio() const
13451399
{

0 commit comments

Comments
 (0)