version 1.1, 2013/02/08 03:00:32 |
version 1.10, 2019/11/16 11:03:43 |
|
|
$OpenXM$ |
$OpenXM: OpenXM/src/R/r-packages/note.txt,v 1.9 2017/03/22 00:42:56 takayama Exp $ |
|
|
See also OpenXM/src/hgm/note.txt |
See also OpenXM/src/hgm/note.txt |
|
|
|
* R package build, reference pages. |
|
https://cran.r-project.org/bin/macosx/tools/ |
|
* Example |
|
Edit files in src/hgm |
|
cd R/r-packages |
|
make rsync |
|
R CMD INSTALL hgm |
|
Start R and library(hgm) |
|
hgm.ncso3() |
|
|
* C source codes. |
* C source codes. |
C sources and headers should be developed and edited in the directory |
C sources and headers should be developed and edited in the directory |
OpenXM/src/hgm in order to provide a standalone mode without R |
OpenXM/src/hgm in order to provide a standalone mode without R |
Line 28 See also OpenXM/src/hgm/note.txt |
|
Line 38 See also OpenXM/src/hgm/note.txt |
|
R CMD INSTALL hgm |
R CMD INSTALL hgm |
R |
R |
library(hgm) |
library(hgm) |
You can check hgm.so3nc by hand. |
You can check hgm.ncso3 by hand. |
R CMD REMOVE hgm |
R CMD REMOVE hgm |
It is used to remove the test library. |
It is used to remove the test library. |
|
|
R --help |
R --help |
|
(4) Binary build on Windows. |
|
R CMD INSTALL --build hgm |
|
( Check R CMD INSTALL --help for details. ) |
|
or |
|
R CMD build --binary hgm (perhaps, obsolete style) |
|
|
|
(5) make copy-web-hgm |
|
hgm_x.yz.tar.gz |
|
[cran submit package] search ==> http://cran.r-project.org/submit.html |
|
|
* Notes. |
* Notes. |
library.dynam() shows a list of shared libraries loaded. |
library.dynam() shows a list of shared libraries loaded. |
dyn.load("hgm.so") can be used to load shared library by hand. |
dyn.load("hgm.so") can be used to load shared library by hand. |
getwd() gets the current working directory. |
getwd() gets the current working directory. |
|
|
|
|
|
* Undocumented functions which are removed temporary fro NAMESPACE. 2015.03.24 |
|
export(hgm.so3nc) |
|
export(hgm.normalizingConstantOfFisherDistributionOnSO3) |
|
export(hgm.normalizingConstantOfOrthant) |
|
export(hgm.normalizingConstantOfBinghamDistribution) |
|
export(hgm.z.mleDemo) |
|
export(hgm.ssFB) |
|
|
|
|
|
* Check the memory leak by valgrind and by AddressSanitizer. 2015.04.01 |
|
** Valgrind |
|
apt-get install valgrind |
|
|
|
cat >>~/.valgrindrc |
|
--leak-check=full |
|
--track-origins=yes |
|
ctrl-D |
|
|
|
make clean |
|
R CMD check hgm --use-valgrind |
|
more hgm.Rcheck/hgm-Ex.Rout |
|
Example of an error (Note that there is no error message in *.log) |
|
==14813== Conditional jump or move depends on uninitialised value(s) |
|
==14813== at 0xCA20170: mh_t (jack-n.c:1361) |
|
for (i=0; i<=M_m; i++) { |
|
-- snip |
|
serror = myabs((partial_sum[i]-partial_sum[i-1])/partial_sum[i-1]); |
|
} |
|
partial_sum[-1] is accessed! |
|
|
|
As to details, search "valgrind" in R-exts.pdf |
|
|
|
* R CMD check hgm --use-gct |
|
|
|
* Note on building R package: @s/2015/04/05-hgm-r-package-memo.txt |
|
|
|
;; |
|
2016.02.15 testdata. |
|
c<-hgm.p2wishart(m=4,n1=50,n2=100,beta=c(1,2,4,8),q0=0.5,q=30,autoplot=1); |
|
output is wrong. |
|
c<-hgm.p2wishart(m=4,n1=50,n2=100,beta=c(1,2,4,8),q0=0.5,q=30,err=c(1e-30,1e-10),mode=c(1,1,0)) |
|
output is correct. |
|
c<-hgm.p2wishart(m=4,n1=50,n2=100,beta=c(1,2,4,8),q0=0.5,q=30,err=c(1e-30,1e-10),autoplot=1) |
|
crashed, but by commented out todo in mh.c, it works. See @s/2016/02 |
|
|
|
;; |
|
http://kbroman.org/pkg_primer/pages/cran.html |
|
|
|
R CMD check hgm --as-cran |
|
|
|
|