kaigouthro

fraction

Library "fraction"
Fraction Creation and Basic Operations.
Cracked a tough problem in making this Polarity Agnostic Decimal without a cheating "abs * sign of input".

it's quite fast, however still test for errors before production use.
>> Big Neon Sign on 1/0 value. <<

  • Int Array (LOC 0/1)..
  • To/From Decimal(float)
  • Comparison ( < / == / >)
  • Add / Sub / Mult / Div
  • Invert polarity +/-
  • String output with 2 formats ..

make(_numerator, _denominator, _val)
  Parameters:
    _numerator: (int) above the line integer ie: ____ of (___ / bottom )
    _denominator: (int) below the line integer ie: ____ of (top / ______ )
    _val: (int) OPTIONAL (for no real reason including it) integer to multiply
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

add(_fraction, _fraction2)
  Perform add operation (left adds right onto )
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

subtract(_fraction, _fraction2)
  Perform subtract operation (left subtracts right from )
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

multiply(_fraction, _fraction2)
  Perform multiply operation (left multiplies by right )
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

divide(_fraction, _fraction2)
  Perform divide operation (left divides by right )
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

negative(_fraction)
  Perform Negative number inversion ie: (-1/2 => 1/2) or (3/5 => -3/5)
  Parameters:
    _fraction: (array<int>) Fraction Object to invert to/from negative
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

isSmaller(_fraction, _fraction2)
  Check if first fraction is smaller
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: True if smaller, false if bigger

isLarger(_fraction, _fraction2)
  Check if first fraction is larger
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: True if smaller, false if bigger

isEqual(_fraction, _fraction2)
  Check if first fraction is equal
  Parameters:
    _fraction: (array<int>) left side Fraction Object
    _fraction2: (array<int>) right side Fraction Object
  Returns: True if smaller, false if bigger

fromDec(_input, _epsilon, _iterations)
  Convert Decimal to Fraction array
  note : this is my own Negative Number Capable (tiny speed loss)
  adaptation of the fastest algo out there
  Exclusive for Tradingview.

  Parameters:
    _input: (float) Decimal Input
    _epsilon: (int) (OPTIONAL) to precision 0's after dec 0.0000 -> epsilon 0's
    _iterations: (int) (OPTIONAL) Maximum iterations Till give up
  Returns: array<int> where index 0 is Numerator, 1 is Denominator

toDec()
  Convert Fraction to Decimal Output
  Returns: Float of fration

toString(_fraction)
  Create "A/B" or "A and B/C" String Value of Fraction.
  Parameters:
    _fraction: (array<int>) Fraction Object to invert to/from negative
  Returns: String as (-)? A and B/C format
مكتبة باين

كمثال للقيم التي تتبناها TradingView، نشر المؤلف شيفرة باين كمكتبة مفتوحة المصدر بحيث يمكن لمبرمجي باين الآخرين من مجتمعنا استخدامه بحرية. تحياتنا للمؤلف! يمكنك استخدام هذه المكتبة بشكل خاص أو في منشورات أخرى مفتوحة المصدر، ولكن إعادة استخدام هذا الرمز في المنشور تحكمه قواعد الموقع.

إخلاء المسؤولية

لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.

هل تريد استخدام هذه المكتبة؟

انسخ النص إلى الحافظة وألصقه في النص البرمجي الخاص بك.