Real constants and functions: Difference between revisions

From Rosetta Code
Content added Content deleted
(added ocaml)
(added perl and python)
Line 43: Line 43:
ceil x;; (* ceiling *)
ceil x;; (* ceiling *)
x ** y; (* power *)</ocaml>
x ** y; (* power *)</ocaml>

=={{header|Perl}}==
<perl>use POSIX;

sqrt(x); #square root
log(x); #natural logarithm
exp(x); #exponential
abs(x); #absolute value
POSIX::floor(x); #floor
POSIX::ceil(x); #ceiling
x ** y; #power</perl>

=={{header|Python}}==
<python>import math

math.e #e
math.pi #pi
math.sqrt(x) #square root
math.log(x) #natural logarithm--log base 10 also available (math.log10)
math.exp(x) #exponential
abs(x) #absolute value
math.floor(x) #floor
math.ceil(x) #ceiling
x ** y #power</python>

Revision as of 03:23, 7 May 2008

Task
Real constants and functions
You are encouraged to solve this task according to the task description, using any language you may know.

Show how to use the following math constants and functions in your language (if not available, note it):

  • e (Euler's number)
  • pi
  • square root
  • logarithm (any base allowed)
  • exponential (ex)
  • absolute value (a.k.a. "magnitude")
  • floor (largest integer less than this number--not the same as truncate or int)
  • ceiling (smallest integer greater than this number--not the same as round up)
  • power (xy)

See also Trigonometric Functions

BASIC

Works with: QuickBasic version 4.5

<qbasic>abs(x) 'absolute value sqr(x) 'square root exp(x) 'exponential log(x) 'natural logarithm x ^ y 'power 'floor, ceiling, e, and pi not available</qbasic>

Java

All of these functions are in Java's Math class which, does not require any imports: <java>Math.E; //e Math.PI; //pi Math.sqrt(x); //square root--cube root also available (cbrt) Math.log(x); //natural logarithm--log base 10 also available (log10) Math.exp(x); //exponential Math.abs(x); //absolute value Math.floor(x); //floor Math.ceil(x); //ceiling Math.pow(x,y); //power</java>

OCaml

Unless otherwise noted, the following functions are for floats only: <ocaml>sqrt x;; (* square root *) log x;; (* natural logarithm--log base 10 also available (log10) *) exp x;; (* exponential *) abs_float x;; (* absolute value *) abs x;; (* absolute value (for integers) *) floor x;; (* floor *) ceil x;; (* ceiling *) x ** y; (* power *)</ocaml>

Perl

<perl>use POSIX;

sqrt(x); #square root log(x); #natural logarithm exp(x); #exponential abs(x); #absolute value POSIX::floor(x); #floor POSIX::ceil(x); #ceiling x ** y; #power</perl>

Python

<python>import math

math.e #e math.pi #pi math.sqrt(x) #square root math.log(x) #natural logarithm--log base 10 also available (math.log10) math.exp(x) #exponential abs(x) #absolute value math.floor(x) #floor math.ceil(x) #ceiling x ** y #power</python>