Overview Schemas Index

MATHEMATICAL_FUNCTIONS_SCHEMA (jsdai.SMathematical_functions_schema)


FUNCTION regular_indexing
          (sub : LIST [0:?] OF INTEGER, base : zero_or_one, shape : LIST [1:?] OF positive_integer, inc : LIST [1:?] OF INTEGER, first : INTEGER) : INTEGER;

 LOCAL k : INTEGER  ; index : INTEGER ; END_LOCAL ; IF  NOT  EXISTS  ( sub ) OR  NOT  EXISTS  ( base ) OR  NOT  EXISTS  ( shape ) OR  NOT  EXISTS  ( inc ) OR  NOT  EXISTS  ( first ) THEN  RETURN  ( ? ) ; END_IF  ; IF  ( SIZEOF  ( sub ) <> SIZEOF  ( inc ) ) OR  ( SIZEOF  ( sub ) <> SIZEOF  ( shape ) ) THEN  RETURN  ( ? ) ; END_IF  ; index := first ; REPEAT j := 1 TO SIZEOF ( sub ) ; IF  NOT  EXISTS  ( sub [ j ] ) OR NOT  EXISTS ( inc [ j ] ) THEN  RETURN  ( ? ) ; END_IF  ; k := sub [ j ] - base ; IF NOT ( { 0 <= k < shape [ j ] } ) THEN RETURN  ( ? ) ; END_IF ; index := index + k * inc [ j ] ; END_REPEAT ; RETURN ( index ) ; 

END_FUNCTION; -- regular_indexing

public class FRegular_indexing
          public static Value run(SdaiContext _context, Value sub, Value base, Value shape, Value inc, Value first)