List Generic Operations

Basic operations

Module

Functions

Arithmetic

Module

UTCGP.listnumber_arithmeticModule

Vector to Vector arithmetic or Vector to Number arithmetic by broadcasting.

Exports : bundle_listnumber_arithmetic:

  • sum_broadcast
  • subtract_broadcast
  • mult_broadcast
  • div_broadcast
  • sum_vector
  • subtract_vector
  • mult_vector
  • div_vector
source

Functions

Broadcast

julia> sum_broadcast([1,2,3],10)
3-element Vector{Int64}:
 11
 12
 13
julia> subtract_broadcast([1,2,3],10)
3-element Vector{Int64}:
 -9
 -8
 -7
julia> mult_broadcast([1,2,3],10)
3-element Vector{Int64}:
 10
 20
 30
julia> div_broadcast([1,2,3],10)
3-element Vector{Float64}:
 0.1
 0.2
 0.3
julia> div_broadcast([1,2,3],0)
ERROR: DivideError: integer division error
[...]

Vector

julia> sum_vector([1,2,3],[-1,-2,-3])
3-element Vector{Int64}:
 0
 0
 0
julia> sum_vector([1,2,3],[-1,-2])
ERROR: DimensionMismatch: a has size (3,), b has size (2,), mismatch at dim 1
[...]
julia> subtract_vector([1,2,3],[1,2,3])
3-element Vector{Int64}:
 0
 0
 0
julia> mult_vector([1.,2.,3.],[1,2,3])
3-element Vector{Float64}:
 1.0
 4.0
 9.0
UTCGP.listnumber_arithmetic.div_vectorFunction
div_vector(v1::Vector{<:Number}, v2::Vector{<:Number}, args...)

Element wise division between v1 and v2.

A division always return a float, even if the two elements are integers.

If one element in v2 is 0, it will throw DivideError.

Can throw DimensionMismatch.

source
julia> div_vector([1,2,3],[10,10,10])
3-element Vector{Float64}:
 0.1
 0.2
 0.3
julia> div_vector([1,2,3],[10,10,0])
ERROR: DivideError: integer division error
[...]

Algebraic

Module

Functions

julia> abs_vector([-1,2,3])
3-element Vector{Int64}:
 1
 2
 3

Recursive functions

Module

Functions

UTCGP.listnumber_recursive.recsumFunction
recsum(from::Vector{<:Number}, args...)

Returns the recursive sum of the elements in the vector.

The size of the return is the same as the size of the input.

source
julia> recsum([1,2,3])
3-element Vector{Int64}:
 1
 3
 6
julia> recsum([1.,2.,3.])
3-element Vector{Float64}:
 1.0
 3.0
 6.0
UTCGP.listnumber_recursive.recmultFunction
recmult(init_number::Number, mult_by::Number, n_times::Int, args...)

Multiplies recursively the init_number by mult_by n_times.

Returns the vector holding all the results. The first entry of the vector is returned as is.

source
julia> recmult(2,0.5,3)
4-element Vector{Real}:
 2
 1.0
 0.5
 0.25
julia> range_(3)
3-element Vector{Int64}:
 1
 2
 3
julia> range_(3.0)
3-element Vector{Float64}:
 1.0
 2.0
 3.0