function setValue(ptr, value, type, noSafe) {
  type = type || 'i8';
  if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
    switch(type) {
      case 'i1': HEAP8[(ptr)]=value; break;
      case 'i8': HEAP8[(ptr)]=value; break;
      case 'i16': HEAP16[((ptr)>>1)]=value; break;
      case 'i32': HEAP32[((ptr)>>2)]=value; break;
      case 'i64': (tempI64 = [value>>>0,Math.min(Math.floor((value)/(+(4294967296))), (+(4294967295)))>>>0],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
      case 'float': HEAPF32[((ptr)>>2)]=value; break;
      case 'double': HEAPF64[((ptr)>>3)]=value; break;
      default: abort('invalid type for setValue: ' + type);
    }
}
function setValue(ptr, value, type, noSafe) {
  type = type || 'i8';
  if (type.charAt(type.length-1) === '*') type = 'i32'; 
    switch(type) {
      case 'i1': HEAP8[(ptr)]=value; break;
      case 'i8': HEAP8[(ptr)]=value; break;
      case 'i16': HEAP16[((ptr)>>1)]=value; break;
      case 'i32': HEAP32[((ptr)>>2)]=value; break;
      case 'i64': (tempI64 = [value>>>0,Math.min(Math.floor((value)/(+(4294967296))), (+(4294967295)))>>>0],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
      case 'float': HEAPF32[((ptr)>>2)]=value; break;
      case 'double': HEAPF64[((ptr)>>3)]=value; break;
      default: abort('invalid type for setValue: ' + type);
    }
}
function setValue ( ptr , value , type , noSafe ) { type = type || 'i8' ; if ( type . charAt ( type . length - 1 ) === '*' ) type = 'i32' ; // pointers are 32-bit switch ( type ) { case 'i1' : HEAP8 [ ( ptr ) ] = value ; break ; case 'i8' : HEAP8 [ ( ptr ) ] = value ; break ; case 'i16' : HEAP16 [ ( ( ptr ) >> 1 ) ] = value ; break ; case 'i32' : HEAP32 [ ( ( ptr ) >> 2 ) ] = value ; break ; case 'i64' : ( tempI64 = [ value >>> 0 , Math . min ( Math . floor ( ( value ) / ( + ( 4294967296 ) ) ) , ( + ( 4294967295 ) ) ) >>> 0 ] , HEAP32 [ ( ( ptr ) >> 2 ) ] = tempI64 [ 0 ] , HEAP32 [ ( ( ( ptr ) + ( 4 ) ) >> 2 ) ] = tempI64 [ 1 ] ) ; break ; case 'float' : HEAPF32 [ ( ( ptr ) >> 2 ) ] = value ; break ; case 'double' : HEAPF64 [ ( ( ptr ) >> 3 ) ] = value ; break ; default : abort ( 'invalid type for setValue: ' + type ) ; } }
Sets a value in memory in a dynamic way at run-time. Uses the type data. This is the same as makeSetValue, except that makeSetValue is done at compile-time and generates the needed code then, whereas this function picks the right code at run-time. Note that setValue and getValue only do *aligned* writes and reads! Note that ccall uses JS types as for defining types, while setValue and getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
Sets a value in memory in a dynamic way at run - time . Uses the type data . This is the same as makeSetValue except that makeSetValue is done at compile - time and generates the needed code then whereas this function picks the right code at run - time . Note that setValue and getValue only do * aligned * writes and reads! Note that ccall uses JS types as for defining types while setValue and getValue need LLVM types ( i8 i32 ) - this is a lower - level operation