MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / addFunctionVecBit

Function addFunctionVecBit

src/builtin/module_builtin_vector.cpp:49–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47 // built-in numeric types
48 template <typename TT>
49 void addFunctionVecBit(Module & mod, const ModuleLibrary & lib) {
50 // policy ret arg1 arg2 name
51 // mod.addFunction( (new BuiltInFn<Sim_BinNot<TT>, TT, TT>("~", lib)) );
52 mod.addFunction( (new BuiltInFn<Sim_BinAnd<TT>, TT, TT, TT>("&", lib, "BinAnd")) );
53 mod.addFunction( (new BuiltInFn<Sim_BinOr<TT>, TT, TT, TT>("|", lib, "BinOr")) );
54 mod.addFunction( (new BuiltInFn<Sim_BinXor<TT>, TT, TT, TT>("^", lib, "BinXor")) );
55 mod.addFunction( (new BuiltInFn<Sim_BinShl<TT>, TT, TT, int32_t>("<<", lib, "BinShl")) );
56 mod.addFunction( (new BuiltInFn<Sim_BinShr<TT>, TT, TT, int32_t>(">>", lib, "BinShr")) );
57 mod.addFunction( (new BuiltInFn<Sim_SetBinAnd<TT>, void, TT&, TT>("&=", lib, "SetBinAnd"))
58 ->setSideEffects(SideEffects::modifyArgument) );
59 mod.addFunction( (new BuiltInFn<Sim_SetBinOr<TT>, void, TT&, TT>("|=", lib, "SetBinOr"))
60 ->setSideEffects(SideEffects::modifyArgument) );
61 mod.addFunction( (new BuiltInFn<Sim_SetBinXor<TT>, void, TT&, TT>("^=", lib, "SetBinXor"))
62 ->setSideEffects(SideEffects::modifyArgument) );
63 mod.addFunction( (new BuiltInFn<Sim_SetBinShl<TT>, void, TT&, int32_t>("<<=", lib, "SetBinShl"))
64 ->setSideEffects(SideEffects::modifyArgument) );
65 mod.addFunction( (new BuiltInFn<Sim_SetBinShr<TT>, void, TT&, int32_t>(">>=", lib, "SetBinShr"))
66 ->setSideEffects(SideEffects::modifyArgument) );
67 }
68
69 void Module_BuiltIn::addVectorTypes(ModuleLibrary & lib) {
70 // float2

Callers

nothing calls this directly

Calls 2

setSideEffectsMethod · 0.80
addFunctionMethod · 0.45

Tested by

no test coverage detected