MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
tnumber_mathfuncs.c File Reference

Mathematical operators (+, -, *, /) and functions (round, degrees, ...) for temporal numbers. More...

#include "temporal/tnumber_mathfuncs.h"
#include <assert.h>
#include <math.h>
#include <postgres.h>
#include <utils/float.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/lifting.h"
#include "temporal/tinstant.h"
#include "temporal/tsequence.h"
#include "temporal/type_util.h"

Functions

static Datum angular_difference (Datum degrees1, Datum degrees2)
 Return the angular difference, i.e., the smaller angle between the two degree values. More...
 
Temporalarithop_tnumber_number (const Temporal *temp, Datum value, TArithmetic oper, Datum(*func)(Datum, Datum, meosType), bool invert)
 Generic arithmetic operator on a temporal number and a number. More...
 
Temporalarithop_tnumber_tnumber (const Temporal *temp1, const Temporal *temp2, TArithmetic oper, Datum(*func)(Datum, Datum, meosType), tpfunc_temp tpfunc)
 Generic arithmetic operator on two temporal numbers. More...
 
static Datum datum_exp (Datum d)
 Return the exponential of a double. More...
 
static Datum datum_ln (Datum d)
 Return the natural logarithm of a double. More...
 
static Datum datum_log10 (Datum d)
 Return the logarithm base 10 of a double. More...
 
static Datum delta_value (Datum value1, Datum value2, meosType basetype)
 Return the delta value of two numbers. More...
 
double float_exp (double d)
 Return the exponential of a double. More...
 
double float_ln (double d)
 Return the natural logarithm of a double. More...
 
double float_log10 (double d)
 Return the logarithm base 10 of a double. More...
 
int tfloat_arithop_turnpt (Datum start1, Datum end1, Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Find the single timestamptz at which the operation of two temporal float segments is at a local minimum/maximum. More...
 
Temporaltfloat_derivative (const Temporal *temp)
 Return the derivative of a temporal number. More...
 
Temporaltfloat_exp (const Temporal *temp)
 Return the exponential of a double. More...
 
Temporaltfloat_ln (const Temporal *temp)
 Return the natural logarithm of a double. More...
 
Temporaltfloat_log10 (const Temporal *temp)
 Return the natural logarithm of a double. More...
 
TSequencetfloatseq_derivative (const TSequence *seq)
 Return the derivative of a temporal float sequence. More...
 
TSequenceSettfloatseqset_derivative (const TSequenceSet *ss)
 Return the derivative of a temporal float sequence set. More...
 
Temporaltnumber_abs (const Temporal *temp)
 Return the absolute value of a temporal number. More...
 
Temporaltnumber_angular_difference (const Temporal *temp)
 Return the angular difference of a temporal number. More...
 
Temporaltnumber_delta_value (const Temporal *temp)
 Return the delta value of a temporal number. More...
 
TInstanttnumberinst_abs (const TInstant *inst)
 Return the absolute value of a temporal number instant. More...
 
TSequencetnumberseq_abs (const TSequence *seq)
 Return the absolute value of a temporal number sequence. More...
 
TSequencetnumberseq_angular_difference (const TSequence *seq)
 Return the temporal angular difference of a temporal number sequence. More...
 
static int tnumberseq_angular_difference_iter (const TSequence *seq, TInstant **result)
 Return the temporal angular difference of a temporal number. More...
 
TSequencetnumberseq_delta_value (const TSequence *seq)
 Return the delta value of a temporal number sequence. More...
 
static TSequencetnumberseq_iter_abs (const TSequence *seq)
 Return the absolute value of a temporal number sequence. More...
 
static TSequencetnumberseq_linear_abs (const TSequence *seq)
 Return the absolute value of a temporal number sequence. More...
 
TSequenceSettnumberseqset_abs (const TSequenceSet *ss)
 Return the absolute value of a temporal number sequence set. More...
 
TSequencetnumberseqset_angular_difference (const TSequenceSet *ss)
 Return the angular difference of a temporal number sequence set. More...
 
TSequenceSettnumberseqset_delta_value (const TSequenceSet *ss)
 Return the delta value of a temporal number sequence set. More...
 

Detailed Description

Mathematical operators (+, -, *, /) and functions (round, degrees, ...) for temporal numbers.