@sschepis/resolang
Version:
ResoLang - Core quantum resonance computation library for browser and Node.js
143 lines • 4.49 kB
TypeScript
import { PrimeValue, SEMANTIC_PRIMES, Transfer, TransferType } from './types.js';
/**
* Check if a number is prime
*/
export declare function isPrime(n: number): boolean;
/**
* Generate first n primes
*/
export declare function generatePrimes(count: number): number[];
/**
* Factorize a number into prime factors
* Returns Map of prime → exponent
*/
export declare function factorize(n: number | bigint): Map<number, number>;
/**
* Compute the product of prime factors
*/
export declare function computeValue(factors: Map<number, number>): bigint;
/**
* Get semantic meanings from a set of prime factors
*/
export declare function getSemantics(factors: Map<number, number>): string[];
/**
* Compute resonance signature from factors
* This is a numeric fingerprint based on prime relationships
*/
export declare function computeSignature(factors: Map<number, number>): number;
/**
* Create a PrimeValue from a numeric amount
*/
export declare function createPrimeValue(amount: number | bigint): PrimeValue;
/**
* Create a PrimeValue from explicit factors
*/
export declare function createPrimeValueFromFactors(factors: Map<number, number> | Record<number, number>): PrimeValue;
/**
* Create a PrimeValue from an array of primes (each appears once)
*/
export declare function createPrimeValueFromPrimes(primes: number[]): PrimeValue;
/**
* Create a zero PrimeValue
*/
export declare function zeroPrimeValue(): PrimeValue;
/**
* Create a unit PrimeValue (value = 1)
*/
export declare function unitPrimeValue(): PrimeValue;
/**
* Multiply two PrimeValues (add exponents)
* a × b = product of factors
*/
export declare function multiplyPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue;
/**
* Divide PrimeValue a by b (subtract exponents)
* Returns null if b does not divide a evenly
*/
export declare function dividePrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue | null;
/**
* Add two PrimeValues
* Converts to numbers, adds, then refactorizes
*/
export declare function addPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue;
/**
* Subtract b from a
* Returns null if result would be negative
*/
export declare function subtractPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue | null;
/**
* Scale a PrimeValue by an integer factor
*/
export declare function scalePrimeValue(v: PrimeValue, factor: number): PrimeValue;
/**
* Raise PrimeValue to a power
*/
export declare function powerPrimeValue(v: PrimeValue, exponent: number): PrimeValue;
/**
* Compare two PrimeValues
* Returns: -1 if a < b, 0 if a === b, 1 if a > b
*/
export declare function comparePrimeValues(a: PrimeValue, b: PrimeValue): -1 | 0 | 1;
/**
* Check if two PrimeValues are equal
*/
export declare function equalsPrimeValue(a: PrimeValue, b: PrimeValue): boolean;
/**
* Check if a >= b
*/
export declare function gte(a: PrimeValue, b: PrimeValue): boolean;
/**
* Check if a > b
*/
export declare function gt(a: PrimeValue, b: PrimeValue): boolean;
/**
* Check if a <= b
*/
export declare function lte(a: PrimeValue, b: PrimeValue): boolean;
/**
* Check if a < b
*/
export declare function lt(a: PrimeValue, b: PrimeValue): boolean;
/**
* Calculate resonance between two PrimeValues
* Returns 0-1 based on shared prime factors
*/
export declare function calculateResonance(a: PrimeValue, b: PrimeValue): number;
/**
* Check if two PrimeValues share a specific semantic
*/
export declare function sharesSemantics(a: PrimeValue, b: PrimeValue, semantic: string): boolean;
/**
* Create a transfer record
*/
export declare function createTransfer(from: string, to: string, amount: PrimeValue, transferType: TransferType, options?: {
contractId?: string;
method?: string;
signature?: string;
}): Transfer;
/**
* Validate a transfer
* Returns { valid: true } or { valid: false, error: string }
*/
export declare function validateTransfer(transfer: Transfer, senderBalance: PrimeValue): {
valid: true;
} | {
valid: false;
error: string;
};
/**
* Serialize PrimeValue for storage/transmission
*/
export declare function serializePrimeValue(v: PrimeValue): string;
/**
* Deserialize PrimeValue from storage/transmission
*/
export declare function deserializePrimeValue(json: string): PrimeValue;
/**
* Convert PrimeValue to display string
*/
export declare function formatPrimeValue(v: PrimeValue, options?: {
showFactors?: boolean;
}): string;
export { SEMANTIC_PRIMES };
//# sourceMappingURL=economy.d.ts.map