Positron Compiler Documentation

Log

Positron8 · Revision 4.0.6.5 · PDF page 107

Assignment Variable = Log(pVariable)

Deduce the Natural Logarithm a floating point value

pVariable can be a constant, variable or expression that requires the natural logarithm extracted. Assignment Variable can be any valid variable type.

Device = 18F26K40             ' Select the device to compile for
Declare Xtal = 16  ' Tell the compiler the device will be operating at 16MHz
Declare Hserial_Baud = 9600   ' Set the Baud rate for HRsoutLn

Dim Floatin as Float        ' Holds the value to Log with
Dim Floatout as Float        ' Holds the result of the Log

Floatin = 1                  ' Load the variable
Floatout = Log(Floatin)      ' Extract the Log of the value
HRsoutLn Dec Floatout        ' Display the result
Stop

Log is not implemented with 12, or 14-bit core devices, however, with the extra functionality, and more linear memory offered by the 18F devices, full 32-bit floating point Natural Logarithms are implemented.

Floating point trigonometry is extremely memory hungry, so do not be surprised if a large chunk of the microcontroller’s code memory is used with a single operator. This also means that floating point trigonometry is comparatively slow to operate.

When implementing trigonometry, or other built in, functions within an expression, always wrap them in parenthesis, otherwise the parser may consider the extra operands as part of the trigonometry parameter and produce an incorrect result. For example:

MyAssignment = (Log(MyVar1)) + MyVar2
View original PDF page 107Open page in PDFOriginal PDF page 107