SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 392, Tue Dec 14 20:01:16 2004 UTC revision 1431, Wed Aug 23 22:13:53 2006 UTC
# Line 1  Line 1 
1  2004-12-14  Douglas Bates  <bates@bates1-home>  2006-08-23  Douglas Bates  <bates@dyn-51-128.uwnet.wisc.edu>
2    
3            * R/AllClass.R,src/SOURCES_C.mkf,init.c,NAMESPACE: Remove classes
4            lCholCMatrix and dCholCMatrix based on R_ldl code.
5            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
6            dgeMatrix_crossprod (may need to do this in other places).
7            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
8            generic and method for dsCMatrix.  Use CHOLMOD for chol().
9    
10    2006-08-22  Douglas Bates  <bates@R-project.org>
11    
12            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
13            types of classed Matrices, matrices or numeric or logical vectors.
14            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
15            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
16            to Mutils.h (as an inline) and change name to Matrix_check_class;
17            fixes in as_cholmod_factor and chm_factor_to_SEXP.
18            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
19            dsCMatrix_matrix_solve.  Comment out vestigial functions.
20            * src/Csparse.c: use diag_P and uplo_P macros.
21    
22    2006-08-21  Douglas Bates  <bates@R-project.org>
23    
24            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
25            valgrind.
26            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
27            inverses.
28            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
29            -Wall warnings.
30            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
31            Use dup_mMatrix_as_dgeMatrix.
32    
33    2006-08-20  Douglas Bates  <bates@R-project.org>
34    
35            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
36            * tests/sparseQR.R: Added
37            * man/sparseQR-class.Rd: Document methods for qr.* generics
38            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
39    
40    2006-08-19  Douglas Bates  <bates@R-project.org>
41    
42            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
43            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
44            and qr.fitted.
45            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
46            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
47    
48    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
49    
50            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
51            the base version has no "..." argument.
52    
53            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
54    
55            * R/Matrix.R: define and
56            * NAMESPACE: export as.numeric() and as.logical() methods.
57                    Let's hope these do not badly slow down something...
58            Finally export the zapsmall() method.
59    
60    2006-08-17  Douglas Bates  <bates@R-project.org>
61    
62            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
63            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
64            * src/dtCMatrix.c :Remove code that is no longer used
65            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
66    
67    2006-08-14  Douglas Bates  <bates@R-project.org>
68    
69            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
70            Csparse_to_logical and Csparse_symmetric_to_general.
71            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
72            coercion methods between CsparseMatrix and TsparseMatrix.
73    
74    2006-08-14  Douglas Bates  <bates@R-project.org>
75    
76            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
77            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
78            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
79            possible.
80    
81    2006-08-12  Douglas Bates  <bates@R-project.org>
82    
83            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
84              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
85              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
86              generalize conversions between TsparseMatrix, CsparseMatrix,
87              denseMatrix and matrix.  Preserve triangularity property and
88              propagate Dimnames in the easy cases.
89    
90    2006-08-10  Douglas Bates  <bates@R-project.org>
91    
92            * src/lmer.c: adjust checks in glmer_init for S4SXP
93            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
94            before S4SXP but for the wrong reasons.
95    
96    2006-08-08  Douglas Bates  <bates@R-project.org>
97    
98            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
99            Later modified to return the upper triangle only.
100            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
101    
102    2006-08-07  Douglas Bates  <bates@R-project.org>
103    
104            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
105            R-level conversion to a sparse symmetric class.
106            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
107            Remove conversion to sparse symmetric classes (now done in C code).
108    
109    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
110    
111            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
112            * man/band.Rd:  adapt the \dontshow{} unit test.
113    
114    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
115    
116            * DESCRIPTION (Version): 0.995-14  for CRAN
117    
118            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
119    
120            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
121            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
122    
123            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
124            * R/Tsparse.R (tril, triu, band): methods
125            * R/dgRMatrix.R (tril, ...):    ditto
126            * man/band.Rd:                  ditto
127    
128    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
129    
130            * R/Matrix.R (head, tail): directly use utils:::head.matrix
131                    to be up-to-date automatically.
132    
133    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
134    
135            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
136    
137            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
138            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
139            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
140            such that the S4 objects are always created by the current version
141            of R and 'Matrix' class definitions.
142    
143    2006-08-01  Douglas Bates  <bates@R-project.org>
144    
145            * R/lmer.R (LMEoptimize method), tests/lmer.R,
146            inst/external/test3comp.rda: Added warnings for convergence on
147            boundary and test cases.
148    
149            * src/lmer.c (mer_postVar): Modified to return the variances that
150            are marginal to the fixed effects, not conditional on them (which
151            is what the bVar slot contents represent).
152    
153    2006-07-31  Douglas Bates  <bates@R-project.org>
154    
155            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
156            function which calls the C function mer_hat_trace2.
157    
158            * man/ranef.Rd: Include description of "postVar" argument and
159            producing a caterpillar plot.
160    
161    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
162    
163            * NAMESPACE:    change  "correlation" to "corMatrix"
164            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
165            * R/dpoMatrix.R: ditto
166            * R/lmer.R:      ditto
167    
168    2006-07-28  Douglas Bates  <bates@R-project.org>
169    
170            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
171            RZXinv slot's contents into a separate internal function that can
172            be used in mer_hat_trace.
173    
174    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
175    
176            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
177            via new smart
178            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
179            utility functions.
180    
181    
182    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
183    
184            * R/Csparse.R (tril, triu, band): do return *triangular* classed
185            matrices when appropriate; band() even symmetric ones.
186            (replCmat): extend to potentially all "CsparseMatrix"
187            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
188            allow subassignment for special sparse matrices.
189    
190            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
191    
192            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
193            argument; in glmer_*(): print only if(verbose).
194    
195            speed-optimize a few places by moving REAL(.) out of loops.
196    
197            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
198    
199    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
200    
201            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
202                    since that wrongly triggers also for M[ logi , ]
203    
204            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
205            a symmetric matrix that results in a non-symmetric one.
206            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
207    
208            * R/dMatrix.R: make round(M) work as round(M, 0)
209    
210            * R/dgTMatrix.R (image): coordinate system and axis now use
211            1-based indices, not 0-based ones.
212    
213            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
214            * tests/indexing.R: test it.
215    
216            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
217            * man/isSymmetric-methods.Rd: and document it.
218    
219            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
220            * man/SparseM-conv.Rd: docu them
221    
222            * tests/other-pkgs.R: renamed from tests/graph.R and add example
223                    for 'SparseM' conversions
224    
225    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
226    
227            * R/Matrix.R (head): added head() and tail() methods.
228    
229    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
230    
231            * DESCRIPTION (Version): 0.995-12 released to CRAN
232    
233    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
234    
235            * tests/simple.R: add check for correct dsT -> dgT coercion;
236                    add check for correct printing of symmetric sparse matrices.
237    
238            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
239            for sparse symmetric matrices.
240    
241            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
242            diagonal twice.
243    
244    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
245    
246            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
247            being applied to the x slot (detected by Brian Ripley).
248    
249    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
250    
251            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
252    
253            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
254    
255    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
256    
257            * src/lgCMatrix.c (lgCMatrix_diag): new function
258            * R/lgCMatrix.R (diag): for new method
259    
260            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
261                 ==> construction of illegal "*gTMatrix" via new() should
262                 now be much less easy:
263            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
264    
265            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
266                    directly.
267            * man/Matrix.Rd: documents it.
268    
269    2006-07-06  Douglas Bates  <bates@R-project.org>
270    
271            * src/pedigree.c (pedigree_inbreeding): Correction in
272            initialization.  This function is not currently being used and is
273            not fully tested.
274    
275            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
276            Introduced the glmer class.  Added code for mcmcmsamp on glmer
277            objects.  Modified validity check on pedigree objects to account
278            for nonparallel patterns of missingness of parents.
279    
280            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
281            class.
282    
283    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
284    
285            * R/pMatrix.R: coercion pMatrix -> Tsparse
286    
287    2006-06-12  Douglas Bates  <bates@R-project.org>
288    
289            * DESCRIPTION (Version): 0.995-11 released to CRAN
290    
291            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
292            the output from mcmcsamp.
293    
294    2006-06-10  Douglas Bates  <bates@R-project.org>
295    
296            * R/lmer.R (simulestimate): added C code for calculating the trace
297            of the hat matrix.
298    
299    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
300    
301            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
302            classes.
303            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
304    
305    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
306    
307            * R/dgTMatrix.R (colSums): etc. All four of
308            colSums(), rowSums(), colMeans(), rowMeans() now should work for
309            all "Matrices".
310    
311    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
312    
313            * R/lmer.R (panel.ci): Add a reference line at zero and a
314            background grid to the qqmath plot of ranef.lmer.
315    
316    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
317    
318            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
319            grouping factors to be specified in the formula as (1|foo/bar).
320    
321    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
322    
323            * R/lmer.R (findbars and others): Change check of is.numeric to
324            !is.language to resolve the bug reported by Jacob Wegelin.
325    
326            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
327            code to evaluate inbreeding coefficients without calculating T,
328            based on code in Sargolzaei and Iwaisaki's paper.
329    
330    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
331    
332            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
333            generic and mer methods for isNested and denomDF. This denomDF was
334            an attempt to emulate that in lme but I don't think that makes
335            sense.  Use the trace of the hat matrix instead.
336    
337    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
338    
339            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
340            the C code depending on a slot structure that's no longer valid.
341            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
342    
343    
344    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
345    
346            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
347            of lowerTriMatrix generic and methods to tril (also upper to triu)
348            and added a general band extractor.
349    
350    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
351    
352            * R/pedigree.R (pedigree): Replace sire and dam values outside the
353            allowable range with NAs. Added a corresponding check in the
354            validity check for the pedigree class.
355    
356            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
357            crossprod methods now inherits from symmetricMatrix.
358    
359    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
360    
361            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
362            generics lowerTriMatrix and upperTriMatrix along with methods for
363            the Csparse virtual class.  Also added a C function Csparse_band
364            that implements these methods by calling cholmod_band.
365    
366    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
367    
368            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
369            erased when it was NULL.  This led to invalid subselections!
370    
371    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
372    
373            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
374            in method for "t" so as not to lose the unit diagonal property.
375    
376    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
377    
378            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
379            and methods.  This is now an option to the ranef method for the
380            mer class.
381    
382            * src/cs_utils.c: Ensure that the nz component is -1 for a
383            compressed column-oriented matrix.  Minor formatting cleanup.
384    
385            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
386            objects.
387    
388    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
389    
390            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
391            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
392    
393    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
394    
395            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
396            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
397    
398            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
399            for the dtCMatrix class.
400    
401    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
402    
403            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
404            and methods for it.
405    
406    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
407    
408            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
409            arguments, such that M %*% 1:6 now works
410            * Tests/matprod.R: test the above
411    
412    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
413    
414            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
415            the ranef.lmer class.
416    
417            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
418            methods to extract the posterior variances from the bVar slot.
419    
420    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
421    
422            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
423            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
424    
425            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
426            * tests/simple: (extended)
427    
428            * R/sparseMatrix.R (isTriangular): now using much improved
429            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
430    
431    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
432    
433            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
434            (problem report from Franklin Parlamis).  This should be done
435            generally.
436    
437    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
438    
439            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
440            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
441            update the plot methods.
442    
443    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
444    
445            * R/lmer.R (resid and ranef methods):  Added methods for the
446            "residuals" and "resid" generic but only for linear mixed model
447            fits.  Changed the ranef method to return a list of data frames so
448            that the plot methods now work.
449    
450    2006-03-16  Douglas Bates  <bates@bates2>
451    
452            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
453            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
454    
455            * DESCRIPTION (Date): New release
456    
457    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
458    
459            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
460    
461            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
462            * man/KNex.Rd: and other help files
463            * tests/*.R: several ones needed adaption
464            * inst/doc/Comparisons.Rnw: ditto
465    
466    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
467    
468            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
469    
470            * tests/indexing.R: tests for new [<- methods for sparse matrices.
471    
472    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
473    
474            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
475    
476            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
477    
478    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
479    
480            * R/dMatrix.R: enable things like  M [ M < 10 ]
481            * R/dgeMatrix.R: implement it
482    
483    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
484    
485            * R/AllClass.R: define "summary.mer" and "*.lmer"
486            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
487            * R/lmer.R (show): now works with summary()
488    
489    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
490    
491            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
492            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
493                    support the above
494    
495    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
496    
497            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
498            Use glmFit$prior.weights for weights in a glmm.
499            Allow an option usePQL = FALSE to skip the PQL steps for the
500            Laplace method (and, in time, the AGQ method).
501    
502            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
503            into a separate function internal_mer_Xfactor to be able to call
504            it from internal_bhat.
505    
506    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
507    
508            * tests/Class+Meth.R (tstMatrixClass): function for much better
509            testing; now again of all actual classes.
510    
511            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
512                    use macros and define make_d_matrix_* and make_i_matrix_*
513                    where _i_ is for the ldense routines:
514    
515            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
516            * src/ldense.c (lsyMatrix_as_lgeMatrix):
517    
518            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
519    
520    
521    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
522    
523            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
524                    many different kinds of matrices.
525            * R/*.R: quite a few new methods were needed for R CMD check with
526                    new Matrix().  Very good for users playing around.
527    
528    
529    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
530    
531            * src/dgeMatrix.c (dMatrix_validate): new
532            * src/Mutils.c (dense_nonpacked_validate): new
533    
534            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
535    
536    
537    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
538    
539            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
540    
541    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
542    
543            * DESCRIPTION (Version): 0.99-6 released to CRAN
544    
545            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
546            segfault in cases with multiple non-nested grouping factors.
547    
548    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
549    
550            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
551                    (Depends): also on 'utils'
552    
553            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
554            * R/diagMatrix.R (Diagonal): constructor and methods for
555            diagonal matrices
556    
557            * R/ltTMatrix.R: new "minimal methods"
558    
559    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
560    
561            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
562            all methods (and help files).
563    
564    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
565    
566            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
567                    for case (dimn.  op  no_dimn.)
568    
569    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
570    
571            * DESCRIPTION (Version): 0.99-2  released to CRAN
572    
573    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
574    
575            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
576            by Julian Faraway.
577    
578    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
579    
580            * R/Auxiliaries.R (try_as): new utility
581            * R/sparseMatrix.R: use try_as() in coercion to original class
582    
583    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
584    
585            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
586    
587    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
588    
589            * R/Auxiliaries.R (dimNamesCheck): added
590    
591            * R/Matrix.R (as.array), (as.vector): new
592    
593    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
594    
595            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
596                    default.
597            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
598                    "pMatrix" now contains "sparseMatrix"
599    
600    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
601    
602            * tests/Class+Meth.R: new tests; t(t(m)) == m
603    
604            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
605    
606            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
607            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
608    
609            * R/dspMatrix.R: typo in "t" method
610    
611    2005-09-18  Douglas Bates  <bates@wisc.edu>
612    
613            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
614            * R/Tsparse.R: instead of R/gTMatrix.R
615            * R/Csparse.R: new
616            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
617            * src/Tsparse.c: new; many trivial methods calling cholmod_()
618            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
619                            via cholmod
620    
621    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
622    
623            * R/Auxiliaries.R (non0ind): new function using new C code
624            * src/dgCMatrix.c (compressed_non_0_ij): new utility
625    
626    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
627    
628            * src/chm_common.h: header file required by all C sources that
629            call CHOLMOD functions.  It defines a cholmod_common structure
630            called 'c' whose address is passed as the last argument to
631            (virtually) every CHOLMOD function.
632    
633            * src/Pattern.c: Simple example of the use of CHOLMOD.
634    
635            * src/init.c: initialize and finalize the cholmod_common structure.
636    
637            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
638            LDL and CCOLAMD from the U. of Florida sparse matrix library.
639    
640    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
641    
642            * inst/test-tools.R: new file collecting the utility functions used
643                    in ./tests/*.R
644    
645            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
646            * R/Matrix.R (cbind2): methods for NULL and missing
647    
648    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
649    
650            * R/AllClass.R: new "index" class for "[" and "[<-":
651                    First cut at "symmetricMatrix" and "triangularMatrix"
652            * R/gTMatrix.R (.ind.prep): new function;
653                    Logical and character indexing now work too.
654            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
655            * tests/indexing.R: new, including *.Rout.save
656            * tests/dgTMatrix.R: new
657    
658    2005-08-29  Douglas Bates  <bates@wisc.edu>
659    
660            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
661            indicator pos not being updated.  Also enforced upper triangular
662            for symmetric case.  Need to coerce edges component of elements of
663            edge list - grr! (Why don't they define their classes cleanly?)
664    
665    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
666    
667            * R/Matrix.R:  added first "[<-" methods; not yet functional
668            * R/denseMatrix.R: ditto
669            * man/Subassign-methods.Rd: new help file for these
670    
671    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
672    
673            * DESCRIPTION (Version): 0.98-6
674    
675            * R/denseMatrix.R: new file for "[" fallback methods for all dense
676            matrices.
677    
678    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
679    
680            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
681                    as( <logical>, "matrix")
682    
683            * R/pMatrix.R: coercion to "lgTMatrix"
684    
685            * R/gTMatrix.R: new virtual class to define "[" methods for.
686            * man/gTMatrix-class.Rd:
687            * General slight re-organization of where "[" methods are defined.
688              more to come.
689    
690    2005-08-18  Douglas Bates  <bates@wisc.edu>
691    
692            * DESCRIPTION (Version): 0.98-5  released to CRAN
693    
694            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
695            * .....
696    
697    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
698    
699            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
700            or glmer objects.
701    
702    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
703    
704            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
705    
706    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
707    
708            * R/HBMM.R: finish re-writing R-only code.
709    
710    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
711    
712            * man/externalFormats.Rd: move documentation for writeHB and
713            writeMM here.
714    
715            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
716            (suggested by Paul Roecker).
717    
718            * tests/validObj.R (assertError): Comment out test that is failing
719            after recent changes in r-devel.
720    
721    
722    2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
723    
724            * R/AllClass.R: intermediate virtual class "denseMatrix"
725            * man/denseMatrix-class.Rd
726            * NAMESPACE: export it, and also export
727            * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
728    
729    2005-08-10  Douglas Bates  <bates@wisc.edu>
730    
731            * DESCRIPTION (Version): 0.98-3 to CRAN
732    
733            * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
734            matrix_solve code (which was really, really wrong).
735    
736    2005-08-07  Douglas Bates  <bates@wisc.edu>
737    
738            * DESCRIPTION (Version): 0.98-2
739    
740            * R/HBMM.R (readHB), (readMM): read Matrix Market formats
741    
742            * R/lmer.R (abbrvNms): new
743            * R/lmer.R (mcmcsamp): allow transformed parameters
744            * src/HBMM.c (Matrix_writeMatrixMarket): Added read/write routines
745            for the Harwell-Boeing and the MatrixMarket formats.
746    
747    2005-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
748    
749            * man/dtrMatrix-class.Rd: add examples
750            * man/dtpMatrix-class.Rd: ditto; plus note about PROBLEM
751    
752            * TODO: note the dtpMatrix (docu) bug
753    
754            * R/zzz.R (.onLoad): assignInNamespace("as.matrix", *, "base")
755            in order to ensure that new as.matrix() is used by old functions,
756            e.g., svd(), qr(), eigen(), dist(),..;
757                  apply(), also matplot() or pairs().
758    
759    
760    2005-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
761    
762            * R/lmer.R: add 'fixme' comments and move the linear vs glm check;
763              add comments about 'control' / lmerControl() arguments
764    
765    2005-07-27  Douglas Bates  <bates@wisc.edu>
766    
767            * man/sleepstudy.Rd: Added the sleep data set.
768            * DESCRIPTION (Version): 0.98-1  released to CRAN
769    
770    2005-07-12  Douglas Bates  <bates@wisc.edu>
771            * man/sleepstudy.Rd: Added the sleep data set.
772    
773            * R/lmer.R (glmmMCMC): Added PACKAGE = "Matrix" in a couple of
774            .Call calls that were producing spurious output.
775    
776    2005-07-05  Douglas Bates  <bates@wisc.edu>
777    
778            * R/lmer.R (lmer): stored updated variance component estimates in
779            mer object for the generalized model.  (Bug reported by Renaud
780            Lancelot).
781    
782    2005-07-03  Douglas Bates  <bates@wisc.edu>
783    
784            * src/lmer.c (glmer_devAGQ): Added AGQ for single grouping factor,
785            unidimensional case.
786    
787    2005-06-08  Douglas Bates  <bates@wisc.edu>
788    
789            * DESCRIPTION (Version): 0.96-1
790    
791            * moved  lmer-class' R and C code moved from lme4 to here
792    
793    2005-06-04  Douglas Bates  <bates@wisc.edu>
794    
795            * R/dgCMatrix.R: Call to csc_matrix_mm used undefined arguments
796            (reported by Guissepe Ragusa <gragusa@ucsd.edu>)
797    
798    2005-06-02  Douglas Bates  <bates@wisc.edu>
799    
800            * src/Makefile.win: Forgot to update this when Makefile changed.
801    
802    2005-05-11  Douglas Bates  <bates@wisc.edu>
803    
804            * src/dgCMatrix.c (csc_transpose): Simplified function fixing a
805            bug reported by Kurt Hornik and Michael Hahsler.
806    
807    2005-05-10  Douglas Bates  <bates@wisc.edu>
808    
809            * src/lgCMatrix.c (Matrix_lgClgCmm): Implementation of methods for
810            logical sparse matrices.  These will also be used in the symbolic
811            analysis for lmer objects.
812    
813            * src/dsCMatrix.c (dsCMatrix_matrix_solve): Copied the dimensions
814            of b to the result.  Fixes bug reported by Jean.Coursol@math.u-psud.fr
815    
816    2005-05-06  Douglas Bates  <bates@wisc.edu>
817    
818            * src/dgeMatrix.c (dgeMatrix_colsums): Added an implementation of
819            colMeans, colSums, rowMeans and rowSums.
820    
821    2005-04-18  Douglas Bates  <bates@wisc.edu>
822    
823            * src/lgCMatrix.[ch]: code for _validate method and stub for
824            multiplication operation.
825    
826            * src/dgeMatrix.c (dgeMatrix_matrix_solve): Passing wrong argument
827            to dgetrs.
828    
829            * src/init.c: Fix cut-and-paste error in definition of
830            dgeMatrix_matrix_solve
831    
832            * src/{many files}: Tighten code by using ALLOC_SLOT.
833    
834    2005-04-15  Douglas Bates  <bates@wisc.edu>
835    
836            * R/AllClass.R: Add lgTMatrix and lgCMatrix classes
837    
838            * DESCRIPTION: Eliminate import of stats.
839    
840    
841    2005-04-06  Douglas Bates  <bates@wisc.edu>
842    
843            * R/AllClass.R : add logical sparse matrix classes
844    
845    2005-04-01  Martin Maechler  <maechler@stat.math.ethz.ch>
846    
847            * R/dgTMatrix.R: add "[" method for triplet matrices
848            * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse
849    
850    2005-03-31  Douglas Bates  <bates@wisc.edu>
851    
852            * DESCRIPTION (Version): release 0.95-5 to CRAN
853    
854            * R/dMatrix.R: add %*%, crossprod and solve "fallback" methods
855            * R/sparseMatrix.R: %*%, crossprod()
856            * R/dgeMatrix.R: more "fallback" methods for numeric/dense matrices
857            * man/*.Rd: move method definitions to 'Matrix' and 'dMatrix'
858            * src/lmer.c (lmer_fitted): fix thinko
859    
860    2005-03-26  Martin Maechler  <maechler@stat.math.ethz.ch>
861    
862            * R/AllClass.R: add two virtual sparse classes ``on top''
863    
864    2005-03-24  Martin Maechler  <maechler@stat.math.ethz.ch>
865    
866            * R/AllClass.R (setClass): use "VIRTUAL" for the virtual classes;
867                    correspondingly fix examples and tests/ since new()
868                    doesn't work for virtual classes.
869    
870    2005-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
871    
872            * R/Matrix.R (as.matrix): method and one for unname()
873            * tests/dpoMatrix.R: tests should now be less platform dependent;
874              also run for R 2.1.0; using as.matrix()
875    
876    2005-03-15  Douglas Bates  <bates@wisc.edu>
877    
878            * R/pMatrix.R: "pMatrix" class added
879            * ....
880    
881    2005-03-14  Douglas Bates  <bates@wisc.edu>
882    
883            * R/dtpMatrix.R: Add unpack method and an example.
884    
885            * src/dsyMatrix.c (dsyMatrix_trf): Add BunchKaufman factorization
886            of general symmetric matrices and associated S4 methods.
887    
888    2005-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
889            +
890    2005-03-05  Martin Maechler  <maechler@stat.math.ethz.ch>
891    
892            * R/dgeMatrix.R (setAs): and many other files: more coercion,
893              crossprod() and "%*%" methods added; tests, too.
894            * tests/matprod.R: new, for testing these
895    
896    2005-03-03  Douglas Bates  <bates@wisc.edu>
897    
898            * src/lmer.c (lmer_fitted): Added.
899    
900    2005-03-02  Douglas Bates  <bates@wisc.edu>
901    
902            * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix
903    
904    2005-02-28  Douglas Bates  <bates@wisc.edu>
905    
906            * src/*.c,po/,inst/po: Internationalization and localization of
907            the package.
908    
909            * src/ldl.[ch]: Removed these as their contents are referenced in the
910            R_ldl.c file.
911    
912            * src/flame.[ch]: Removed these source files.
913    
914            * src/dtrMatrix.c (make_array_triangular): Move to Mutils
915    
916            * src/LU.[ch],src/init.c: absorb in factorizations
917    
918            * src/Mutils.h: prepare for internationalization
919    
920            * src/cblas.h: move the enum definitions to Mutils.h and remove
921            this file
922    
923    2005-02-26  Martin Maechler  <maechler@stat.math.ethz.ch>
924    
925            * R/dgeMatrix.R: provide "dimnames" and "dimnames<-" methods
926    
927            * R/dtrMatrix.R: fix t() method
928    
929            * R/dgeMatrix.R: define group methods "Arith", "Math", "Math2"
930            * NAMESPACE: export them (and import generics from "methods")
931            * tests/group-methods.R : and test them.
932    
933            * src/dtrMatrix.c (dtrMatrix_as_dgeMatrix): prevent seg.fault in
934            border case
935    
936    2005-02-24  Douglas Bates  <bates@stat.wisc.edu>
937    
938            * DESCRIPTION (Version): 0.95-2  released to CRAN
939    
940            * src/dgBCMatrix.c:
941            * src/lmer.c: many changes
942            * ...
943    
944    2005-02-04  Martin Maechler  <maechler@stat.math.ethz.ch>
945    
946            * R/Matrix.R: add more sophisticated show() method.
947    
948    2005-02-02  Douglas Bates  <bates@stat.wisc.edu>
949    
950            * */* : almost complete reorganization of classes.
951    
952    2005-01-26  Douglas Bates  <bates@wisc.edu>
953    
954            * R/AllGeneric.R: Added matrix exponential generic expm and a method
955            for the geMatrix class.
956    
957    2005-01-24  Douglas Bates  <bates@wisc.edu>
958    
959            * src/Makefile (clean): Remove *.a and *.so
960    
961            * man/cscBlocked-class.Rd: Remove reference to the lmer-class.
962    
963    2005-01-23  Douglas Bates  <bates@wisc.edu>
964    
965            * src/lmer.c (Lind): Definition of Lind was backwards.  This only
966            had an effect in cases with more than 2 grouping factors.
967    
968    2005-01-03  Douglas Bates  <bates@wisc.edu>
969    
970            * src/lmeRep.c (lmer_variances): change from lmeRep to lmer
971    
972    2004-12-23  Douglas Bates  <bates@wisc.edu>
973    
974            * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines
975            and R_useDynamicSymbols (suggested by B.D.Ripley).
976    
977    2004-12-14  Douglas Bates  <bates@wisc.edu>
978    
979          * R/sscMatrix.R: Add determinant methods          * R/sscMatrix.R: Add determinant methods
980    
981          * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion          * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion
982          for tripletMatrix to matrix.          for tripletMatrix to matrix.
983    
984  2004-12-13  Douglas Bates  <bates@bates1-home>  2004-12-13  Douglas Bates  <bates@wisc.edu>
985    
986          * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is          * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is
987          no longer used.          no longer used.
# Line 17  Line 993 
993          for multivariate random effects with multiple grouping factors.          for multivariate random effects with multiple grouping factors.
994          Fixes part but not all of #15.          Fixes part but not all of #15.
995    
996  2004-12-03  Douglas Bates  <bates@bates1-home>  2004-12-03  Douglas Bates  <bates@wisc.edu>
997    
998          * src/lmeRep.c (lmeRep_factor): order of operations for multiple          * src/lmeRep.c (lmeRep_factor): order of operations for multiple
999          scalar grouping factors corrected.          scalar grouping factors corrected.
1000    
1001  2004-11-29  Douglas Bates  <bates@bates1-home>  2004-11-29  Douglas Bates  <bates@wisc.edu>
1002    
1003          * src/bCrosstab.c: remove diag_update which is no longer used          * src/bCrosstab.c: remove diag_update which is no longer used
1004    
1005  2004-11-16  Douglas Bates  <bates@bates1-home>  2004-11-16  Douglas Bates  <bates@wisc.edu>
1006    
1007          * src/Metis_utils.c: Move metis.h include to C sources so that the          * src/Metis_utils.c: Move metis.h include to C sources so that the
1008          .h file can be included.          .h file can be included.
1009    
1010  2004-11-12  Douglas Bates  <bates@bates1-home>  2004-11-12  Douglas Bates  <bates@wisc.edu>
1011    
1012          * src/LU.c,geMatrix.c,trMatrix.c, etc.:          * src/LU.c,geMatrix.c,trMatrix.c, etc.:
1013          Complete allocation of slots in NEW_OBJECT.          Complete allocation of slots in NEW_OBJECT.
1014    
1015          * src/Mutils.h: Moved list of symbols to an include file          * src/Mutils.h: Moved list of symbols to an include file
1016    
1017  2004-11-11  Douglas Bates  <bates@bates1-home>  2004-11-11  Douglas Bates  <bates@wisc.edu>
1018    
1019          * src/geMutils.c (Matrix_init): remove unused function          * src/geMutils.c (Matrix_init): remove unused function
1020    
1021  2004-11-10  Douglas Bates  <bates@bates1-home>  2004-11-10  Douglas Bates  <bates@wisc.edu>
1022    
1023          * src/cscMatrix.c (csc_to_imagemat): removed unused function          * src/cscMatrix.c (csc_to_imagemat): removed unused function
1024    
1025  2004-11-05  Douglas Bates  <bates@bates1-home>  2004-11-05  Douglas Bates  <bates@wisc.edu>
1026    
1027          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile
1028    
1029  2004-10-27  Douglas Bates  <bates@bates1-home>  2004-10-27  Douglas Bates  <bates@wisc.edu>
1030    
1031          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls
1032    
1033  2004-10-04  Douglas Bates  <bates@bates1-home>  2004-10-04  Douglas Bates  <bates@wisc.edu>
1034    
1035          * src/init.c: Created R_init_Matrix and added registration of C          * src/init.c: Created R_init_Matrix and added registration of C
1036          routines.          routines.
1037    
1038  2004-10-02  Douglas Bates  <bates@bates1-home>  2004-10-02  Douglas Bates  <bates@wisc.edu>
1039    
1040          * R/tripletMatrix.R: Force a require(lattice) for the image methods.          * R/tripletMatrix.R: Force a require(lattice) for the image methods.
1041    
1042  2004-06-15  Douglas Bates  <bates@bates7>  2004-06-15  Douglas Bates  <bates@wisc.edu>
1043    
1044          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.
1045    

Legend:
Removed from v.392  
changed lines
  Added in v.1431

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge