:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : class Math.Real.Public public Gilda: Real number arithmetic type Complex is &Double precision complex value Real double, &Real part I double :Imaginary part type Scomplex is &Single precision complex value Real single, &Real part I single :Imaginary part type Point is &Double precision Cartesian coordinate X double, &Horiontal Y double :Vertical type Spoint is &Single precision Cartesian coordinate X single, &Horiontal Y single :Vertical type Polar is &Double precision polar coordinate Radius double, &Distance from the origin Angle double :Direction in radians type Spolar is &Single precision polar coordinate Radius single, &Distance from the origin Angle single :Direction in radians global Pi |= 3.14159_26535_89793_23846_26433, &Archimedes Tau |= 6.28318_53071_79586_47692_52867, &2 * Pi E |= 2.71828_18284_59045_23536_02874, &Euler-Napier Ln2 |= 0.69314_71805_59945_30941_72321, &Napier Gamma |= 0.57721_56649_01532_86060_65120, &Euler-Mascheroni Radian |= 0.01745_32925_19943_29576_92369, &Radains per degree Degree |= 57.29577_95130_82320_87679_81548, &Degrees per radian & To.Radian( .Degree ) => .Degree * Radian, &Degrees to Radains To.Degree( .Radian ) => .Radian * Degree :Radains to Degrees : :............................................................................... :::::::::::::::::::::::::: Math.Complex..Complex :::::::::::::::::::::::::::::: : method COMPLEX..Complex: Set the parts of a Complex number. exit Complex :Complex result entry Real = 0 Complex, &Real part I = 0 Complex :Imaginary part : :............................................................................... : function FORM..Complex: Format a complex number as: Real+Imginary*i entry Complex, &Complex value Format = "" string :Real number format exit Form string :String containing the formatted complex value : :............................................................................... : function PLUS..Complex: Complex addition entry Complex, &Complex value Addend Complex :Complex value to add exit Plus Complex :Complex + Addend : :............................................................................... : function MINUS..Complex: Complex subtraction entry Complex, &Complex value Delta Complex :Complex value to subtract exit Minus Complex :Complex - Delta : :............................................................................... : function TIMES..Complex: Complex multiplication entry Complex, &Complex value Multiplier Complex :Complex value exit Times Complex :Complex * Multiplier : :............................................................................... : function DIVIDE..Complex: Complex division entry Complex, &Numerator Divisor Complex :Divisor exit Quotient Complex :Complex / Divisor : :............................................................................... : function SCALE..Complex: A complex number times a real number. entry Complex, &Complex value Real double :Real Value exit Scale Complex :Complex * Real : :............................................................................... : function SQUARE..Complex: Square of a complex number entry Complex :Complex value exit Square Complex :Complex * Complex : :............................................................................... : function PRINCIPLE.ROOT..Complex: Complex square root entry Complex :Complex value exit Root Complex :root( Complex ) : :............................................................................... : function RECIPROCAL..Complex: Complex reciprocal entry Complex :Complex value exit Reciprocal Complex :1 / Complex : :............................................................................... : function CONJUGATE..Complex: Reflection about the real axis. entry Complex :Complex value exit Conjugate Complex :Complex value with negated imaginary part : :............................................................................... : function MODULUS..Complex: Length of a vector from the origin to a complex value. entry Complex :Complex value exit Modulus double :Complex length : :............................................................................... : function PHASE..Complex: Angle to the real axis of a line drawn from origin : to the point represented by the complex number. entry Complex :Complex value exit Phase double :Complex phase : :............................................................................... :::::::::::::::::::::::::: Math.Complex..Scomplex ::::::::::::::::::::::::::::: : method COMPLEX..Scomplex: Set the parts of a Complex number. exit Scomplex :Complex result entry Real = 0 Scomplex, &Real part I = 0 Scomplex :Imaginary part : :............................................................................... : function FORM..Scomplex: Format a complex number as: Real+Imginary*i entry Scomplex, &Complex value Format = "" string :Real number format exit Form string :String containing the formatted complex value : :............................................................................... : function PLUS..Scomplex: Complex addition entry Scomplex, &Complex value Addend Scomplex :Complex value to add exit Plus Scomplex :Complex + Addend : :............................................................................... : function MINUS..Scomplex: Complex subtraction entry Scomplex, &Complex value Delta Scomplex :Complex value to subtract exit Minus Scomplex :Complex - Delta : :............................................................................... : function TIMES..Scomplex: Complex multiplication entry Scomplex, &Complex value Multiplier Scomplex :Complex value exit Times Scomplex :Complex * Multiplier : :............................................................................... : function DIVIDE..Scomplex: Complex division entry Scomplex, &Numerator Divisor Scomplex :Divisor exit Quotient Scomplex :Complex / Divisor : :............................................................................... : function SCALE..Scomplex: A complex number times a real number. entry Scomplex, &Complex value Real double :Real Value exit Scale Scomplex :Complex * Real : :............................................................................... : function SQUARE..Scomplex: Square of a complex number entry Scomplex :Complex value exit Square Scomplex :Complex * Complex : :............................................................................... : function PRINCIPLE.ROOT..Scomplex: Complex square root entry Scomplex :Complex value exit Root Scomplex :root( Complex ) : :............................................................................... : function RECIPROCAL..Scomplex: Complex reciprocal entry Scomplex :Complex value exit Reciprocal Scomplex :1 / Complex : :............................................................................... : function CONJUGATE..Scomplex: Reflection about the real axis. entry Scomplex :Complex value exit Conjugate Scomplex :Complex value with negated imaginary part : :............................................................................... : function MODULUS..Scomplex: Length of a vector from the origin to a complex value. entry Scomplex :Complex value exit Modulus single :Complex length : :............................................................................... : function PHASE..Scomplex: Angle to the real axis of a line drawn from origin : to the point represented by the complex number. entry Scomplex :Complex value exit Phase single :Complex phase : :............................................................................... :::::::::::::::::::::::::::: Math.Point..point :::::::::::::::::::::::::::::::: : method POINT..Point pure: Initialize a Cartesian coordinate. exit Point :Coordinate to set entry X = 0 double, &Horizontal Y = 0 double :Vertical : :............................................................................... : function FORM..Point: Format a point as: [x, y] entry Point, &Cartesian coordinate to format Format = "(" string :Braces - "(", "[", "{", "<" exit Form string :Formatted Cartesian coordinate : :............................................................................... : function DISTANCE..Point: Distance between two cartesian coordinates entry Point, &Cartesian coordinate To Point :Another point exit Distance double :Distance between them : :............................................................................... : function TO.POLAR..Point: Convert Cartesian coordinates to polar. entry Point :Cartesian point to convert exit Polar :Polar result : :............................................................................... :::::::::::::::::::::::::::: Math.Point..spoint :::::::::::::::::::::::::::::: : function FORM..Spoint: Format a point as: [x, y] entry Point Spoint, &Cartesian coordinate to format Format = "(" string :Braces - "(", "[", "{", "<" exit Form string :Formatted Cartesian coordinate : :............................................................................... : method POINT..Spoint pure: Initialize a Cartesian coordinate. exit Point Spoint :Coordinate to set entry X = 0 single, &Horizontal Y = 0 single :Vertical : :............................................................................... : function DISTANCE..Spoint: Distance between two cartesian coordinates entry Spoint, &Cartesian coordinate To Spoint :Another point exit Distance single :Distance between them : :............................................................................... : function TO.POLAR..Spoint: Convert Cartesian coordinates to polar. entry Spoint :Cartesian point to convert exit Spolar :Polar result : :............................................................................... :::::::::::::::::::::::::::: Math.Polar..polar :::::::::::::::::::::::::::::::: : method POLAR..Polar pure: Initialize a Polar coordinate. exit Polar :Coordinate to set entry Radius = 0 double, &Real radius Angle = 0 double :Real angle in radians : :............................................................................... : function FORM..Polar: Format a Polar point as: [radius, angle] entry Polar, &Polar coordinate to format Format = "(" string :Braces - "(", "[", "{", "<" exit Form string :Formatted Polar coordinate : :............................................................................... : function DISTANCE..Polar: Distance between two polar coordinates entry Polar, &Polar coordinate To Polar :Another polar coordinate exit Distance double :Distance between them : :............................................................................... : function TO.POINT..Polar: Convert polar coordinates to Cartesian. entry Polar :Polar coordinate to convert exit Point :Cartesian point : :............................................................................... :::::::::::::::::::::::::::: Math.Polar..spolar ::::::::::::::::::::::::::::::: : method POLAR..Spolar pure: Initialize a Polar coordinate. entry Radius = 0 single, &Real radius Angle = 0 single :Real angle in radians exit Polar Spolar :Coordinate to set : :............................................................................... : function FORM..Spolar: Format a Polar point as: [radius, angle] entry Polar Spolar, &Polar coordinate to format Format = "(" string :Braces - "(", "[", "{", "<" exit Form string :Formatted Polar coordinate : :............................................................................... : function DISTANCE..Spolar: Distance between two polar coordinates entry Spolar, &Polar coordinate To Spolar :Another polar coordinate exit Distance single :Distance between them : :............................................................................... : function TO.POINT..Spolar: Convert polar coordinates to Cartesian. entry Spolar :Polar coordinate to convert exit Spoint :Cartesian point : :............................................................................... end