001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018 package org.apache.commons.math.distribution; 019 020 /** 021 * The Zipf (or zeta) Distribution. 022 * <p> 023 * References: 024 * <ul> 025 * <li><a href="http://mathworld.wolfram.com/ZipfDistribution.html">Zipf 026 * Distribution</a></li> 027 * </ul> 028 * </p> 029 * 030 * @version $Revision: 729291 $ $Date: 2008-12-24 05:47:53 -0500 (Wed, 24 Dec 2008) $ 031 */ 032 public interface ZipfDistribution extends IntegerDistribution { 033 /** 034 * Get the number of elements (e.g. corpus size) for the distribution. 035 * 036 * @return the number of elements 037 */ 038 public int getNumberOfElements(); 039 040 /** 041 * Set the number of elements (e.g. corpus size) for the distribution. 042 * The parameter value must be positive; otherwise an 043 * <code>IllegalArgumentException</code> is thrown. 044 * 045 * @param n the number of elements 046 * @throws IllegalArgumentException if n ≤ 0 047 */ 048 public void setNumberOfElements(int n); 049 050 /** 051 * Get the exponent characterising the distribution. 052 * 053 * @return the exponent 054 */ 055 public double getExponent(); 056 057 /** 058 * Set the exponent characterising the distribution. 059 * The parameter value must be positive; otherwise an 060 * <code>IllegalArgumentException</code> is thrown. 061 * 062 * @param s the exponent 063 * @throws IllegalArgumentException if s ≤ 0.0 064 */ 065 public void setExponent(double s); 066 }