Author: celestin Date: Tue Oct 23 06:04:09 2012 New Revision: 1401171 URL: http://svn.apache.org/viewvc?rev=1401171&view=rev Log: Maxima scripts to generate reference values for the gamma and logGamma functions.
Added: commons/proper/math/trunk/src/test/maxima/ commons/proper/math/trunk/src/test/maxima/special/ commons/proper/math/trunk/src/test/maxima/special/reference/ commons/proper/math/trunk/src/test/maxima/special/reference/gamma.mac commons/proper/math/trunk/src/test/maxima/special/reference/logGamma.mac Modified: commons/proper/math/trunk/pom.xml Modified: commons/proper/math/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/pom.xml?rev=1401171&r1=1401170&r2=1401171&view=diff ============================================================================== --- commons/proper/math/trunk/pom.xml (original) +++ commons/proper/math/trunk/pom.xml Tue Oct 23 06:04:09 2012 @@ -434,5 +434,18 @@ </plugin> </plugins> </reporting> + <profiles> + <profile> + <id>fast</id> + <properties> + <skipTests>true</skipTests> +<!-- <maven.javadoc.skip>true</maven.javadoc.skip>--> + <maven.clover.skip>true</maven.clover.skip> + <cobertura.skip>true</cobertura.skip> + <findbugs.skip>true</findbugs.skip> + <pmd.skip>true</pmd.skip> + </properties> + </profile> + </profiles> </project> Added: commons/proper/math/trunk/src/test/maxima/special/reference/gamma.mac URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/maxima/special/reference/gamma.mac?rev=1401171&view=auto ============================================================================== --- commons/proper/math/trunk/src/test/maxima/special/reference/gamma.mac (added) +++ commons/proper/math/trunk/src/test/maxima/special/reference/gamma.mac Tue Oct 23 06:04:09 2012 @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This script generates reference ("exact") values for the gamma function. + * The generated values are stored sequentially in a binary file, as follows + * x[0], f(x[0]), x[1], f(x[1]), ... + * where f is the function being sampled. + */ +kill(all); + +fpprec : 64; +f(x) := gamma(x); + +sample(x, name) := block( + y : [], + for i : 1 while i <= length(x) do y : endcons(float(f(x[i])), y), + xy : join(float(x), y), + stream : openw_binary(name), + write_binary_data(xy, stream), + close(stream) + ); + +x : makelist(bfloat(i / 1024), i, -5119, -4097); +sample(x, "gamma-01.dat"); + +x : makelist(bfloat(i / 1024), i, -4095, -3073); +sample(x, "gamma-02.dat"); + +x : makelist(bfloat(i / 1024), i, -3071, -2049); +sample(x, "gamma-03.dat"); + +x : makelist(bfloat(i / 1024), i, -2047, -1025); +sample(x, "gamma-04.dat"); + +x : makelist(bfloat(i / 1024), i, -1023, -1); +sample(x, "gamma-05.dat"); + +x : makelist(bfloat(i / 1024), i, 1, 8192); +sample(x, "gamma-06.dat"); + +x : makelist(bfloat(i / 64), i, 513, 9024); +sample(x, "gamma-07.dat"); + + + + + + Added: commons/proper/math/trunk/src/test/maxima/special/reference/logGamma.mac URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/maxima/special/reference/logGamma.mac?rev=1401171&view=auto ============================================================================== --- commons/proper/math/trunk/src/test/maxima/special/reference/logGamma.mac (added) +++ commons/proper/math/trunk/src/test/maxima/special/reference/logGamma.mac Tue Oct 23 06:04:09 2012 @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This script generates reference ("exact") values for the logGamma function. + * The generated values are stored sequentially in a binary file, as follows + * x[0], f(x[0]), x[1], f(x[1]), ... + * where f is the function being sampled. + */ + +kill(all); + +fpprec : 64; +f(x) := log(gamma(x)); + +sample(x, name) := block( + y : [], + for i : 1 while i <= length(x) do y : endcons(float(f(x[i])), y), + xy : join(float(x), y), + stream : openw_binary(name), + write_binary_data(xy, stream), + close(stream) + ); + +x : append(makelist(bfloat(i / 1024), i, 1, 8192)); +sample(x, "logGamma-01.dat"); + +x : makelist(bfloat(i / 8), i, 65, 8192); +sample(x, "logGamma-02.dat"); + +x : makelist(bfloat(i), i, 1025, 8192); +sample(x, "logGamma-03.dat"); + +x : makelist(bfloat(2**(i / 8)), i, 105, 8112); +sample(x, "logGamma-04.dat"); \ No newline at end of file