org.apache.lucene.queries.function.valuesource

## Class DualFloatFunction

- java.lang.Object
- - org.apache.lucene.queries.function.ValueSource
  - - org.apache.lucene.queries.function.valuesource.DualFloatFunction

Direct Known Subclasses:
  DivFloatFunction, PowFloatFunction

    public abstract class DualFloatFunction
    extends ValueSource

Abstract `ValueSource` implementation which wraps two ValueSources and applies an extendible float function to their values.

### Field Summary

Fields
`protected ValueSource` `a`
`protected ValueSource` `b`

### Constructor Summary

Constructors
Constructor and Description
`DualFloatFunction(ValueSource a, ValueSource b)`

### Method Summary

Methods
`void` `createWeight(Map context, IndexSearcher searcher)` Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
`String` `description()` description of field, used in explain()
`boolean` `equals(Object o)`
`protected abstract float` `func(int doc, FunctionValues aVals, FunctionValues bVals)`
`FunctionValues` `getValues(Map context, AtomicReaderContext readerContext)` Gets the values for this reader and the context that was previously passed to createWeight()
`int` `hashCode()`
`protected abstract String` `name()`

### Methods inherited from class org.apache.lucene.queries.function.ValueSource

`getSortField, newContext, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### a

    protected final ValueSource a

#### b

    protected final ValueSource b

### Constructor Detail

#### DualFloatFunction

    public DualFloatFunction(ValueSource a,
                     ValueSource b)

Parameters:
  `a` - the base.
  `b` - the exponent.

### Method Detail

#### name

    protected abstract String name()

#### func

    protected abstract float func(int doc,
             FunctionValues aVals,
             FunctionValues bVals)

#### description

    public String description()

Description copied from class: `ValueSource`
description of field, used in explain()

Specified by:
  `description` in class `ValueSource`

#### getValues

    public FunctionValues getValues(Map context,
                           AtomicReaderContext readerContext)
                             throws IOException

Description copied from class: `ValueSource`
Gets the values for this reader and the context that was previously passed to createWeight()

Specified by:
  `getValues` in class `ValueSource`
Throws:
  `IOException`

#### createWeight

    public void createWeight(Map context,
                    IndexSearcher searcher)
                      throws IOException

Description copied from class: `ValueSource`
Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context. The context object will be passed to getValues() where this info can be retrieved.

Overrides:
  `createWeight` in class `ValueSource`
Throws:
  `IOException`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `ValueSource`

#### equals

    public boolean equals(Object o)

Specified by:
  `equals` in class `ValueSource`