Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitde10192

Browse files
committed
Fix: Allow double values for minkowski parameter
1 parentf3316c5 commitde10192

File tree

3 files changed

+5
-28
lines changed

3 files changed

+5
-28
lines changed

‎man/parDist.Rd‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ An exemplary definition and usage of an user-defined euclidean distance function
170170
\itemize{
171171
\item{
172172
\describe{
173-
\item{\code{p} (integer,optional)}{The \eqn{p}throotofthesumofthe \eqn{p}thpowersofthedifferencesofthecomponents.}
173+
\item{\code{p} (double,optional)}{The \eqn{p}throotofthesumofthe \eqn{p}thpowersofthedifferencesofthecomponents.}
174174
}
175175
}
176176
}

‎src/DistanceDist.h‎

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -72,29 +72,6 @@ class DistanceCanberra : public IDistance {
7272
}
7373
};
7474

75-
//=======================
76-
// Canberra distance
77-
//=======================
78-
// class DistanceCanberraOrg : public IDistance {
79-
// public:
80-
// DistanceCanberraOrg () {}
81-
// ~DistanceCanberraOrg () {}
82-
// double calcDistance(const arma::mat &A, const arma::mat &B) {
83-
// arma::mat denominator = arma::abs(A) + arma::abs(B);
84-
// std::cout << "denominator"<< std::endl;
85-
// denominator.print(std::cout);
86-
// arma::mat ratio = arma::abs(A - B) / denominator;
87-
// std::cout << "ratio"<< std::endl;
88-
// ratio.print(std::cout);
89-
// ratio.transform( [](double val) {
90-
// return (std::isnan(val) ? double(1) : val);
91-
// } );
92-
// std::cout << "ratio after nan replacement"<< std::endl;
93-
// ratio.print(std::cout);
94-
// return arma::accu(ratio);
95-
// }
96-
// };
97-
9875
//=======================
9976
// Chord
10077
//=======================
@@ -223,9 +200,9 @@ class DistanceMaximum : public IDistance {
223200
//=======================
224201
classDistanceMinkowski :publicIDistance {
225202
private:
226-
unsignedint p;
203+
double p;
227204
public:
228-
explicitDistanceMinkowski (unsignedint p) {
205+
explicitDistanceMinkowski (double p) {
229206
this->p = p;
230207
}
231208
~DistanceMinkowski() {}

‎src/DistanceFactory.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ std::shared_ptr<IDistance> DistanceFactory::createDistanceFunction(Rcpp::List& a
7777
}elseif (isEqualStr(distName,"maximum")) {
7878
distanceFunction = std::make_shared<DistanceMaximum>();
7979
}elseif (isEqualStr(distName,"minkowski")) {
80-
int p =2;
80+
double p =2;
8181
if (arguments.containsElementNamed("p")) {
82-
p = Rcpp::as<int >(arguments["p"]);
82+
p = Rcpp::as<double >(arguments["p"]);
8383
}
8484
distanceFunction = std::make_shared<DistanceMinkowski>(p);
8585
}elseif (isEqualStr(distName,"podani")) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp