/** * @packageDocumentation * @module std */ import { IForwardIterator } from "../iterator/IForwardIterator"; import { General } from "../internal/functional/General"; import { Writeonly } from "../internal/functional/Writeonly"; import { IPointer } from "../functional/IPointer"; /** * Greatest Common Divider. */ export declare function gcd(x: number, y: number): number; /** * Least Common Multiple. */ export declare function lcm(x: number, y: number): number; export declare function iota>>(first: ForwardIterator, last: ForwardIterator, value: number): void; export declare function accumulate, InputIterator>>>(first: InputIterator, last: InputIterator, init: IPointer.ValueType, op?: Operator): IPointer.ValueType; export declare function inner_product, InputIterator1>>, InputIterator2 extends General, InputIterator2>>>(first1: InputIterator1, last1: InputIterator1, first2: InputIterator2, value: IPointer.ValueType, adder?: Operator, multiplier?: Operator): IPointer.ValueType; export declare function adjacent_difference, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, subtracter?: Operator): OutputIterator; export declare function partial_sum, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, adder?: Operator): OutputIterator; export declare function inclusive_scan, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, adder?: Operator, init?: IPointer.ValueType): OutputIterator; export declare function exclusive_scan, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, init: IPointer.ValueType, op?: Operator): OutputIterator; export declare function transform_inclusive_scan, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, binary: Operator, unary: Transformer, init?: IPointer.ValueType): OutputIterator; export declare function transform_exclusive_scan, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>>(first: InputIterator, last: InputIterator, output: OutputIterator, init: IPointer.ValueType, binary: Operator, unary: Transformer): OutputIterator; declare type Operator, Iterator1>>, Iterator2 extends Readonly, Iterator2>>> = (x: IPointer.ValueType, y: IPointer.ValueType) => IPointer.ValueType; declare type Transformer, InputIterator>>, OutputIterator extends Writeonly, OutputIterator>>> = (val: IPointer.ValueType) => IPointer.ValueType; export {}; //# sourceMappingURL=operations.d.ts.map